/template/starterbootstrap/js/ |
H A D | bootstrap.js | 1213 Tooltip.VERSION = '3.3.0' 1215 Tooltip.TRANSITION_DURATION = 150 1217 Tooltip.DEFAULTS = { 1262 return Tooltip.DEFAULTS 1334 Tooltip.prototype.show = function () { 1586 Tooltip.prototype.tip = function () { 1590 Tooltip.prototype.arrow = function () { 1594 Tooltip.prototype.enable = function () { 1598 Tooltip.prototype.disable = function () { 1606 Tooltip.prototype.toggle = function (e) { [all …]
|
/template/flat/assets/js/ |
H A D | flat.js | 1230 Tooltip.VERSION = '3.3.2' 1232 Tooltip.TRANSITION_DURATION = 150 1234 Tooltip.DEFAULTS = { 1279 return Tooltip.DEFAULTS 1351 Tooltip.prototype.show = function () { 1603 Tooltip.prototype.tip = function () { 1607 Tooltip.prototype.arrow = function () { 1611 Tooltip.prototype.enable = function () { 1615 Tooltip.prototype.disable = function () { 1623 Tooltip.prototype.toggle = function (e) { [all …]
|
/template/klean/bootstrap/js/ |
H A D | bootstrap.js | 1285 Tooltip.VERSION = '3.3.7' 1287 Tooltip.TRANSITION_DURATION = 150 1289 Tooltip.DEFAULTS = { 1339 return Tooltip.DEFAULTS 1429 Tooltip.prototype.show = function () { 1686 Tooltip.prototype.tip = function () { 1696 Tooltip.prototype.arrow = function () { 1700 Tooltip.prototype.enable = function () { 1704 Tooltip.prototype.disable = function () { 1712 Tooltip.prototype.toggle = function (e) { [all …]
|
/template/kajukkk/bs/ |
H A D | bootstrap.js | 1015 Tooltip.VERSION = '3.3.7' 1017 Tooltip.TRANSITION_DURATION = 150 1019 Tooltip.DEFAULTS = { 1069 return Tooltip.DEFAULTS 1159 Tooltip.prototype.show = function () { 1416 Tooltip.prototype.tip = function () { 1426 Tooltip.prototype.arrow = function () { 1430 Tooltip.prototype.enable = function () { 1434 Tooltip.prototype.disable = function () { 1442 Tooltip.prototype.toggle = function (e) { [all …]
|
/template/mywiki/ |
H A D | bootstrap.js | 1285 Tooltip.VERSION = '3.3.7' 1287 Tooltip.TRANSITION_DURATION = 150 1289 Tooltip.DEFAULTS = { 1339 return Tooltip.DEFAULTS 1429 Tooltip.prototype.show = function () { 1686 Tooltip.prototype.tip = function () { 1696 Tooltip.prototype.arrow = function () { 1700 Tooltip.prototype.enable = function () { 1704 Tooltip.prototype.disable = function () { 1712 Tooltip.prototype.toggle = function (e) { [all …]
|
/template/templar/js/ |
H A D | bootstrap-tooltip.js | 30 var Tooltip = function (element, options) { class 34 Tooltip.prototype = { 36 constructor: Tooltip 333 if (!data) $this.data('tooltip', (data = new Tooltip(this, options))) 338 $.fn.tooltip.Constructor = Tooltip
|
/template/parallax/lib/bootstrap/js/ |
H A D | bootstrap.js | 1026 var Tooltip = function (element, options) { class 1030 Tooltip.prototype = { 1032 constructor: Tooltip, init: function (type, element, options) { 1218 if (!data) $this.data('tooltip', (data = new Tooltip(this, options))) 1223 $.fn.tooltip.Constructor = Tooltip
|
/template/mikio/assets/ |
H A D | mikioplugin.less | 113 /* Tooltip */ 231 /* Tooltip */
|
H A D | mikioplugin.css | 113 /* Tooltip */
|
/template/strap/bootstrap/5.0.1/ |
H A D | bootstrap.min.js.map | 1 {"version":3,"sources":["../../js/src/dom/selector-engine.js","../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/base-component.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","getUID","prefix","Math","floor","random","getElementById","getSelector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","getElement","length","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","style","elementStyle","parentNodeStyle","display","visibility","isDisabled","classList","contains","disabled","hasAttribute","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","execute","elementMap","Map","Data","set","key","instance","has","instanceMap","get","size","console","error","Array","from","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","handler","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","this","handlers","previousFn","replace","domElements","target","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","[object Object]","VERSION","Error","Alert","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","_destroyElement","removeChild","each","data","alertInstance","handleDismiss","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","start","pointerType","touches","clientX","move","end","clearTimeout","itemImg","e","add","tagName","indexOf","_getItemByOrder","activeElement","isNext","isPrev","lastItemIndex","itemIndex","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","action","ride","carouselInterface","slideIndex","dataApiClickHandler","carousels","parent","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","boundary","reference","popperConfig","autoClose","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","getParentFromElement","Popper","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","focus","_completeHide","destroy","update","_getPlacement","parentDropdown","isEnd","getPropertyValue","_getOffset","map","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","dropdownInterface","toggles","context","composedPath","isMenuTarget","clickEvent","isActive","stopPropagation","getToggleButton","clearMenus","getInstance","click","dataApiKeydownHandler","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","actualValue","overflow","styleProp","scrollbarWidth","reset","_resetElementAttributes","removeProperty","clickCallback","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","className","appendChild","backdropTransitionDuration","Modal","_dialog","_backdrop","_initializeBackDrop","_isShown","_ignoreBackdropClick","_isAnimated","showEvent","scrollBarHide","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_enforceFocus","_triggerBackdropTransition","_resetAdjustments","scrollBarReset","currentTarget","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","getScrollBarWidth","isBodyOverflowing","paddingLeft","paddingRight","scroll","Offcanvas","_enforceFocusOnElement","blur","undefined","allReadyOpen","el","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","elName","attributeList","allowedAttributes","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","updateAttachment","dataKey","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","tabClass","token","tClass","state","popper","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","complete","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","import SelectorEngine from '../dom/selector-engine'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.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 (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return SelectorEngine.findOne(obj)\n }\n\n return null\n}\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n // eslint-disable-next-line unicorn/consistent-destructuring\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n emulateTransitionEnd,\n execute,\n getElement,\n getTransitionDurationFromElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.1'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n if (!isAnimated) {\n execute(callback)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n EventHandler.one(element, 'transitionend', () => execute(callback))\n\n emulateTransitionEnd(element, transitionDuration)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(element, this.DATA_KEY)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-bs-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASS_NAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(element), element, isAnimated)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\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\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n\n let data = Data.get(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\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 ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\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._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(ORDER_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 && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(ORDER_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n 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 && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\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 = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\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 EventHandler.one(this._element, 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 order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n 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 this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchDeltaX = event.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\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, 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 if (event.key === ARROW_LEFT_KEY) {\n event.preventDefault()\n this._slide(DIRECTION_RIGHT)\n } else if (event.key === ARROW_RIGHT_KEY) {\n event.preventDefault()\n this._slide(DIRECTION_LEFT)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n const isPrev = order === ORDER_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrev && activeIndex === 0) || (isNext && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = isPrev ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\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 this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\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(element, _config)\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\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.get(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${this._element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${this._element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\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 Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-bs-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_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 elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\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 typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n parent = getElement(parent)\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\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]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, 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.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.get(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n isDisabled,\n isElement,\n isVisible,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\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 Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (isDisabled(this._element)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n if (isActive) {\n this.hide()\n return\n }\n\n this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\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)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n this.toggle()\n })\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\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 [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem(event) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n // Up\n if (event.key === ARROW_UP_KEY && index > 0) {\n index--\n }\n\n // Down\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\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]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Data.get(toggles[i], DATA_KEY)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._element.classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\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.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = () => this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n\n if (event.key === ESCAPE_KEY) {\n getToggleButton().focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {\n getToggleButton().click()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n Dropdown.getInstance(getToggleButton())._selectMenuItem(event)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.dropdownInterface(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nconst getWidth = () => {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n}\n\nconst hide = (width = getWidth()) => {\n _disableOverFlow()\n // give padding to element to balances the hidden scrollbar width\n _setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth\n _setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n _setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n}\n\nconst _disableOverFlow = () => {\n const actualValue = document.body.style.overflow\n if (actualValue) {\n Manipulator.setDataAttribute(document.body, 'overflow', actualValue)\n }\n\n document.body.style.overflow = 'hidden'\n}\n\nconst _setElementAttributes = (selector, styleProp, callback) => {\n const scrollbarWidth = getWidth()\n SelectorEngine.find(selector)\n .forEach(element => {\n if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n const actualValue = element.style[styleProp]\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n })\n}\n\nconst reset = () => {\n _resetElementAttributes('body', 'overflow')\n _resetElementAttributes('body', 'paddingRight')\n _resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n _resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n}\n\nconst _resetElementAttributes = (selector, styleProp) => {\n SelectorEngine.find(selector).forEach(element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n })\n}\n\nconst isBodyOverflowing = () => {\n return getWidth() > 0\n}\n\nexport {\n getWidth,\n hide,\n isBodyOverflowing,\n reset\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { emulateTransitionEnd, execute, getTransitionDurationFromElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: document.body, // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: 'element',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = CLASS_NAME_BACKDROP\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n config.rootElement = config.rootElement || document.body\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.appendChild(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._getElement().parentNode.removeChild(this._element)\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n if (!this._config.isAnimated) {\n execute(callback)\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement())\n EventHandler.one(this._getElement(), 'transitionend', () => execute(callback))\n emulateTransitionEnd(this._getElement(), backdropTransitionDuration)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport { getWidth as getScrollBarWidth, hide as scrollBarHide, reset as scrollBarReset } from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\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._isAnimated()) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n scrollBarHide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, event => this.hide(event))\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === 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 = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n super.dispose()\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 EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || 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.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n scrollBarReset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, 'transitionend')\n EventHandler.one(this._element, 'transitionend', () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, 'transitionend', () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = getScrollBarWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getInstance(this) || new Modal(this, typeof config === 'object' ? config : {})\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n const data = Modal.getInstance(target) || new Modal(target)\n\n data.toggle(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport { hide as scrollBarHide, reset as scrollBarReset } from './util/scrollbar'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"offcanvas\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\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) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n scrollBarHide()\n this._enforceFocusOnElement(this._element)\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n EventHandler.off(document, EVENT_FOCUSIN)\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n scrollBarReset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n super.dispose()\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _enforceFocusOnElement(element) {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n element !== event.target &&\n !element.contains(event.target)) {\n element.focus()\n }\n })\n element.focus()\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.get(this, DATA_KEY) || new Offcanvas(this, typeof config === 'object' ? config : {})\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Data.get(target, DATA_KEY) || new Offcanvas(target)\n\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => (Data.get(el, DATA_KEY) || new Offcanvas(el)).show())\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attrName)) {\n if (uriAttrs.has(attrName)) {\n return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (!allowlistKeys.includes(elName)) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\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: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\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 CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element)\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._config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\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 context = this._initializeOnDelegatedTarget(event)\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().classList.contains(CLASS_NAME_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 EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip && this.tip.parentNode) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = shadowRoot === null ?\n this._element.ownerDocument.documentElement.contains(this._element) :\n shadowRoot.contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = 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.classList.add(CLASS_NAME_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\n Data.set(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n const customClass = typeof this._config.customClass === 'function' ? this._config.customClass() : this._config.customClass\n if (customClass) {\n tip.classList.add(...customClass.split(' '))\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 [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop)\n })\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState\n\n this._hoverState = null\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_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 [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this._config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (isElement(content)) {\n content = getElement(content)\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this._element.getAttribute('data-bs-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 updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end'\n }\n\n if (attachment === 'left') {\n return 'start'\n }\n\n return attachment\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.get(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n Data.set(event.delegateTarget, dataKey, context)\n }\n\n return context\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: data => this._handlePopperPlacementChange(data)\n }\n ],\n onFirstUpdate: data => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n }\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\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 EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event))\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 EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event))\n EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\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 title = this._element.getAttribute('title')\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '')\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_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 === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context._config.delay.show)\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = context._element.contains(event.relatedTarget)\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_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 === HOVER_STATE_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 const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.container = config.container === false ? document.body : getElement(config.container)\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 typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\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.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData\n\n if (!state) {\n return\n }\n\n this.tip = state.elements.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(state.placement))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, 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 }\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]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\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 offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\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 CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\ [all...] |
H A D | bootstrap.min.js | 6 !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(s){if("default"!==s){var i=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:function(){return t[s]}})}})),e.default=t,Object.freeze(e)}var s=e(t);const i={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const s=[];let i=t.parentNode;for(;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)i.matches(e)&&s.push(i),i=i.parentNode;return s},prev(t,e){let s=t.previousElementSibling;for(;s;){if(s.matches(e))return[s];s=s.previousElementSibling}return[]},next(t,e){let s=t.nextElementSibling;for(;s;){if(s.matches(e))return[s];s=s.nextElementSibling}return[]}},n=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},o=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let s=t.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s="#"+s.split("#")[1]),e=s&&"#"!==s?s.trim():null}return e},r=t=>{const e=o(t);return e&&document.querySelector(e)?e:null},a=t=>{const e=o(t);return e?document.querySelector(e):null},l=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),n=Number.parseFloat(s);return i||n?(e=e.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0},c=t=>{t.dispatchEvent(new Event("transitionend"))},h=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),d=t=>h(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?i.findOne(t):null,u=(t,e)=>{let s=!1;const i=e+5;t.addEventListener("transitionend",(function e(){s=!0,t.removeEventListener("transitionend",e)})),setTimeout(()=>{s||c(t)},i)},g=(t,e,s)=>{Object.keys(s).forEach(i=>{const n=s[i],o=e[i],r=o&&h(o)?"element":null==(a=o)?""+a:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();var a;if(!new RegExp(n).test(r))throw new TypeError(`${t.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${n}".`)})},f=t=>{if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){const e=getComputedStyle(t),s=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==s.display&&"hidden"!==e.visibility}return!1},p=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),m=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?m(t.parentNode):null},_=()=>{},b=t=>t.offsetHeight,v=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},y=()=>"rtl"===document.documentElement.dir,w=t=>{var e;e=()=>{const e=v();if(e){const s=t.NAME,i=e.fn[s];e.fn[s]=t.jQueryInterface,e.fn[s].Constructor=t,e.fn[s].noConflict=()=>(e.fn[s]=i,t.jQueryInterface)}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()},E=t=>{"function"==typeof t&&t()},T=new Map;var A={set(t,e,s){T.has(t)||T.set(t,new Map);const i=T.get(t);i.has(e)||0===i.size?i.set(e,s):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(t,e)=>T.has(t)&&T.get(t).get(e)||null,remove(t,e){if(!T.has(t))return;const s=T.get(t);s.delete(e),0===s.size&&T.delete(t)}};const k=/[^.]*(?=\..*)\.|.*/,L=/\..*/,C=/::\d+$/,D={};let N=1;const S={mouseenter:"mouseover",mouseleave:"mouseout"},O=/^(mouseenter|mouseleave)/i,I=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${N++}`||t.uidEvent||N++}function j(t){const e=x(t);return t.uidEvent=e,D[e]=D[e]||{},D[e]}function P(t,e,s=null){const i=Object.keys(t);for(let n=0,o=i.length;n<o;n++){const o=t[i[n]];if(o.originalHandler===e&&o.delegationSelector===s)return o}return null}function M(t,e,s){const i="string"==typeof e,n=i?s:e;let o=B(t);return I.has(o)||(o=t),[i,n,o]}function H(t,e,s,i,n){if("string"!=typeof e||!t)return;if(s||(s=i,i=null),O.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};i?i=t(i):s=t(s)}const[o,r,a]=M(e,s,i),l=j(t),c=l[a]||(l[a]={}),h=P(c,r,o?s:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=x(r,e.replace(k,"")),u=o?function(t,e,s){return function i(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return n.delegateTarget=r,i.oneOff&&$.off(t,n.type,e,s),s.apply(r,[n]);return null}}(t,s,i):function(t,e){return function s(i){return i.delegateTarget=t,s.oneOff&&$.off(t,i.type,e),e.apply(t,[i])}}(t,s);u.delegationSelector=o?s:null,u.originalHandler=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function R(t,e,s,i,n){const o=P(e[s],i,n);o&&(t.removeEventListener(s,o,Boolean(n)),delete e[s][o.uidEvent])}function B(t){return t=t.replace(L,""),S[t]||t}const $={on(t,e,s,i){H(t,e,s,i,!1)},one(t,e,s,i){H(t,e,s,i,!0)},off(t,e,s,i){if("string"!=typeof e||!t)return;const[n,o,r]=M(e,s,i),a=r!==e,l=j(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void R(t,l,r,o,n?s:null)}c&&Object.keys(l).forEach(s=>{!function(t,e,s,i){const n=e[s]||{};Object.keys(n).forEach(o=>{if(o.includes(i)){const i=n[o];R(t,e,s,i.originalHandler,i.delegationSelector)}})}(t,l,s,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(s=>{const i=s.replace(C,"");if(!a||e.includes(i)){const e=h[s];R(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,s){if("string"!=typeof e||!t)return null;const i=v(),n=B(e),o=e!==n,r=I.has(n);let a,l=!0,c=!0,h=!1,d=null;return o&&i&&(a=i.Event(e,s),i(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(n,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==s&&Object.keys(s).forEach(t=>{Object.defineProperty(d,t,{get:()=>s[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}};class z{constructor(t){(t=d(t))&&(this._element=t,A.set(this._element,this.constructor.DATA_KEY,this))}dispose(){A.remove(this._element,this.constructor.DATA_KEY),$.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,s=!0){if(!s)return void E(t);const i=l(e);$.one(e,"transitionend",()=>E(t)),u(e,i)}static getInstance(t){return A.get(t,this.DATA_KEY)}static get VERSION(){return"5.0.1"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class U extends z{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,s=this._triggerCloseEvent(e);null===s||s.defaultPrevented||this._removeElement(e)}_getRootElement(t){return a(t)||t.closest(".alert")}_triggerCloseEvent(t){return $.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.parentNode&&t.parentNode.removeChild(t),$.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){let e=A.get(this,"bs.alert");e||(e=new U(this)),"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}$.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',U.handleDismiss(new U)),w(U);class q extends z{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){let e=A.get(this,"bs.button");e||(e=new q(this)),"toggle"===t&&e[t]()}))}}function F(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function W(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}$.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');let s=A.get(e,"bs.button");s||(s=new q(e)),s.toggle()}),w(q);const K={setDataAttribute(t,e,s){t.setAttribute("data-bs-"+W(e),s)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+W(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(s=>{let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=F(t.dataset[s])}),e},getDataAttribute:(t,e)=>F(t.getAttribute("data-bs-"+W(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Q={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},X="next",Y="prev",G="left",Z="right";class J extends z{constructor(t,e){super(t),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._indicatorsElement=i.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return V}static get NAME(){return"carousel"}next(){this._isSliding||this._slide(X)}nextWhenVisible(){!document.hidden&&f(this._element)&&this.next()}prev(){this._isSliding||this._slide(Y)}pause(t){t||(this._isPaused=!0),i.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(c(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=i.findOne(".active.carousel-item",this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void $.one(this._element,"slid.bs.carousel",()=>this.to(t));if(e===t)return this.pause(),void this.cycle();const s=t>e?X:Y;this._slide(s,this._items[t])}_getConfig(t){return t={...V,...t},g("carousel",t,Q),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Z:G)}_addEventListeners(){this._config.keyboard&&$.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&($.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),$.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},e=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},s=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};i.find(".carousel-item img",this._element).forEach(t=>{$.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?($.on(this._element,"pointerdown.bs.carousel",e=>t(e)),$.on(this._element,"pointerup.bs.carousel",t=>s(t)),this._element.classList.add("pointer-event")):($.on(this._element,"touchstart.bs.carousel",e=>t(e)),$.on(this._element,"touchmove.bs.carousel",t=>e(t)),$.on(this._element,"touchend.bs.carousel",t=>s(t)))}_keydown(t){/input|textarea/i.test(t.target.tagName)||("ArrowLeft"===t.key?(t.preventDefault(),this._slide(Z)):"ArrowRight"===t.key&&(t.preventDefault(),this._slide(G)))}_getItemIndex(t){return this._items=t&&t.parentNode?i.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const s=t===X,i=t===Y,n=this._getItemIndex(e),o=this._items.length-1;if((i&&0===n||s&&n===o)&&!this._config.wrap)return e;const r=(n+(i?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]}_triggerSlideEvent(t,e){const s=this._getItemIndex(t),n=this._getItemIndex(i.findOne(".active.carousel-item",this._element));return $.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:s})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=i.findOne(".active",this._indicatorsElement);e.classList.remove("active"),e.removeAttribute("aria-current");const s=i.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e<s.length;e++)if(Number.parseInt(s[e].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(t)){s[e].classList.add("active"),s[e].setAttribute("aria-current","true");break}}}_updateInterval(){const t=this._activeElement||i.findOne(".active.carousel-item",this._element);if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(t,e){const s=this._directionToOrder(t),n=i.findOne(".active.carousel-item",this._element),o=this._getItemIndex(n),r=e||this._getItemByOrder(s,n),a=this._getItemIndex(r),l=Boolean(this._interval),c=s===X,h=c?"carousel-item-start":"carousel-item-end",d=c?"carousel-item-next":"carousel-item-prev",u=this._orderToDirection(s);if(r&&r.classList.contains("active"))return void(this._isSliding=!1);if(this._triggerSlideEvent(r,u).defaultPrevented)return;if(!n||!r)return;this._isSliding=!0,l&&this.pause(),this._setActiveIndicatorElement(r),this._activeElement=r;const g=()=>{$.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),b(r),n.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),n.classList.remove("active",d,h),this._isSliding=!1,setTimeout(g,0)};this._queueCallback(t,n,!0)}else n.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,g();l&&this.cycle()}_directionToOrder(t){return[Z,G].includes(t)?y()?t===G?Y:X:t===G?X:Y:t}_orderToDirection(t){return[X,Y].includes(t)?y()?t===Y?G:Z:t===Y?Z:G:t}static carouselInterface(t,e){let s=A.get(t,"bs.carousel"),i={...V,...K.getDataAttributes(t)};"object"==typeof e&&(i={...i,...e});const n="string"==typeof e?e:i.slide;if(s||(s=new J(t,i)),"number"==typeof e)s.to(e);else if("string"==typeof n){if(void 0===s[n])throw new TypeError(`No method named "${n}"`);s[n]()}else i.interval&&i.ride&&(s.pause(),s.cycle())}static jQueryInterface(t){return this.each((function(){J.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=a(this);if(!e||!e.classList.contains("carousel"))return;const s={...K.getDataAttributes(e),...K.getDataAttributes(this)},i=this.getAttribute("data-bs-slide-to");i&&(s.interval=!1),J.carouselInterface(e,s),i&&A.get(e,"bs.carousel").to(i),t.preventDefault()}}$.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",J.dataApiClickHandler),$.on(window,"load.bs.carousel.data-api",()=>{const t=i.find('[data-bs-ride="carousel"]');for(let e=0,s=t.length;e<s;e++)J.carouselInterface(t[e],A.get(t[e],"bs.carousel"))}),w(J);const tt={toggle:!0,parent:""},et={toggle:"boolean",parent:"(string|element)"};class st extends z{constructor(t,e){super(t),this._isTransitioning=!1,this._config=this._getConfig(e),this._triggerArray=i.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`);const s=i.find('[data-bs-toggle="collapse"]');for(let t=0,e=s.length;t<e;t++){const e=s[t],n=r(e),o=i.find(n).filter(t=>t===this._element);null!==n&&o.length&&(this._selector=n,this._triggerArray.push(e))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return tt}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let t,e;this._parent&&(t=i.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===t.length&&(t=null));const s=i.findOne(this._selector);if(t){const i=t.find(t=>s!==t);if(e=i?A.get(i,"bs.collapse"):null,e&&e._isTransitioning)return}if($.trigger(this._element,"show.bs.collapse").defaultPrevented)return;t&&t.forEach(t=>{s!==t&&st.collapseInterface(t,"hide"),e||A.set(t,"bs.collapse",null)});const n=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[n]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(n[0].toUpperCase()+n.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[n]="",this.setTransitioning(!1),$.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[n]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if($.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",b(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t<e;t++){const e=this._triggerArray[t],s=a(e);s&&!s.classList.contains("show")&&(e.classList.add("collapsed"),e.setAttribute("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[t]="",this._queueCallback(()=>{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),$.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...tt,...t}).toggle=Boolean(t.toggle),g("collapse",t,et),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:t}=this._config;t=d(t);const e=`[data-bs-toggle="collapse"][data-bs-parent="${t}"]`;return i.find(e,t).forEach(t=>{const e=a(t);this._addAriaAndCollapsedClass(e,[t])}),t}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const s=t.classList.contains("show");e.forEach(t=>{s?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",s)})}static collapseInterface(t,e){let s=A.get(t,"bs.collapse");const i={...tt,...K.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!s&&i.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(i.toggle=!1),s||(s=new st(t,i)),"string"==typeof e){if(void 0===s[e])throw new TypeError(`No method named "${e}"`);s[e]()}}static jQueryInterface(t){return this.each((function(){st.collapseInterface(this,t)}))}}$.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=K.getDataAttributes(this),s=r(this);i.find(s).forEach(t=>{const s=A.get(t,"bs.collapse");let i;s?(null===s._parent&&"string"==typeof e.parent&&(s._config.parent=e.parent,s._parent=s._getParent()),i="toggle"):i=e,st.collapseInterface(t,i)})})),w(st);const it=new RegExp("ArrowUp|ArrowDown|Escape"),nt=y()?"top-end":"top-start",ot=y()?"top-start":"top-end",rt=y()?"bottom-end":"bottom-start",at=y()?"bottom-start":"bottom-end",lt=y()?"left-start":"right-start",ct=y()?"right-start":"left-start",ht={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},dt={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class ut extends z{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return ht}static get DefaultType(){return dt}static get NAME(){return"dropdown"}toggle(){p(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(p(this._element)||this._menu.classList.contains("show"))return;const t=ut.getParentFromElement(this._element),e={relatedTarget:this._element};if(!$.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)K.setDataAttribute(this._menu,"popper","none");else{if(void 0===s)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:h(this._config.reference)?e=d(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=s.createPopper(e,this._menu,i),n&&K.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>$.on(t,"mouseover",_)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),$.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(p(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){$.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){$.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>$.off(t,"mouseover",_)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),K.removeDataAttribute(this._menu,"popper"),$.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...K.getDataAttributes(this._element),...t},g("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!h(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return i.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return lt;if(t.classList.contains("dropstart"))return ct;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ot:nt:e?at:rt}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem(t){const e=i.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(f);if(!e.length)return;let s=e.indexOf(t.target);"ArrowUp"===t.key&&s>0&&s--,"ArrowDown"===t.key&&s<e.length-1&&s++,s=-1===s?0:s,e[s].focus()}static dropdownInterface(t,e){let s=A.get(t,"bs.dropdown");if(s||(s=new ut(t,"object"==typeof e?e:null)),"string"==typeof e){if(void 0===s[e])throw new TypeError(`No method named "${e}"`);s[e]()}}static jQueryInterface(t){return this.each((function(){ut.dropdownInterface(this,t)}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=i.find('[data-bs-toggle="dropdown"]');for(let s=0,i=e.length;s<i;s++){const i=A.get(e[s],"bs.dropdown");if(!i||!1===i._config.autoClose)continue;if(!i._element.classList.contains("show"))continue;const n={relatedTarget:i._element};if(t){const e=t.composedPath(),s=e.includes(i._menu);if(e.includes(i._element)||"inside"===i._config.autoClose&&!s||"outside"===i._config.autoClose&&s)continue;if(i._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;"click"===t.type&&(n.clickEvent=t)}i._completeHide(n)}}static getParentFromElement(t){return a(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?"Space"===t.key||"Escape"!==t.key&&("ArrowDown"!==t.key&&"ArrowUp"!==t.key||t.target.closest(".dropdown-menu")):!it.test(t.key))return;const e=this.classList.contains("show");if(!e&&"Escape"===t.key)return;if(t.preventDefault(),t.stopPropagation(),p(this))return;const s=()=>this.matches('[data-bs-toggle="dropdown"]')?this:i.prev(this,'[data-bs-toggle="dropdown"]')[0];if("Escape"===t.key)return s().focus(),void ut.clearMenus();e||"ArrowUp"!==t.key&&"ArrowDown"!==t.key?e&&"Space"!==t.key?ut.getInstance(s())._selectMenuItem(t):ut.clearMenus():s().click()}}$.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',ut.dataApiKeydownHandler),$.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",ut.dataApiKeydownHandler),$.on(document,"click.bs.dropdown.data-api",ut.clearMenus),$.on(document,"keyup.bs.dropdown.data-api",ut.clearMenus),$.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),ut.dropdownInterface(this)})),w(ut);const gt=()=>{const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)},ft=(t=gt())=>{pt(),mt("body","paddingRight",e=>e+t),mt(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),mt(".sticky-top","marginRight",e=>e-t)},pt=()=>{const t=document.body.style.overflow;t&&K.setDataAttribute(document.body,"overflow",t),document.body.style.overflow="hidden"},mt=(t,e,s)=>{const n=gt();i.find(t).forEach(t=>{if(t!==document.body&&window.innerWidth>t.clientWidth+n)return;const i=t.style[e],o=window.getComputedStyle(t)[e];K.setDataAttribute(t,e,i),t.style[e]=s(Number.parseFloat(o))+"px"})},_t=()=>{bt("body","overflow"),bt("body","paddingRight"),bt(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),bt(".sticky-top","marginRight")},bt=(t,e)=>{i.find(t).forEach(t=>{const s=K.getDataAttribute(t,e);void 0===s?t.style.removeProperty(e):(K.removeDataAttribute(t,e),t.style[e]=s)})},vt={isVisible:!0,isAnimated:!1,rootElement:document.body,clickCallback:null},yt={isVisible:"boolean",isAnimated:"boolean",rootElement:"element",clickCallback:"(function|null)"};class wt{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&b(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{E(t)})):E(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),E(t)})):E(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...vt,..."object"==typeof t?t:{}}).rootElement=t.rootElement||document.body,g("backdrop",t,yt),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),$.on(this._getElement(),"mousedown.bs.backdrop",()=>{E(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&($.off(this._element,"mousedown.bs.backdrop"),this._getElement().parentNode.removeChild(this._element),this._isAppended=!1)}_emulateAnimation(t){if(!this._config.isAnimated)return void E(t);const e=l(this._getElement());$.one(this._getElement(),"transitionend",()=>E(t)),u(this._getElement(),e)}}const Et={backdrop:!0,keyboard:!0,focus:!0},Tt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class At extends z{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=i.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1}static get Default(){return Et}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||this._isTransitioning)return;this._isAnimated()&&(this._isTransitioning=!0);const e=$.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||e.defaultPrevented||(this._isShown=!0,ft(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),$.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),$.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{$.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if($.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),$.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),$.off(this._element,"click.dismiss.bs.modal"),$.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>$.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),$.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new wt({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...Et,...K.getDataAttributes(this._element),...t},g("modal",t,Tt),t}_showElement(t){const e=this._isAnimated(),s=i.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,s&&(s.scrollTop=0),e&&b(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,$.trigger(this._element,"shown.bs.modal",{relatedTarget:t})},this._dialog,e)}_enforceFocus(){$.off(document,"focusin.bs.modal"),$.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?$.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):$.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?$.on(window,"resize.bs.modal",()=>this._adjustDialog()):$.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),_t(),$.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){$.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if($.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight;t||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");const e=l(this._dialog);$.off(this._element,"transitionend"),$.one(this._element,"transitionend",()=>{this._element.classList.remove("modal-static"),t||($.one(this._element,"transitionend",()=>{this._element.style.overflowY=""}),u(this._element,e))}),u(this._element,e),this._element.focus()}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=gt(),s=e>0;(!s&&t&&!y()||s&&!t&&y())&&(this._element.style.paddingLeft=e+"px"),(s&&!t&&!y()||!s&&t&&y())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const s=At.getInstance(this)||new At(this,"object"==typeof t?t:{});if("string"==typeof t){if(void 0===s[t])throw new TypeError(`No method named "${t}"`);s[t](e)}}))}}$.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=a(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),$.one(e,"show.bs.modal",t=>{t.defaultPrevented||$.one(e,"hidden.bs.modal",()=>{f(this)&&this.focus()})}),(At.getInstance(e)||new At(e)).toggle(this)})),w(At);const kt={backdrop:!0,keyboard:!0,scroll:!1},Lt={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Ct extends z{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return kt}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||$.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(ft(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{$.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&($.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||($.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||_t(),$.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),$.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...kt,...K.getDataAttributes(this._element),..."object"==typeof t?t:{}},g("offcanvas",t,Lt),t}_initializeBackDrop(){return new wt({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){$.off(document,"focusin.bs.offcanvas"),$.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){$.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),$.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=A.get(this,"bs.offcanvas")||new Ct(this,"object"==typeof t?t:{});if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}$.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=a(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),p(this))return;$.one(e,"hidden.bs.offcanvas",()=>{f(this)&&this.focus()});const s=i.findOne(".offcanvas.show");s&&s!==e&&Ct.getInstance(s).hide(),(A.get(e,"bs.offcanvas")||new Ct(e)).toggle(this)})),$.on(window,"load.bs.offcanvas.data-api",()=>{i.find(".offcanvas.show").forEach(t=>(A.get(t,"bs.offcanvas")||new Ct(t)).show())}),w(Ct);const Dt=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Nt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,St=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ot=(t,e)=>{const s=t.nodeName.toLowerCase();if(e.includes(s))return!Dt.has(s)||Boolean(Nt.test(t.nodeValue)||St.test(t.nodeValue));const i=e.filter(t=>t instanceof RegExp);for(let t=0,e=i.length;t<e;t++)if(i[t].test(s))return!0;return!1};function It(t,e,s){if(!t.length)return t;if(s&&"function"==typeof s)return s(t);const i=(new window.DOMParser).parseFromString(t,"text/html"),n=Object.keys(e),o=[].concat(...i.body.querySelectorAll("*"));for(let t=0,s=o.length;t<s;t++){const s=o[t],i=s.nodeName.toLowerCase();if(!n.includes(i)){s.parentNode.removeChild(s);continue}const r=[].concat(...s.attributes),a=[].concat(e["*"]||[],e[i]||[]);r.forEach(t=>{Ot(t,a)||s.removeAttribute(t.nodeName)})}return i.body.innerHTML}const xt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),jt=new Set(["sanitize","allowList","sanitizeFn"]),Pt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Mt={AUTO:"auto",TOP:"top",RIGHT:y()?"left":"right",BOTTOM:"bottom",LEFT:y()?"right":"left"},Ht={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Rt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Bt extends z{constructor(t,e){if(void 0===s)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Ht}static get NAME(){return"tooltip"}static get Event(){return Rt}static get DefaultType(){return Pt}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),$.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode&&this.tip.parentNode.removeChild(this.tip),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=$.trigger(this._element,this.constructor.Event.SHOW),e=m(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;const o=this.getTipElement(),r=n(this.constructor.NAME);o.setAttribute("id",r),this._element.setAttribute("aria-describedby",r),this.setContent(),this._config.animation&&o.classList.add("fade");const a="function"==typeof this._config.placement?this._config.placement.call(this,o,this._element):this._config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);const{container:c}=this._config;A.set(o,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(c.appendChild(o),$.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=s.createPopper(this._element,o,this._getPopperConfig(l)),o.classList.add("show");const h="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;h&&o.classList.add(...h.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{$.on(t,"mouseover",_)});const d=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,$.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,d)}hide(){if(!this._popper)return;const t=this.getTipElement();if($.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>$.off(t,"mouseover",_)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.parentNode&&t.parentNode.removeChild(t),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),$.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const t=this.getTipElement();this.setElementContent(i.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return h(e)?(e=d(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=It(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const s=this.constructor.DATA_KEY;return(e=e||A.get(t.delegateTarget,s))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.set(t.delegateTarget,s,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return Mt[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)$.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,s="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;$.on(this._element,e,this._config.selector,t=>this._enter(t)),$.on(this._element,s,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},$.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=K.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{jt.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:d(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),g("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=It(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(xt);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){let e=A.get(this,"bs.tooltip");const s="object"==typeof t&&t;if((e||!/dispose|hide/.test(t))&&(e||(e=new Bt(this,s)),"string"==typeof t)){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}w(Bt);const $t=new RegExp("(^|\\s)bs-popover\\S+","g"),zt={...Bt.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},Ut={...Bt.DefaultType,content:"(string|element|function)"},qt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Ft extends Bt{static get Default(){return zt}static get NAME(){return"popover"}static get Event(){return qt}static get DefaultType(){return Ut}isWithContent(){return this.getTitle()||this._getContent()}setContent(){const t=this.getTipElement();this.setElementContent(i.findOne(".popover-header",t),this.getTitle());let e=this._getContent();"function"==typeof e&&(e=e.call(this._element)),this.setElementContent(i.findOne(".popover-body",t),e),t.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match($t);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){let e=A.get(this,"bs.popover");const s="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new Ft(this,s),A.set(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}w(Ft);const Wt={offset:10,method:"auto",target:""},Kt={offset:"number",method:"string",target:"(string|element)"};class Vt extends z{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,$.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return Wt}static get NAME(){return"scrollspy"}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":"position",e="auto"===this._config.method?t:this._config.method,s="position"===e?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),i.find(this._selector).map(t=>{const n=r(t),o=n?i.findOne(n):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[K[e](o).top+s,n]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){$.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...Wt,...K.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&h(t.target)){let{id:e}=t.target;e||(e=n("scrollspy"),t.target.id=e),t.target="#"+e}return g("scrollspy",t,Kt),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),s=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=s){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(t){this._activeTarget=t,this._clear();const e=this._selector.split(",").map(e=>`${e}[data-bs-target="${t}"],${e}[href="${t}"]`),s=i.findOne(e.join(","));s.classList.contains("dropdown-item")?(i.findOne(".dropdown-toggle",s.closest(".dropdown")).classList.add("active"),s.classList.add("active")):(s.classList.add("active"),i.parents(s,".nav, .list-group").forEach(t=>{i.prev(t,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),i.prev(t,".nav-item").forEach(t=>{i.children(t,".nav-link").forEach(t=>t.classList.add("active"))})})),$.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){i.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Vt.getInstance(this)||new Vt(this,"object"==typeof t?t:{});if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}$.on(window,"load.bs.scrollspy.data-api",()=>{i.find('[data-bs-spy="scroll"]').forEach(t=>new Vt(t))}),w(Vt);class Qt extends z{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let t;const e=a(this._element),s=this._element.closest(".nav, .list-group");if(s){const e="UL"===s.nodeName||"OL"===s.nodeName?":scope > li > .active":".active";t=i.find(e,s),t=t[t.length-1]}const n=t?$.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if($.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==n&&n.defaultPrevented)return;this._activate(this._element,s);const o=()=>{$.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),$.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,s){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.children(e,".active"):i.find(":scope > li > .active",e))[0],o=s&&n&&n.classList.contains("fade"),r=()=>this._transitionComplete(t,n,s);n&&o?(n.classList.remove("show"),this._queueCallback(r,t,!0)):r()}_transitionComplete(t,e,s){if(e){e.classList.remove("active");const t=i.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),b(t),t.classList.contains("fade")&&t.classList.add("show");let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&i.find(".dropdown-toggle",e).forEach(t=>t.classList.add("active")),t.setAttribute("aria-expanded",!0)}s&&s()}static jQueryInterface(t){return this.each((function(){const e=A.get(this,"bs.tab")||new Qt(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}$.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),p(this)||(A.get(this,"bs.tab")||new Qt(this)).show()})),w(Qt);const Xt={animation:"boolean",autohide:"boolean",delay:"number"},Yt={animation:!0,autohide:!0,delay:5e3};class Gt extends z{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Xt}static get Default(){return Yt}static get NAME(){return"toast"}show(){$.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),b(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),$.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&($.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),$.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...Yt,...K.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},g("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){$.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),$.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),$.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),$.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),$.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){let e=A.get(this,"bs.toast");if(e||(e=new Gt(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return w(Gt),{Alert:U,Button:q,Carousel:J,Collapse:st,Dropdown:ut,Modal:At,Offcanvas:Ct,Popover:Ft,ScrollSpy:Vt,Tab:Qt,Toast:Gt,Tooltip:Bt}}));
|
/template/strap/bootstrap/4.4.1/ |
H A D | bootstrap.min.js.map | 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/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.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","err","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","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","jQueryDetection","TypeError","version","fn","jquery","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","LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","tagName","focus","hasAttribute","setAttribute","toggleClass","button","inputBtn","window","buttons","slice","querySelectorAll","i","len","length","add","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_objectSpread2","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","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","ride","_dataApiClickHandler","slideIndex","carousels","$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","_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","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","HIDE_PREVENTED","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","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","transitionComplete","shownEvent","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this11","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","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","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","text","empty","append","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","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","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","_transitionComplete","active","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): 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 try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\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 findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\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}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): 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.4.1'\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.4.1): 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.4.1'\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_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\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 LOAD_DATA_API : `load${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_TOGGLES\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 } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\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 (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\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\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 let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\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$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\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.4.1): 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.4.1'\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 this.touchDeltaX = 0\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 if (this._config.touch) {\n this._addTouchEventListeners()\n }\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 && _config.ride) {\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.4.1): 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.4.1'\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.4.1): 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.4.1'\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 popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\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 isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\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 // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\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 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 if (this._popper) {\n this._popper.destroy()\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 _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\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\n return {\n ...popperConfig,\n ...this._config.popperConfig\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) {\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 if (context._popper) {\n context._popper.destroy()\n }\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) {\n return\n }\n\n if (!isActive || 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 .filter((item) => $(item).is(':visible'))\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.4.1): 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.4.1'\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 HIDE_PREVENTED : `hidePrevented${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 SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\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 _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\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.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\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 this._triggerBackdropTransition()\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._element.removeAttribute('aria-modal')\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\n this._triggerBackdropTransition()\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.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\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.4.1'\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')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\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|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\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 sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\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 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', this._hideModalHandler)\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) {\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 shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : 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._getContainer()\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, this._getPopperConfig(attachment))\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 if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.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 _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\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 return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\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._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\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 const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\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 if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\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.4.1): 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.4.1'\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 [all...] |
H A D | bootstrap.min.js | 6 !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=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"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 e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?e(Object(r),!0).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}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach(function(t){Object.defineProperty(o,t,Object.getOwnPropertyDescriptor(r,t))})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var n="transitionend";function o(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():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(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){g(t).trigger(n)},supportsTransitionEnd:function(){return Boolean(n)},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&&_.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},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null},jQueryDetection: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")}};_.jQueryDetection(),g.fn.emulateTransitionEnd=o,g.event.special[_.TRANSITION_END]={bindType:n,delegateType:n,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var r="alert",a="bs.alert",c="."+a,h=g.fn[r],f={CLOSE:"close"+c,CLOSED:"closed"+c,CLICK_DATA_API:"click"+c+".data-api"},d="alert",m="fade",p="show",v=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,a),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n=n||g(t).closest("."+d)[0]},t._triggerCloseEvent=function(t){var e=g.Event(f.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(p),g(e).hasClass(m)){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(f.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(a);e||(e=new i(this),t.data(a,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.4.1"}}]),i}();g(document).on(f.CLICK_DATA_API,'[data-dismiss="alert"]',v._handleDismiss(new v)),g.fn[r]=v._jQueryInterface,g.fn[r].Constructor=v,g.fn[r].noConflict=function(){return g.fn[r]=h,v._jQueryInterface};var y="button",E="bs.button",C="."+E,T=".data-api",b=g.fn[y],S="active",D="btn",I="focus",w='[data-toggle^="button"]',A='[data-toggle="buttons"]',N='[data-toggle="button"]',O='[data-toggle="buttons"] .btn',k='input:not([type="hidden"])',P=".active",L=".btn",j={CLICK_DATA_API:"click"+C+T,FOCUS_BLUR_DATA_API:"focus"+C+T+" blur"+C+T,LOAD_DATA_API:"load"+C+T},H=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(k);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(P);o&&g(o).removeClass(S)}else"checkbox"===i.type?"LABEL"===this._element.tagName&&i.checked===this._element.classList.contains(S)&&(t=!1):t=!1;t&&(i.checked=!this._element.classList.contains(S),g(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(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.4.1"}}]),n}();g(document).on(j.CLICK_DATA_API,w,function(t){var e=t.target;if(g(e).hasClass(D)||(e=g(e).closest(L)[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var n=e.querySelector(k);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void t.preventDefault();H._jQueryInterface.call(g(e),"toggle")}}).on(j.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(L)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g(window).on(j.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(O)),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector(k);o.checked||o.hasAttribute("checked")?i.classList.add(S):i.classList.remove(S)}for(var r=0,s=(t=[].slice.call(document.querySelectorAll(N))).length;r<s;r++){var a=t[r];"true"===a.getAttribute("aria-pressed")?a.classList.add(S):a.classList.remove(S)}}),g.fn[y]=H._jQueryInterface,g.fn[y].Constructor=H,g.fn[y].noConflict=function(){return g.fn[y]=b,H._jQueryInterface};var R="carousel",x="bs.carousel",F="."+x,U=".data-api",W=g.fn[R],q={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},M={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",Q="prev",B="left",V="right",Y={SLIDE:"slide"+F,SLID:"slid"+F,KEYDOWN:"keydown"+F,MOUSEENTER:"mouseenter"+F,MOUSELEAVE:"mouseleave"+F,TOUCHSTART:"touchstart"+F,TOUCHMOVE:"touchmove"+F,TOUCHEND:"touchend"+F,POINTERDOWN:"pointerdown"+F,POINTERUP:"pointerup"+F,DRAG_START:"dragstart"+F,LOAD_DATA_API:"load"+F+U,CLICK_DATA_API:"click"+F+U},z="carousel",X="active",$="slide",G="carousel-item-right",J="carousel-item-left",Z="carousel-item-next",tt="carousel-item-prev",et="pointer-event",nt=".active",it=".active.carousel-item",ot=".carousel-item",rt=".carousel-item img",st=".carousel-item-next, .carousel-item-prev",at=".carousel-indicators",lt="[data-slide], [data-slide-to]",ct='[data-ride="carousel"]',ht={TOUCH:"touch",PEN:"pen"},ut=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(at),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(K)},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(st)&&(_.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(it);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?K:Q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(F),g.removeData(this._element,x),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({},q,{},t),_.typeCheckConfig(R,t,M),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;(this.touchDeltaX=0)<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Y.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Y.MOUSEENTER,function(t){return e.pause(t)}).on(Y.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this;if(this._touchSupported){var n=function(t){e._pointerEvent&&ht[t.originalEvent.pointerType.toUpperCase()]?e.touchStartX=t.originalEvent.clientX:e._pointerEvent||(e.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){e._pointerEvent&&ht[t.originalEvent.pointerType.toUpperCase()]&&(e.touchDeltaX=t.originalEvent.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval))};g(this._element.querySelectorAll(rt)).on(Y.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Y.POINTERDOWN,function(t){return n(t)}),g(this._element).on(Y.POINTERUP,function(t){return i(t)}),this._element.classList.add(et)):(g(this._element).on(Y.TOUCHSTART,function(t){return n(t)}),g(this._element).on(Y.TOUCHMOVE,function(t){return function(t){t.originalEvent.touches&&1<t.originalEvent.touches.length?e.touchDeltaX=0:e.touchDeltaX=t.originalEvent.touches[0].clientX-e.touchStartX}(t)}),g(this._element).on(Y.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(ot)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===K,i=t===Q,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===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(it)),o=g.Event(Y.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(nt));g(e).removeClass(X);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(X)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(it),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===K?(n=J,i=Z,B):(n=G,i=tt,V),l&&g(l).hasClass(X))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Y.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass($)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(X),g(s).removeClass(X+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(X),g(l).addClass(X),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(x),e=l({},q,{},g(this).data());"object"==typeof i&&(e=l({},e,{},i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(x,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&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(z)){var i=l({},g(n).data(),{},g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(x).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return q}}]),r}();g(document).on(Y.CLICK_DATA_API,lt,ut._dataApiClickHandler),g(window).on(Y.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ct)),e=0,n=t.length;e<n;e++){var i=g(t[e]);ut._jQueryInterface.call(i,i.data())}}),g.fn[R]=ut._jQueryInterface,g.fn[R].Constructor=ut,g.fn[R].noConflict=function(){return g.fn[R]=W,ut._jQueryInterface};var ft="collapse",dt="bs.collapse",gt="."+dt,_t=g.fn[ft],mt={toggle:!0,parent:""},pt={toggle:"boolean",parent:"(string|element)"},vt={SHOW:"show"+gt,SHOWN:"shown"+gt,HIDE:"hide"+gt,HIDDEN:"hidden"+gt,CLICK_DATA_API:"click"+gt+".data-api"},yt="show",Et="collapse",Ct="collapsing",Tt="collapsed",bt="width",St="height",Dt=".show, .collapsing",It='[data-toggle="collapse"]',wt=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(It)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.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(){g(this._element).hasClass(yt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(yt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Dt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(Et)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(dt))&&e._isTransitioning))){var i=g.Event(vt.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(dt,null));var o=this._getDimension();g(this._element).removeClass(Et).addClass(Ct),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(Tt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(Ct).addClass(Et).addClass(yt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(vt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(yt)){var e=g.Event(vt.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(Ct).removeClass(Et).removeClass(yt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(yt)||g(r).addClass(Tt).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(Ct).addClass(Et).trigger(vt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,dt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},mt,{},t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ft,t,pt),t},t._getDimension=function(){return g(this._element).hasClass(bt)?bt:St},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(yt);e.length&&g(e).toggleClass(Tt,!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(dt),n=l({},mt,{},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(dt,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.4.1"}},{key:"Default",get:function(){return mt}}]),a}();g(document).on(vt.CLICK_DATA_API,It,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(dt)?"toggle":n.data();wt._jQueryInterface.call(t,e)})}),g.fn[ft]=wt._jQueryInterface,g.fn[ft].Constructor=wt,g.fn[ft].noConflict=function(){return g.fn[ft]=_t,wt._jQueryInterface};var At="dropdown",Nt="bs.dropdown",Ot="."+Nt,kt=".data-api",Pt=g.fn[At],Lt=new RegExp("38|40|27"),jt={HIDE:"hide"+Ot,HIDDEN:"hidden"+Ot,SHOW:"show"+Ot,SHOWN:"shown"+Ot,CLICK:"click"+Ot,CLICK_DATA_API:"click"+Ot+kt,KEYDOWN_DATA_API:"keydown"+Ot+kt,KEYUP_DATA_API:"keyup"+Ot+kt},Ht="disabled",Rt="show",xt="dropup",Ft="dropright",Ut="dropleft",Wt="dropdown-menu-right",qt="position-static",Mt='[data-toggle="dropdown"]',Kt=".dropdown form",Qt=".dropdown-menu",Bt=".navbar-nav",Vt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Yt="top-start",zt="top-end",Xt="bottom-start",$t="bottom-end",Gt="right-start",Jt="left-start",Zt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},te={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},ee=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(Ht)){var t=g(this._menu).hasClass(Rt);c._clearMenus(),t||this.show(!0)}},t.show=function(t){if(void 0===t&&(t=!1),!(this._element.disabled||g(this._element).hasClass(Ht)||g(this._menu).hasClass(Rt))){var e={relatedTarget:this._element},n=g.Event(jt.SHOW,e),i=c._getParentFromElement(this._element);if(g(i).trigger(n),!n.isDefaultPrevented()){if(!this._inNavbar&&t){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=i:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(i).addClass(qt),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(i).closest(Bt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Rt),g(i).toggleClass(Rt).trigger(g.Event(jt.SHOWN,e))}}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Ht)&&g(this._menu).hasClass(Rt)){var t={relatedTarget:this._element},e=g.Event(jt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(this._popper&&this._popper.destroy(),g(this._menu).toggleClass(Rt),g(n).toggleClass(Rt).trigger(g.Event(jt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Nt),g(this._element).off(Ot),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(jt.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(At,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=Xt;return t.hasClass(xt)?(e=Yt,g(this._menu).hasClass(Wt)&&(e=zt)):t.hasClass(Ft)?e=Gt:t.hasClass(Ut)?e=Jt:g(this._menu).hasClass(Wt)&&(e=$t),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),l({},t,{},this._config.popperConfig)},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Nt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Nt,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(Mt)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Nt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Rt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(jt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),g(a).removeClass(Rt),g(o).removeClass(Rt).trigger(g.Event(jt.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)):Lt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Ht))){var e=c._getParentFromElement(this),n=g(e).hasClass(Rt);if(n||27!==t.which)if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Vt)).filter(function(t){return g(t).is(":visible")});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(Mt);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Zt}},{key:"DefaultType",get:function(){return te}}]),c}();g(document).on(jt.KEYDOWN_DATA_API,Mt,ee._dataApiKeydownHandler).on(jt.KEYDOWN_DATA_API,Qt,ee._dataApiKeydownHandler).on(jt.CLICK_DATA_API+" "+jt.KEYUP_DATA_API,ee._clearMenus).on(jt.CLICK_DATA_API,Mt,function(t){t.preventDefault(),t.stopPropagation(),ee._jQueryInterface.call(g(this),"toggle")}).on(jt.CLICK_DATA_API,Kt,function(t){t.stopPropagation()}),g.fn[At]=ee._jQueryInterface,g.fn[At].Constructor=ee,g.fn[At].noConflict=function(){return g.fn[At]=Pt,ee._jQueryInterface};var ne="modal",ie="bs.modal",oe="."+ie,re=g.fn[ne],se={backdrop:!0,keyboard:!0,focus:!0,show:!0},ae={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},le={HIDE:"hide"+oe,HIDE_PREVENTED:"hidePrevented"+oe,HIDDEN:"hidden"+oe,SHOW:"show"+oe,SHOWN:"shown"+oe,FOCUSIN:"focusin"+oe,RESIZE:"resize"+oe,CLICK_DISMISS:"click.dismiss"+oe,KEYDOWN_DISMISS:"keydown.dismiss"+oe,MOUSEUP_DISMISS:"mouseup.dismiss"+oe,MOUSEDOWN_DISMISS:"mousedown.dismiss"+oe,CLICK_DATA_API:"click"+oe+".data-api"},ce="modal-dialog-scrollable",he="modal-scrollbar-measure",ue="modal-backdrop",fe="modal-open",de="fade",ge="show",_e="modal-static",me=".modal-dialog",pe=".modal-body",ve='[data-toggle="modal"]',ye='[data-dismiss="modal"]',Ee=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ce=".sticky-top",Te=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(me),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){g(this._element).hasClass(de)&&(this._isTransitioning=!0);var n=g.Event(le.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(le.CLICK_DISMISS,ye,function(t){return e.hide(t)}),g(this._dialog).on(le.MOUSEDOWN_DISMISS,function(){g(e._element).one(le.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(le.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(de);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(le.FOCUSIN),g(this._element).removeClass(ge),g(this._element).off(le.CLICK_DISMISS),g(this._dialog).off(le.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.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 g(t).off(oe)}),g(document).off(le.FOCUSIN),g.removeData(this._element,ie),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({},se,{},t),_.typeCheckConfig(ne,t,ae),t},t._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=g.Event(le.HIDE_PREVENTED);if(g(this._element).trigger(e),e.defaultPrevented)return;this._element.classList.add(_e);var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t._element.classList.remove(_e)}).emulateTransitionEnd(n),this._element.focus()}else this.hide()},t._showElement=function(t){var e=this,n=g(this._element).hasClass(de),i=this._dialog?this._dialog.querySelector(pe):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass(ce)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ge),this._config.focus&&this._enforceFocus();function o(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(r)}var r=g.Event(le.SHOWN,{relatedTarget:t});if(n){var s=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},t._enforceFocus=function(){var e=this;g(document).off(le.FOCUSIN).on(le.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(le.KEYDOWN_DISMISS,function(t){27===t.which&&e._triggerBackdropTransition()}):this._isShown||g(this._element).off(le.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(le.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(le.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(fe),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(le.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(de)?de:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ue,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(le.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ge),!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(ge);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(de)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.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(Ee)),e=[].slice.call(document.querySelectorAll(Ce));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)+o._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)-o._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(fe)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(Ee));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(""+Ce));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=he,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=g(this).data(ie),e=l({},se,{},g(this).data(),{},"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(ie,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.4.1"}},{key:"Default",get:function(){return se}}]),o}();g(document).on(le.CLICK_DATA_API,ve,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(ie)?"toggle":l({},g(e).data(),{},g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(le.SHOW,function(t){t.isDefaultPrevented()||r.one(le.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});Te._jQueryInterface.call(g(e),o,this)}),g.fn[ne]=Te._jQueryInterface,g.fn[ne].Constructor=Te,g.fn[ne].noConflict=function(){return g.fn[ne]=re,Te._jQueryInterface};var be=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Se={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},De=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ie=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function we(t,r,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(r),a=[].slice.call(n.body.querySelectorAll("*")),i=function(t){var e=a[t],n=e.nodeName.toLowerCase();if(-1===s.indexOf(e.nodeName.toLowerCase()))return e.parentNode.removeChild(e),"continue";var i=[].slice.call(e.attributes),o=[].concat(r["*"]||[],r[n]||[]);i.forEach(function(t){!function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===be.indexOf(n)||Boolean(t.nodeValue.match(De)||t.nodeValue.match(Ie));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1}(t,o)&&e.removeAttribute(t.nodeName)})},o=0,l=a.length;o<l;o++)i(o);return n.body.innerHTML}var Ae="tooltip",Ne="bs.tooltip",Oe="."+Ne,ke=g.fn[Ae],Pe="bs-tooltip",Le=new RegExp("(^|\\s)"+Pe+"\\S+","g"),je=["sanitize","whiteList","sanitizeFn"],He={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Re={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},xe={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",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)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(Me))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._hideModalHandler),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=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();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(Pe+"-"+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(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},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._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[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!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?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)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),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?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&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?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&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){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),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(Le);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(qe),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(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,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.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.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>'}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ge),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ge,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.4.1"}},{key:"Default",get:function(){return nn}},{key:"NAME",get:function(){return $e}},{key:"DATA_KEY",get:function(){return Ge}},{key:"Event",get:function(){return cn}},{key:"EVENT_KEY",get:function(){return Je}},{key:"DefaultType",get:function(){return on}}]),i}(Xe);g.fn[$e]=hn._jQueryInterface,g.fn[$e].Constructor=hn,g.fn[$e].noConflict=function(){return g.fn[$e]=Ze,hn._jQueryInterface};var un="scrollspy",fn="bs.scrollspy",dn="."+fn,gn=g.fn[un],_n={offset:10,method:"auto",target:""},mn={offset:"number",method:"string",target:"(string|element)"},pn={ACTIVATE:"activate"+dn,SCROLL:"scroll"+dn,LOAD_DATA_API:"load"+dn+".data-api"},vn="dropdown-item",yn="active",En='[data-spy="scroll"]',Cn=".nav, .list-group",Tn=".nav-link",bn=".nav-item",Sn=".list-group-item",Dn=".dropdown",In=".dropdown-item",wn=".dropdown-toggle",An="offset",Nn="position",On=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+" "+Tn+","+this._config.target+" "+Sn+","+this._config.target+" "+In,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(pn.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?An:Nn,o="auto"===this._config.method?t:this._config.method,r=o===Nn?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)[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(){g.removeData(this._element,fn),g(this._scrollElement).off(dn),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=g(t.target).attr("id");e||(e=_.getUID(un),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(un,t,mn),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=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(vn)?(n.closest(Dn).find(wn).addClass(yn),n.addClass(yn)):(n.addClass(yn),n.parents(Cn).prev(Tn+", "+Sn).addClass(yn),n.parents(Cn).prev(bn).children(Tn).addClass(yn)),g(this._scrollElement).trigger(pn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(yn)}).forEach(function(t){return t.classList.remove(yn)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(fn);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(fn,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.4.1"}},{key:"Default",get:function(){return _n}}]),n}();g(window).on(pn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(En)),e=t.length;e--;){var n=g(t[e]);On._jQueryInterface.call(n,n.data())}}),g.fn[un]=On._jQueryInterface,g.fn[un].Constructor=On,g.fn[un].noConflict=function(){return g.fn[un]=gn,On._jQueryInterface};var kn="bs.tab",Pn="."+kn,Ln=g.fn.tab,jn={HIDE:"hide"+Pn,HIDDEN:"hidden"+Pn,SHOW:"show"+Pn,SHOWN:"shown"+Pn,CLICK_DATA_API:"click"+Pn+".data-api"},Hn="dropdown-menu",Rn="active",xn="disabled",Fn="fade",Un="show",Wn=".dropdown",qn=".nav, .list-group",Mn=".active",Kn="> li > .active",Qn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Bn=".dropdown-toggle",Vn="> .dropdown-menu .active",Yn=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(Rn)||g(this._element).hasClass(xn))){var t,i,e=g(this._element).closest(qn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Kn:Mn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(jn.HIDE,{relatedTarget:this._element}),a=g.Event(jn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(jn.HIDDEN,{relatedTarget:n._element}),e=g.Event(jn.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,kn),this._element=null},t._activate=function(t,e,n){function i(){return o._transitionComplete(t,r,n)}var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Mn):g(e).find(Kn))[0],s=n&&r&&g(r).hasClass(Fn);if(r&&s){var a=_.getTransitionDurationFromElement(r);g(r).removeClass(Un).one(_.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Rn);var i=g(e.parentNode).find(Vn)[0];i&&g(i).removeClass(Rn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Rn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(Fn)&&t.classList.add(Un),t.parentNode&&g(t.parentNode).hasClass(Hn)){var o=g(t).closest(Wn)[0];if(o){var r=[].slice.call(o.querySelectorAll(Bn));g(r).addClass(Rn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(kn);if(e||(e=new i(this),t.data(kn,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.4.1"}}]),i}();g(document).on(jn.CLICK_DATA_API,Qn,function(t){t.preventDefault(),Yn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Yn._jQueryInterface,g.fn.tab.Constructor=Yn,g.fn.tab.noConflict=function(){return g.fn.tab=Ln,Yn._jQueryInterface};var zn="toast",Xn="bs.toast",$n="."+Xn,Gn=g.fn[zn],Jn={CLICK_DISMISS:"click.dismiss"+$n,HIDE:"hide"+$n,HIDDEN:"hidden"+$n,SHOW:"show"+$n,SHOWN:"shown"+$n},Zn="fade",ti="hide",ei="show",ni="showing",ii={animation:"boolean",autohide:"boolean",delay:"number"},oi={animation:!0,autohide:!0,delay:500},ri='[data-dismiss="toast"]',si=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,e=g.Event(Jn.SHOW);if(g(this._element).trigger(e),!e.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Zn);var n=function(){t._element.classList.remove(ni),t._element.classList.add(ei),g(t._element).trigger(Jn.SHOWN),t._config.autohide&&(t._timeout=setTimeout(function(){t.hide()},t._config.delay))};if(this._element.classList.remove(ti),_.reflow(this._element),this._element.classList.add(ni),this._config.animation){var i=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},t.hide=function(){if(this._element.classList.contains(ei)){var t=g.Event(Jn.HIDE);g(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ei)&&this._element.classList.remove(ei),g(this._element).off(Jn.CLICK_DISMISS),g.removeData(this._element,Xn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},oi,{},g(this._element).data(),{},"object"==typeof t&&t?t:{}),_.typeCheckConfig(zn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(Jn.CLICK_DISMISS,ri,function(){return t.hide()})},t._close=function(){function t(){e._element.classList.add(ti),g(e._element).trigger(Jn.HIDDEN)}var e=this;if(this._element.classList.remove(ei),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,t).emulateTransitionEnd(n)}else t()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Xn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Xn,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.4.1"}},{key:"DefaultType",get:function(){return ii}},{key:"Default",get:function(){return oi}}]),i}();g.fn[zn]=si._jQueryInterface,g.fn[zn].Constructor=si,g.fn[zn].noConflict=function(){return g.fn[zn]=Gn,si._jQueryInterface},t.Alert=v,t.Button=H,t.Carousel=ut,t.Collapse=wt,t.Dropdown=ee,t.Modal=Te,t.Popover=hn,t.Scrollspy=On,t.Tab=Yn,t.Toast=si,t.Tooltip=Xe,t.Util=_,Object.defineProperty(t,"__esModule",{value:!0})});
|
/template/argon/assets/js/core/ |
H A D | bootstrap.min.js | 6 …t.Dropdown=j,t.Modal=R,t.Popover=it,t.Scrollspy=lt,t.Tab=ht,t.Toast=gt,t.Tooltip=$,t.Util=c,Object…
|
/template/strap/bootstrap/4.5.0/ |
H A D | bootstrap.min.js | 6 !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=t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"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 o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n;function l(t){var n=this,i=!1;return e(this).one(c.TRANSITION_END,(function(){i=!0})),setTimeout((function(){i||c.triggerTransitionEnd(n)}),t),this}var c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(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():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var n=e(t).css("transition-duration"),i=e(t).css("transition-delay"),o=parseFloat(n),s=parseFloat(i);return o||s?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},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],s=e[i],r=s&&c.isElement(s)?"element":null===(a=s)||"undefined"==typeof a?""+a:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(r))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+r+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof e)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};c.jQueryDetection(),e.fn.emulateTransitionEnd=l,e.event.special[c.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var h="alert",u=e.fn[h],d=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=c.getSelectorFromElement(t),i=!1;return n&&(i=document.querySelector(n)),i||(i=e(t).closest(".alert")[0]),i},n._triggerCloseEvent=function(t){var n=e.Event("close.bs.alert");return e(t).trigger(n),n},n._removeElement=function(t){var n=this;if(e(t).removeClass("show"),e(t).hasClass("fade")){var i=c.getTransitionDurationFromElement(t);e(t).one(c.TRANSITION_END,(function(e){return n._destroyElement(t,e)})).emulateTransitionEnd(i)}else this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.alert");o||(o=new t(this),i.data("bs.alert",o)),"close"===n&&o[n](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),e.fn[h]=d._jQueryInterface,e.fn[h].Constructor=d,e.fn[h].noConflict=function(){return e.fn[h]=u,d._jQueryInterface};var f=e.fn.button,g=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,i=e(this._element).closest('[data-toggle="buttons"]')[0];if(i){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var s=i.querySelector(".active");s&&e(s).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),e(o).trigger("change")),o.focus(),n=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(n&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&e(this._element).toggleClass("active"))},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=t.target,i=n;if(e(n).hasClass("btn")||(n=e(n).closest(".btn")[0]),!n||n.hasAttribute("disabled")||n.classList.contains("disabled"))t.preventDefault();else{var o=n.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"LABEL"===i.tagName&&o&&"checkbox"===o.type&&t.preventDefault(),g._jQueryInterface.call(e(n),"toggle")}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=e(t.target).closest(".btn")[0];e(n).toggleClass("focus",/^focus(in)?$/.test(t.type))})),e(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var s=0,r=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;s<r;s++){var a=t[s];"true"===a.getAttribute("aria-pressed")?a.classList.add("active"):a.classList.remove("active")}})),e.fn.button=g._jQueryInterface,e.fn.button.Constructor=g,e.fn.button.noConflict=function(){return e.fn.button=f,g._jQueryInterface};var m="carousel",p=".bs.carousel",_=e.fn[m],v={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},b={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},y={TOUCH:"touch",PEN:"pen"},E=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(c.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var n=this;this._activeElement=this._element.querySelector(".active.carousel-item");var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one("slid.bs.carousel",(function(){return n.to(t)}));else{if(i===t)return this.pause(),void this.cycle();var o=t>i?"next":"prev";this._slide(o,this._items[t])}},n.dispose=function(){e(this._element).off(p),e.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=a(a({},v),t),c.typeCheckConfig(m,t,b),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&e(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};e(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(e(this._element).on("pointerdown.bs.carousel",(function(t){return n(t)})),e(this._element).on("pointerup.bs.carousel",(function(t){return i(t)})),this._element.classList.add("pointer-event")):(e(this._element).on("touchstart.bs.carousel",(function(t){return n(t)})),e(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),e(this._element).on("touchend.bs.carousel",(function(t){return i(t)})))}},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},n._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),s=e.Event("slide.bs.carousel",{relatedTarget:t,direction:n,from:o,to:i});return e(this._element).trigger(s),s},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var n=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));e(n).removeClass("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&e(i).addClass("active")}},n._slide=function(t,n){var i,o,s,r=this,a=this._element.querySelector(".active.carousel-item"),l=this._getItemIndex(a),h=n||a&&this._getItemByDirection(t,a),u=this._getItemIndex(h),d=Boolean(this._interval);if("next"===t?(i="carousel-item-left",o="carousel-item-next",s="left"):(i="carousel-item-right",o="carousel-item-prev",s="right"),h&&e(h).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(h,s).isDefaultPrevented()&&a&&h){this._isSliding=!0,d&&this.pause(),this._setActiveIndicatorElement(h);var f=e.Event("slid.bs.carousel",{relatedTarget:h,direction:s,from:l,to:u});if(e(this._element).hasClass("slide")){e(h).addClass(o),c.reflow(h),e(a).addClass(i),e(h).addClass(i);var g=parseInt(h.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=c.getTransitionDurationFromElement(a);e(a).one(c.TRANSITION_END,(function(){e(h).removeClass(i+" "+o).addClass("active"),e(a).removeClass("active "+o+" "+i),r._isSliding=!1,setTimeout((function(){return e(r._element).trigger(f)}),0)})).emulateTransitionEnd(m)}else e(a).removeClass("active"),e(h).addClass("active"),this._isSliding=!1,e(this._element).trigger(f);d&&this.cycle()}},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.carousel"),o=a(a({},v),e(this).data());"object"==typeof n&&(o=a(a({},o),n));var s="string"==typeof n?n:o.slide;if(i||(i=new t(this,o),e(this).data("bs.carousel",i)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else o.interval&&o.ride&&(i.pause(),i.cycle())}))},t._dataApiClickHandler=function(n){var i=c.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass("carousel")){var s=a(a({},e(o).data()),e(this).data()),r=this.getAttribute("data-slide-to");r&&(s.interval=!1),t._jQueryInterface.call(e(o),s),r&&e(o).data("bs.carousel").to(r),n.preventDefault()}}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return v}}]),t}();e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",E._dataApiClickHandler),e(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),n=0,i=t.length;n<i;n++){var o=e(t[n]);E._jQueryInterface.call(o,o.data())}})),e.fn[m]=E._jQueryInterface,e.fn[m].Constructor=E,e.fn[m].noConflict=function(){return e.fn[m]=_,E._jQueryInterface};var w="collapse",T=e.fn[w],C={toggle:!0,parent:""},S={toggle:"boolean",parent:"(string|element)"},D=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var s=n[i],r=c.getSelectorFromElement(s),a=[].slice.call(document.querySelectorAll(r)).filter((function(e){return e===t}));null!==r&&a.length>0&&(this._selector=r,this._triggerArray.push(s))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var n=t.prototype;return n.toggle=function(){e(this._element).hasClass("show")?this.hide():this.show()},n.show=function(){var n,i,o=this;if(!this._isTransitioning&&!e(this._element).hasClass("show")&&(this._parent&&0===(n=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(n=null),!(n&&(i=e(n).not(this._selector).data("bs.collapse"))&&i._isTransitioning))){var s=e.Event("show.bs.collapse");if(e(this._element).trigger(s),!s.isDefaultPrevented()){n&&(t._jQueryInterface.call(e(n).not(this._selector),"hide"),i||e(n).data("bs.collapse",null));var r=this._getDimension();e(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[r]=0,this._triggerArray.length&&e(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var a="scroll"+(r[0].toUpperCase()+r.slice(1)),l=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){e(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[r]="",o.setTransitioning(!1),e(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(l),this._element.style[r]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass("show")){var n=e.Event("hide.bs.collapse");if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",c.reflow(this._element),e(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var s=0;s<o;s++){var r=this._triggerArray[s],a=c.getSelectorFromElement(r);if(null!==a)e([].slice.call(document.querySelectorAll(a))).hasClass("show")||e(r).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[i]="";var l=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){t.setTransitioning(!1),e(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(l)}}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){e.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=a(a({},C),t)).toggle=Boolean(t.toggle),c.typeCheckConfig(w,t,S),t},n._getDimension=function(){return e(this._element).hasClass("width")?"width":"height"},n._getParent=function(){var n,i=this;c.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=document.querySelector(this._config.parent);var o='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',s=[].slice.call(n.querySelectorAll(o));return e(s).each((function(e,n){i._addAriaAndCollapsedClass(t._getTargetFromElement(n),[n])})),n},n._addAriaAndCollapsedClass=function(t,n){var i=e(t).hasClass("show");n.length&&e(n).toggleClass("collapsed",!i).attr("aria-expanded",i)},t._getTargetFromElement=function(t){var e=c.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.collapse"),s=a(a(a({},C),i.data()),"object"==typeof n&&n?n:{});if(!o&&s.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(s.toggle=!1),o||(o=new t(this,s),i.data("bs.collapse",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return C}}]),t}();e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=e(this),i=c.getSelectorFromElement(this),o=[].slice.call(document.querySelectorAll(i));e(o).each((function(){var t=e(this),i=t.data("bs.collapse")?"toggle":n.data();D._jQueryInterface.call(t,i)}))})),e.fn[w]=D._jQueryInterface,e.fn[w].Constructor=D,e.fn[w].noConflict=function(){return e.fn[w]=T,D._jQueryInterface};var k="dropdown",N=e.fn[k],A=new RegExp("38|40|27"),I={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},j=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var i=t.prototype;return i.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass("disabled")){var n=e(this._menu).hasClass("show");t._clearMenus(),n||this.show(!0)}},i.show=function(i){if(void 0===i&&(i=!1),!(this._element.disabled||e(this._element).hasClass("disabled")||e(this._menu).hasClass("show"))){var o={relatedTarget:this._element},s=e.Event("show.bs.dropdown",o),r=t._getParentFromElement(this._element);if(e(r).trigger(s),!s.isDefaultPrevented()){if(!this._inNavbar&&i){if("undefined"==typeof n)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var a=this._element;"parent"===this._config.reference?a=r:c.isElement(this._config.reference)&&(a=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e(r).addClass("position-static"),this._popper=new n(a,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===e(r).closest(".navbar-nav").length&&e(document.body).children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass("show"),e(r).toggleClass("show").trigger(e.Event("shown.bs.dropdown",o))}}},i.hide=function(){if(!this._element.disabled&&!e(this._element).hasClass("disabled")&&e(this._menu).hasClass("show")){var n={relatedTarget:this._element},i=e.Event("hide.bs.dropdown",n),o=t._getParentFromElement(this._element);e(o).trigger(i),i.isDefaultPrevented()||(this._popper&&this._popper.destroy(),e(this._menu).toggleClass("show"),e(o).toggleClass("show").trigger(e.Event("hidden.bs.dropdown",n)))}},i.dispose=function(){e.removeData(this._element,"bs.dropdown"),e(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;e(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=a(a(a({},this.constructor.Default),e(this._element).data()),t),c.typeCheckConfig(k,t,this.constructor.DefaultType),t},i._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},i._getPlacement=function(){var t=e(this._element.parentNode),n="bottom-start";return t.hasClass("dropup")?n=e(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?n="right-start":t.hasClass("dropleft")?n="left-start":e(this._menu).hasClass("dropdown-menu-right")&&(n="bottom-end"),n},i._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a(a({},t),this._config.popperConfig)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.dropdown");if(i||(i=new t(this,"object"==typeof n?n:null),e(this).data("bs.dropdown",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},t._clearMenus=function(n){if(!n||3!==n.which&&("keyup"!==n.type||9===n.which))for(var i=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,s=i.length;o<s;o++){var r=t._getParentFromElement(i[o]),a=e(i[o]).data("bs.dropdown"),l={relatedTarget:i[o]};if(n&&"click"===n.type&&(l.clickEvent=n),a){var c=a._menu;if(e(r).hasClass("show")&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"keyup"===n.type&&9===n.which)&&e.contains(r,n.target))){var h=e.Event("hide.bs.dropdown",l);e(r).trigger(h),h.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),i[o].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),e(c).removeClass("show"),e(r).removeClass("show").trigger(e.Event("hidden.bs.dropdown",l)))}}}},t._getParentFromElement=function(t){var e,n=c.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(n){if(!(/input|textarea/i.test(n.target.tagName)?32===n.which||27!==n.which&&(40!==n.which&&38!==n.which||e(n.target).closest(".dropdown-menu").length):!A.test(n.which))&&!this.disabled&&!e(this).hasClass("disabled")){var i=t._getParentFromElement(this),o=e(i).hasClass("show");if(o||27!==n.which){if(n.preventDefault(),n.stopPropagation(),!o||o&&(27===n.which||32===n.which))return 27===n.which&&e(i.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void e(this).trigger("click");var s=[].slice.call(i.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return e(t).is(":visible")}));if(0!==s.length){var r=s.indexOf(n.target);38===n.which&&r>0&&r--,40===n.which&&r<s.length-1&&r++,r<0&&(r=0),s[r].focus()}}}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return I}},{key:"DefaultType",get:function(){return O}}]),t}();e(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',j._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",j._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",j._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),j._jQueryInterface.call(e(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),e.fn[k]=j._jQueryInterface,e.fn[k].Constructor=j,e.fn[k].noConflict=function(){return e.fn[k]=N,j._jQueryInterface};var P=e.fn.modal,x={backdrop:!0,keyboard:!0,focus:!0,show:!0},L={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},R=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var n=this;if(!this._isShown&&!this._isTransitioning){e(this._element).hasClass("fade")&&(this._isTransitioning=!0);var i=e.Event("show.bs.modal",{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return n.hide(t)})),e(this._dialog).on("mousedown.dismiss.bs.modal",(function(){e(n._element).one("mouseup.dismiss.bs.modal",(function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return n._showElement(t)})))}},n.hide=function(t){var n=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var i=e.Event("hide.bs.modal");if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var o=e(this._element).hasClass("fade");if(o&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off("focusin.bs.modal"),e(this._element).removeClass("show"),e(this._element).off("click.dismiss.bs.modal"),e(this._dialog).off("mousedown.dismiss.bs.modal"),o){var s=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(t){return n._hideModal(t)})).emulateTransitionEnd(s)}else this._hideModal()}}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return e(t).off(".bs.modal")})),e(document).off("focusin.bs.modal"),e.removeData(this._element,"bs.modal"),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},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=a(a({},x),t),c.typeCheckConfig("modal",t,L),t},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var n=e.Event("hidePrevented.bs.modal");if(e(this._element).trigger(n),n.defaultPrevented)return;this._element.classList.add("modal-static");var i=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){t._element.classList.remove("modal-static")})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},n._showElement=function(t){var n=this,i=e(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),e(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,i&&c.reflow(this._element),e(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var s=e.Event("shown.bs.modal",{relatedTarget:t}),r=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(s)};if(i){var a=c.getTransitionDurationFromElement(this._dialog);e(this._dialog).one(c.TRANSITION_END,r).emulateTransitionEnd(a)}else r()},n._enforceFocus=function(){var t=this;e(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(n){document!==n.target&&t._element!==n.target&&0===e(t._element).has(n.target).length&&t._element.focus()}))},n._setEscapeEvent=function(){var t=this;this._isShown?e(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||e(this._element).off("keydown.dismiss.bs.modal")},n._setResizeEvent=function(){var t=this;this._isShown?e(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):e(window).off("resize.bs.modal")},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){e(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger("hidden.bs.modal")}))},n._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},n._showBackdrop=function(t){var n=this,i=e(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",i&&this._backdrop.classList.add(i),e(this._backdrop).appendTo(document.body),e(this._element).on("click.dismiss.bs.modal",(function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&n._triggerBackdropTransition()})),i&&c.reflow(this._backdrop),e(this._backdrop).addClass("show"),!t)return;if(!i)return void t();var o=c.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(c.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass("show");var s=function(){n._removeBackdrop(),t&&t()};if(e(this._element).hasClass("fade")){var r=c.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(c.TRANSITION_END,s).emulateTransitionEnd(r)}else s()}else t&&t()},n._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")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var n=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),i=[].slice.call(document.querySelectorAll(".sticky-top"));e(n).each((function(n,i){var o=i.style.paddingRight,s=e(i).css("padding-right");e(i).data("padding-right",o).css("padding-right",parseFloat(s)+t._scrollbarWidth+"px")})),e(i).each((function(n,i){var o=i.style.marginRight,s=e(i).css("margin-right");e(i).data("margin-right",o).css("margin-right",parseFloat(s)-t._scrollbarWidth+"px")}));var o=document.body.style.paddingRight,s=e(document.body).css("padding-right");e(document.body).data("padding-right",o).css("padding-right",parseFloat(s)+this._scrollbarWidth+"px")}e(document.body).addClass("modal-open")},n._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));e(t).each((function(t,n){var i=e(n).data("padding-right");e(n).removeData("padding-right"),n.style.paddingRight=i||""}));var n=[].slice.call(document.querySelectorAll(".sticky-top"));e(n).each((function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")}));var i=e(document.body).data("padding-right");e(document.body).removeData("padding-right"),document.body.style.paddingRight=i||""},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(n,i){return this.each((function(){var o=e(this).data("bs.modal"),s=a(a(a({},x),e(this).data()),"object"==typeof n&&n?n:{});if(o||(o=new t(this,s),e(this).data("bs.modal",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](i)}else s.show&&o.show(i)}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return x}}]),t}();e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var n,i=this,o=c.getSelectorFromElement(this);o&&(n=document.querySelector(o));var s=e(n).data("bs.modal")?"toggle":a(a({},e(n).data()),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=e(n).one("show.bs.modal",(function(t){t.isDefaultPrevented()||r.one("hidden.bs.modal",(function(){e(i).is(":visible")&&i.focus()}))}));R._jQueryInterface.call(e(n),s,this)})),e.fn.modal=R._jQueryInterface,e.fn.modal.Constructor=R,e.fn.modal.noConflict=function(){return e.fn.modal=P,R._jQueryInterface};var q=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],F={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Q=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,B=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function H(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),s=[].slice.call(i.body.querySelectorAll("*")),r=function(t,n){var i=s[t],r=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var a=[].slice.call(i.attributes),l=[].concat(e["*"]||[],e[r]||[]);a.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===q.indexOf(n)||Boolean(t.nodeValue.match(Q)||t.nodeValue.match(B));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,s=i.length;o<s;o++)if(n.match(i[o]))return!0;return!1})(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=s.length;a<l;a++)r(a);return i.body.innerHTML}var U="tooltip",M=e.fn[U],W=new RegExp("(^|\\s)bs-tooltip\\S+","g"),V=["sanitize","whiteList","sanitizeFn"],z={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},K={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},X={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",sanitize:!0,sanitizeFn:null,whiteList:F,popperConfig:null},Y={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},$=function(){function t(t,e){if("undefined"==typeof n)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 i=t.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&e(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},i.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var o=c.findShadowRoot(this.element),s=e.contains(null!==o?o:this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),a=c.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&e(r).addClass("fade");var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var u=this._getContainer();e(r).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(r).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,this._getPopperConfig(h)),e(r).addClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().on("mouseover",null,e.noop);var d=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),"out"===n&&t._leave(null,t)};if(e(this.tip).hasClass("fade")){var f=c.getTransitionDurationFromElement(this.tip);e(this.tip).one(c.TRANSITION_END,d).emulateTransitionEnd(f)}else d()}},i.hide=function(t){var n=this,i=this.getTipElement(),o=e.Event(this.constructor.Event.HIDE),s=function(){"show"!==n._hoverState&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};if(e(this.element).trigger(o),!o.isDefaultPrevented()){if(e(i).removeClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,e(this.tip).hasClass("fade")){var r=c.getTransitionDurationFromElement(i);e(i).one(c.TRANSITION_END,s).emulateTransitionEnd(r)}else s();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},i.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(e(t.querySelectorAll(".tooltip-inner")),this.getTitle()),e(t).removeClass("fade show")},i.setElementContent=function(t,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=H(n,this.config.whiteList,this.config.sanitizeFn)),t.html(n)):t.text(n):this.config.html?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text())},i.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},i._getPopperConfig=function(t){var e=this;return a(a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),this.config.popperConfig)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:c.isElement(this.config.container)?e(this.config.container):e(document).find(this.config.container)},i._getAttachment=function(t){return K[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==n){var i="hover"===n?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===n?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},e(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a(a({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},i._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",""))},i._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e(n.getTipElement()).hasClass("show")||"show"===n._hoverState?n._hoverState="show":(clearTimeout(n._timeout),n._hoverState="show",n.config.delay&&n.config.delay.show?n._timeout=setTimeout((function(){"show"===n._hoverState&&n.show()}),n.config.delay.show):n.show())},i._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout((function(){"out"===n._hoverState&&n.hide()}),n.config.delay.hide):n.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var n=e(this.element).data();return Object.keys(n).forEach((function(t){-1!==V.indexOf(t)&&delete n[t]})),"number"==typeof(t=a(a(a({},this.constructor.Default),n),"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()),c.typeCheckConfig(U,t,this.constructor.DefaultType),t.sanitize&&(t.template=H(t.template,t.whiteList,t.sanitizeFn)),t},i._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},i._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(W);null!==n&&n.length&&t.removeClass(n.join(""))},i._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.tooltip"),o="object"==typeof n&&n;if((i||!/dispose|hide/.test(n))&&(i||(i=new t(this,o),e(this).data("bs.tooltip",i)),"string"==typeof n)){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return X}},{key:"NAME",get:function(){return U}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Y}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return z}}]),t}();e.fn[U]=$._jQueryInterface,e.fn[U].Constructor=$,e.fn[U].noConflict=function(){return e.fn[U]=M,$._jQueryInterface};var J="popover",G=e.fn[J],Z=new RegExp("(^|\\s)bs-popover\\S+","g"),tt=a(a({},$.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>'}),et=a(a({},$.DefaultType),{},{content:"(string|element|function)"}),nt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},it=function(t){var n,i;function s(){return t.apply(this,arguments)||this}i=t,(n=s).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=s.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},r.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},r.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(t.find(".popover-body"),n),t.removeClass("fade show")},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(Z);null!==n&&n.length>0&&t.removeClass(n.join(""))},s._jQueryInterface=function(t){return this.each((function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new s(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},o(s,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return tt}},{key:"NAME",get:function(){return J}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return nt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return et}}]),s}($);e.fn[J]=it._jQueryInterface,e.fn[J].Constructor=it,e.fn[J].noConflict=function(){return e.fn[J]=G,it._jQueryInterface};var ot="scrollspy",st=e.fn[ot],rt={offset:10,method:"auto",target:""},at={offset:"number",method:"string",target:"(string|element)"},lt=function(){function t(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return i._process(t)})),this.refresh(),this._process()}var n=t.prototype;return n.refresh=function(){var t=this,n=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?n:this._config.method,o="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var n,s=c.getSelectorFromElement(t);if(s&&(n=document.querySelector(s)),n){var r=n.getBoundingClientRect();if(r.width||r.height)return[e(n)[i]().top+o,s]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=a(a({},rt),"object"==typeof t&&t?t:{})).target&&c.isElement(t.target)){var n=e(t.target).attr("id");n||(n=c.getUID(ot),e(t.target).attr("id",n)),t.target="#"+n}return c.typeCheckConfig(ot,t,at),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>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])}}},n._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),i=e([].slice.call(document.querySelectorAll(n.join(","))));i.hasClass("dropdown-item")?(i.closest(".dropdown").find(".dropdown-toggle").addClass("active"),i.addClass("active")):(i.addClass("active"),i.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),i.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),e(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},n._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.scrollspy");if(i||(i=new t(this,"object"==typeof n&&n),e(this).data("bs.scrollspy",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return rt}}]),t}();e(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),n=t.length;n--;){var i=e(t[n]);lt._jQueryInterface.call(i,i.data())}})),e.fn[ot]=lt._jQueryInterface,e.fn[ot].Constructor=lt,e.fn[ot].noConflict=function(){return e.fn[ot]=st,lt._jQueryInterface};var ct=e.fn.tab,ht=function(){function t(t){this._element=t}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass("active")||e(this._element).hasClass("disabled"))){var n,i,o=e(this._element).closest(".nav, .list-group")[0],s=c.getSelectorFromElement(this._element);if(o){var r="UL"===o.nodeName||"OL"===o.nodeName?"> li > .active":".active";i=(i=e.makeArray(e(o).find(r)))[i.length-1]}var a=e.Event("hide.bs.tab",{relatedTarget:this._element}),l=e.Event("show.bs.tab",{relatedTarget:i});if(i&&e(i).trigger(a),e(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=document.querySelector(s)),this._activate(this._element,o);var h=function(){var n=e.Event("hidden.bs.tab",{relatedTarget:t._element}),o=e.Event("shown.bs.tab",{relatedTarget:i});e(i).trigger(n),e(t._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},n.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(t,n,i){var o=this,s=(!n||"UL"!==n.nodeName&&"OL"!==n.nodeName?e(n).children(".active"):e(n).find("> li > .active"))[0],r=i&&s&&e(s).hasClass("fade"),a=function(){return o._transitionComplete(t,s,i)};if(s&&r){var l=c.getTransitionDurationFromElement(s);e(s).removeClass("show").one(c.TRANSITION_END,a).emulateTransitionEnd(l)}else a()},n._transitionComplete=function(t,n,i){if(n){e(n).removeClass("active");var o=e(n.parentNode).find("> .dropdown-menu .active")[0];o&&e(o).removeClass("active"),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),c.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&e(t.parentNode).hasClass("dropdown-menu")){var s=e(t).closest(".dropdown")[0];if(s){var r=[].slice.call(s.querySelectorAll(".dropdown-toggle"));e(r).addClass("active")}t.setAttribute("aria-expanded",!0)}i&&i()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.tab");if(o||(o=new t(this),i.data("bs.tab",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ht._jQueryInterface.call(e(this),"show")})),e.fn.tab=ht._jQueryInterface,e.fn.tab.Constructor=ht,e.fn.tab.noConflict=function(){return e.fn.tab=ct,ht._jQueryInterface};var ut=e.fn.toast,dt={animation:"boolean",autohide:"boolean",delay:"number"},ft={animation:!0,autohide:!0,delay:500},gt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var n=t.prototype;return n.show=function(){var t=this,n=e.Event("show.bs.toast");if(e(this._element).trigger(n),!n.isDefaultPrevented()){this._config.animation&&this._element.classList.add("fade");var i=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),e(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),c.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,i).emulateTransitionEnd(o)}else i()}},n.hide=function(){if(this._element.classList.contains("show")){var t=e.Event("hide.bs.toast");e(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),e(this._element).off("click.dismiss.bs.toast"),e.removeData(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=a(a(a({},ft),e(this._element).data()),"object"==typeof t&&t?t:{}),c.typeCheckConfig("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;e(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},n._close=function(){var t=this,n=function(){t._element.classList.add("hide"),e(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var i=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,n).emulateTransitionEnd(i)}else n()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.toast");if(o||(o=new t(this,"object"==typeof n&&n),i.data("bs.toast",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](this)}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"DefaultType",get:function(){return dt}},{key:"Default",get:function(){return ft}}]),t}();e.fn.toast=gt._jQueryInterface,e.fn.toast.Constructor=gt,e.fn.toast.noConflict=function(){return e.fn.toast=ut,gt._jQueryInterface},t.Alert=d,t.Button=g,t.Carousel=E,t.Collapse=D,t.Dropdown=j,t.Modal=R,t.Popover=it,t.Scrollspy=lt,t.Tab=ht,t.Toast=gt,t.Tooltip=$,t.Util=c,Object.defineProperty(t,"__esModule",{value:!0})}));
|
/template/bootie/js/ |
H A D | bootstrap-4.3.1.min.js | 6 …Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineP…
|
/template/argon-alt/assets/js/core/ |
H A D | bootstrap.min.js | 6 …Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineP…
|