mdb-ui-kit/js/mdb.min.js.map
Adam Jakubowski cf74e9ad40 2.0.0
2020-12-29 14:20:57 +01:00

1 line
623 KiB
Plaintext

{"version":3,"sources":["webpack://mdb/webpack/universalModuleDefinition","webpack://mdb/webpack/bootstrap","webpack://mdb/./node_modules/core-js/internals/fails.js","webpack://mdb/./node_modules/core-js/internals/export.js","webpack://mdb/./node_modules/core-js/internals/well-known-symbol.js","webpack://mdb/./node_modules/core-js/modules/es.object.to-string.js","webpack://mdb/./node_modules/core-js/modules/es.array.for-each.js","webpack://mdb/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.js","webpack://mdb/./node_modules/core-js/internals/global.js","webpack://mdb/./node_modules/core-js/modules/es.object.keys.js","webpack://mdb/./node_modules/core-js/internals/descriptors.js","webpack://mdb/./node_modules/core-js/internals/is-object.js","webpack://mdb/./node_modules/core-js/internals/has.js","webpack://mdb/./node_modules/core-js/internals/an-object.js","webpack://mdb/./node_modules/core-js/modules/es.array.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.string.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.exec.js","webpack://mdb/./node_modules/core-js/modules/es.array.filter.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.description.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://mdb/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://mdb/./node_modules/core-js/internals/object-define-property.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://mdb/./node_modules/core-js/internals/to-indexed-object.js","webpack://mdb/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://mdb/./node_modules/core-js/modules/es.array.concat.js","webpack://mdb/./node_modules/core-js/internals/to-object.js","webpack://mdb/./node_modules/core-js/modules/es.array.find.js","webpack://mdb/./node_modules/core-js/internals/redefine.js","webpack://mdb/./node_modules/core-js/internals/to-length.js","webpack://mdb/./node_modules/core-js/modules/es.array.from.js","webpack://mdb/./node_modules/core-js/modules/es.array.slice.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://mdb/./node_modules/core-js/internals/require-object-coercible.js","webpack://mdb/./node_modules/core-js/modules/es.function.name.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://mdb/./node_modules/core-js/internals/classof-raw.js","webpack://mdb/./node_modules/core-js/internals/get-built-in.js","webpack://mdb/./node_modules/core-js/modules/es.array.map.js","webpack://mdb/./node_modules/core-js/internals/array-method-uses-to-length.js","webpack://mdb/./node_modules/core-js/modules/es.string.match.js","webpack://mdb/./node_modules/core-js/modules/es.string.split.js","webpack://mdb/./node_modules/core-js/modules/es.array.index-of.js","webpack://mdb/./node_modules/core-js/modules/es.string.replace.js","webpack://mdb/./node_modules/popper.js/dist/esm/popper.js","webpack://mdb/./node_modules/core-js/internals/create-property-descriptor.js","webpack://mdb/./node_modules/core-js/internals/to-primitive.js","webpack://mdb/./node_modules/core-js/internals/internal-state.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://mdb/./node_modules/core-js/internals/object-create.js","webpack://mdb/./node_modules/core-js/internals/array-iteration.js","webpack://mdb/./node_modules/core-js/internals/iterators.js","webpack://mdb/./node_modules/core-js/internals/indexed-object.js","webpack://mdb/./node_modules/core-js/internals/shared-key.js","webpack://mdb/./node_modules/core-js/internals/is-pure.js","webpack://mdb/./node_modules/core-js/internals/hidden-keys.js","webpack://mdb/./node_modules/core-js/internals/to-integer.js","webpack://mdb/./node_modules/core-js/internals/is-array.js","webpack://mdb/./node_modules/core-js/internals/object-keys.js","webpack://mdb/./node_modules/core-js/internals/a-function.js","webpack://mdb/./node_modules/core-js/internals/create-property.js","webpack://mdb/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://mdb/./node_modules/core-js/internals/regexp-exec.js","webpack://mdb/./node_modules/core-js/modules/es.string.trim.js","webpack://mdb/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://mdb/./node_modules/core-js/internals/set-global.js","webpack://mdb/./node_modules/core-js/internals/shared.js","webpack://mdb/./node_modules/core-js/internals/uid.js","webpack://mdb/./node_modules/core-js/internals/enum-bug-keys.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://mdb/./node_modules/core-js/internals/is-forced.js","webpack://mdb/./node_modules/core-js/internals/native-symbol.js","webpack://mdb/./node_modules/core-js/internals/set-to-string-tag.js","webpack://mdb/./node_modules/core-js/internals/to-string-tag-support.js","webpack://mdb/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/regexp-flags.js","webpack://mdb/./node_modules/core-js/internals/array-method-is-strict.js","webpack://mdb/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://mdb/./node_modules/core-js/internals/advance-string-index.js","webpack://mdb/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://mdb/./node_modules/core-js/modules/es.number.constructor.js","webpack://mdb/(webpack)/buildin/global.js","webpack://mdb/./node_modules/core-js/internals/ie8-dom-define.js","webpack://mdb/./node_modules/core-js/internals/document-create-element.js","webpack://mdb/./node_modules/core-js/internals/inspect-source.js","webpack://mdb/./node_modules/core-js/internals/shared-store.js","webpack://mdb/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://mdb/./node_modules/core-js/internals/own-keys.js","webpack://mdb/./node_modules/core-js/internals/path.js","webpack://mdb/./node_modules/core-js/internals/object-keys-internal.js","webpack://mdb/./node_modules/core-js/internals/array-includes.js","webpack://mdb/./node_modules/core-js/internals/to-absolute-index.js","webpack://mdb/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://mdb/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://mdb/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://mdb/./node_modules/core-js/internals/function-bind-context.js","webpack://mdb/./node_modules/core-js/internals/array-species-create.js","webpack://mdb/./node_modules/core-js/internals/classof.js","webpack://mdb/./node_modules/core-js/internals/add-to-unscopables.js","webpack://mdb/./node_modules/core-js/internals/define-iterator.js","webpack://mdb/./node_modules/core-js/internals/iterators-core.js","webpack://mdb/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://mdb/./node_modules/core-js/internals/engine-v8-version.js","webpack://mdb/./node_modules/core-js/internals/string-multibyte.js","webpack://mdb/./node_modules/core-js/internals/dom-iterables.js","webpack://mdb/./node_modules/core-js/internals/array-for-each.js","webpack://mdb/./node_modules/core-js/internals/inherit-if-required.js","webpack://mdb/./node_modules/core-js/internals/is-regexp.js","webpack://mdb/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://mdb/./node_modules/core-js/internals/string-trim.js","webpack://mdb/./node_modules/core-js/internals/whitespaces.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://mdb/./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack://mdb/./node_modules/core-js/modules/es.reflect.construct.js","webpack://mdb/./node_modules/core-js/modules/es.array.join.js","webpack://mdb/./node_modules/core-js/internals/native-weak-map.js","webpack://mdb/./node_modules/core-js/internals/object-define-properties.js","webpack://mdb/./node_modules/core-js/internals/html.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://mdb/./node_modules/core-js/internals/array-from.js","webpack://mdb/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://mdb/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://mdb/./node_modules/core-js/internals/get-iterator-method.js","webpack://mdb/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://mdb/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://mdb/./node_modules/core-js/internals/a-possible-prototype.js","webpack://mdb/./node_modules/core-js/internals/engine-user-agent.js","webpack://mdb/./node_modules/core-js/internals/object-to-string.js","webpack://mdb/./node_modules/core-js/internals/set-species.js","webpack://mdb/./node_modules/core-js/internals/species-constructor.js","webpack://mdb/./node_modules/core-js/internals/string-trim-forced.js","webpack://mdb/./node_modules/core-js/internals/function-bind.js","webpack://mdb/./node_modules/core-js/modules/es.object.assign.js","webpack://mdb/./node_modules/core-js/internals/object-assign.js","webpack://mdb/./node_modules/detect-autofill/dist/detect-autofill.js","webpack://mdb/./node_modules/core-js/modules/es.reflect.get.js","webpack://mdb/./src/js/bootstrap/src/util/index.js","webpack://mdb/./src/js/bootstrap/src/dom/data.js","webpack://mdb/./src/js/bootstrap/src/dom/polyfill.js","webpack://mdb/./src/js/bootstrap/src/dom/event-handler.js","webpack://mdb/./src/js/bootstrap/src/alert.js","webpack://mdb/./src/js/bootstrap/src/button.js","webpack://mdb/./src/js/bootstrap/src/dom/manipulator.js","webpack://mdb/./src/js/bootstrap/src/dom/selector-engine.js","webpack://mdb/./src/js/bootstrap/src/carousel.js","webpack://mdb/./src/js/bootstrap/src/collapse.js","webpack://mdb/./src/js/bootstrap/src/modal.js","webpack://mdb/./src/js/bootstrap/src/util/sanitizer.js","webpack://mdb/./src/js/bootstrap/src/tooltip.js","webpack://mdb/./src/js/bootstrap/src/popover.js","webpack://mdb/./src/js/bootstrap/src/scrollspy.js","webpack://mdb/./src/js/bootstrap/src/tab.js","webpack://mdb/./src/js/bootstrap/src/toast.js","webpack://mdb/./src/js/mdb/util/index.js","webpack://mdb/./src/js/mdb/dom/data.js","webpack://mdb/./src/js/mdb/dom/manipulator.js","webpack://mdb/./src/js/mdb/dom/polyfill.js","webpack://mdb/./src/js/mdb/dom/selector-engine.js","webpack://mdb/./src/js/free/input.js","webpack://mdb/./src/js/bootstrap/src/dropdown.js","webpack://mdb/./src/js/free/dropdown.js","webpack://mdb/./src/js/free/ripple.js","webpack://mdb/./src/js/mdb.free.js"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","m","exec","error","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","key","sourceProperty","descriptor","TARGET","target","GLOBAL","STATIC","stat","prototype","targetProperty","noTargetGet","value","forced","undefined","sham","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","name","TO_STRING_TAG_SUPPORT","toString","Object","unsafe","$","forEach","proto","COLLECTION_NAME","DOMIterables","Collection","CollectionPrototype","wrap","tag","description","symbol","AllSymbols","nativeObjectCreate","$Symbol","PROTOTYPE","setInternalState","type","SYMBOL","DESCRIPTORS","$defineProperties","O","Properties","anObject","properties","toIndexedObject","keys","objectKeys","concat","$getOwnPropertySymbols","$forEach","$propertyIsEnumerable","call","$defineProperty","getBuiltIn","IS_PURE","fails","isArray","isObject","toObject","toPrimitive","createPropertyDescriptor","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","definePropertyModule","propertyIsEnumerableModule","sharedKey","hiddenKeys","wellKnownSymbol","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","InternalStateModule","HIDDEN","TO_PRIMITIVE","set","getInternalState","getterFor","ObjectPrototype","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","get","a","P","Attributes","ObjectPrototypeDescriptor","isSymbol","it","enumerable","V","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","result","push","IS_OBJECT_PROTOTYPE","TypeError","arguments","length","String","setter","configurable","string","keyFor","sym","useSetter","useSimple","create","defineProperty","defineProperties","getOwnPropertyNames","getOwnPropertySymbols","stringify","replacer","$replacer","args","index","apply","valueOf","Math","check","globalThis","window","self","Function","nativeKeys","hasOwnProperty","addToUnscopables","Iterators","defineIterator","ARRAY_ITERATOR","Array","iterated","kind","state","done","Arguments","charAt","STRING_ITERATOR","point","$filter","filter","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","callbackfn","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","native","regexp","NativeSymbol","symbolPrototype","constructor","desc","slice","replace","flags","TO_STRING","RegExpPrototype","RegExp","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","p","rf","ArrayIteratorMethods","ITERATOR","TO_STRING_TAG","ArrayValues","values","METHOD_NAME","IE8_DOM_DEFINE","FAILS_ON_PRIMITIVES","ownKeys","createProperty","getOwnPropertyDescriptors","object","IndexedObject","requireObjectCoercible","toLength","arraySpeciesCreate","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","k","len","E","A","n","i","spreadable","isConcatSpreadable","argument","$find","find","FIND","SKIPS_HOLES","inspectSource","enforceInternalState","enforce","TEMPLATE","split","simple","join","toInteger","min","from","checkCorrectnessOfIteration","iterable","toAbsoluteIndex","ACCESSORS","0","1","SPECIES","nativeSlice","max","start","end","Constructor","fin","FunctionPrototype","FunctionPrototypeToString","nameRE","match","inheritIfRequired","isRegExp","getFlags","stickyHelpers","setSpecies","MATCH","NativeRegExp","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","indexOf","proxy","aFunction","variable","path","namespace","method","$map","map","thrower","cache","argument0","argument1","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","matcher","res","rx","S","fullUnicode","unicode","lastIndex","matchStr","speciesConstructor","callRegExpExec","regexpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","separator","limit","lim","lastLength","output","ignoreCase","multiline","lastLastIndex","separatorCopy","test","splitter","C","unicodeMatching","q","e","z","$indexOf","arrayMethodIsStrict","nativeIndexOf","NEGATIVE_ZERO","STRICT_METHOD","searchElement","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","j","replacerArgs","namedCaptures","groups","replacement","str","tailPos","symbols","ch","capture","getSubstitution","isBrowser","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","parseInt","getWindowSizes","height","width","classCallCheck","instance","createClass","protoProps","staticProps","props","writable","obj","_extends","assign","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","scrollTop","scrollLeft","rect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","_ref","sort","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","runModifiers","modifiers","data","ends","prop","findIndex","cur","console","warn","enabled","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","toUpperCase","prefix","toCheck","style","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","event","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","_requesting","requesting","isRequired","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","op","mergeWithPrevious","reduce","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","side","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","arrowElement","querySelector","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","_data$offsets$arrow","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","inner","subtractLength","hide","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","popperWidth","offsetParentRect","shouldRound","devicePixelRatio","noRound","v","referenceWidth","isVariation","horizontalToInteger","verticalToInteger","prefixedProperty","willChange","invertTop","invertLeft","arrowStyles","applyStyle","setAttribute","removeAttribute","onLoad","modifierOptions","Popper","isDestroyed","isCreated","removeChild","_this","requestAnimationFrame","update","bind","jquery","enableEventListeners","Utils","PopperUtils","bitmap","input","PREFERRED_STRING","val","store","wmget","wmhas","wmset","STATE","NATIVE_WEAK_MAP","objectHas","WeakMap","metadata","TYPE","internalObjectKeys","EmptyConstructor","scriptTag","content","LT","SCRIPT","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","NullProtoObject","domain","ActiveXObject","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","display","appendChild","src","iframeDocument","contentWindow","open","F","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","that","specificCreate","boundFunction","every","classof","propertyIsEnumerable","ceil","arg","propertyKey","CORRECT_PROTOTYPE_GETTER","getPrototypeOf","foo","Boolean","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","reCopy","re","charsAdded","strCopy","$trim","forcedStringTrimMethod","NASHORN_BUG","mode","copyright","id","postfix","random","feature","detection","normalize","POLYFILL","NATIVE","TAG","aPossiblePrototype","setPrototypeOf","CORRECT_SETTER","__proto__","dotAll","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","nativeRegExpMethod","regexMethod","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","stringMethod","methods","nativeMethod","arg2","forceStringMethod","toNumber","first","radix","maxCode","digits","code","charCodeAt","third","NaN","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","NumberWrapper","dummy","g","createElement","EXISTS","functionToString","SHARED","IS_INCLUDES","fromIndex","includes","integer","iterator","NAME","c","originalArray","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","UNSCOPABLES","ArrayPrototype","returnThis","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","VALUES","ENTRIES","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","CurrentIteratorPrototype","arrayIterator","PrototypeOfArrayIteratorPrototype","process","versions","v8","CONVERT_TO_STRING","pos","second","size","codeAt","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Wrapper","NewTarget","NewTargetPrototype","RE","s","whitespace","ltrim","rtrim","nativeGetPrototypeOf","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","construct","Target","newTarget","$args","nativeJoin","ES3_STRINGS","windowNames","getWindowNames","callWithSafeIterationClosing","isArrayIteratorMethod","getIteratorMethod","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","returnMethod","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","CONSTRUCTOR_NAME","defaultConstructor","whitespaces","factories","partArgs","argsLength","list","nativeAssign","B","alphabet","chr","T","o","t","r","l","hasAttribute","CustomEvent","bubbles","cancelable","detail","dispatchEvent","animationName","inputType","__esModule","default","insert","singleton","locals","HTMLIFrameElement","contentDocument","head","u","identifier","base","d","media","sourceMap","references","updater","btoa","unescape","encodeURIComponent","JSON","styleSheet","cssText","firstChild","createTextNode","nonce","nc","Error","childNodes","insertBefore","all","atob","splice","sources","sourceRoot","preventDefault","defaultPrevented","createEvent","initCustomEvent","Event","toStringTag","receiver","getUID","getElementById","getSelector","selector","getAttribute","hrefAttr","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","TRANSITION_END","isElement","emulateTransitionEnd","duration","emulatedDuration","listener","typeCheckConfig","componentName","config","configTypes","expectedTypes","valueType","isVisible","elementStyle","parentNodeStyle","visibility","findShadowRoot","attachShadow","getRootNode","ShadowRoot","noop","reflow","getjQuery","jQuery","storeData","getSelectorFromElement","mapData","bsKey","keyProperties","delete","Data","setData","getData","removeData","Element","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","scopeSelectorRegex","_","hasId","nodeList","matches","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","getEvent","findHandler","events","handler","delegationSelector","uidEventList","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","addHandler","oneOff","handlers","previousFn","domElements","delegateTarget","EventHandler","off","removeHandler","on","one","inNamespace","isNamespace","elementEvent","storeElementEvent","handlerKey","keyHandlers","trigger","jQueryEvent","isNative","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","initEvent","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","Alert","_element","each","alertInstance","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","classList","remove","_destroyElement","handleDismiss","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","SELECTOR_DATA_TOGGLE","Button","toggle","button","normalizeData","Number","normalizeDataKey","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","dataset","getDataAttribute","offsetTop","offsetLeft","toggleClass","className","add","SelectorEngine","findFn","child","parents","ancestor","ELEMENT_NODE","prev","previous","previousElementSibling","DATA_API_KEY","Default","interval","keyboard","slide","pause","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_INDICATORS","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","action","to","ride","cycle","carouselInterface","slideIndex","_slide","hidden","clearInterval","setInterval","visibilityState","nextWhenVisible","activeIndex","_getItemIndex","direction","absDeltax","abs","_keydown","_addTouchEventListeners","pointerType","clientX","touches","_handleSwipe","clearTimeout","itemImg","tagName","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","relatedTarget","eventDirectionName","targetIndex","indicators","nextIndicator","directionalClassName","orderClassName","activeElementIndex","nextElement","_getItemByDirection","nextElementIndex","isCycling","_triggerSlideEvent","_setActiveIndicatorElement","nextElementInterval","defaultInterval","dataApiClickHandler","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","collapseInterface","show","actives","dimension","scrollSize","container","activesData","tempActiveData","elemActive","_getDimension","setTransitioning","capitalizedDimension","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","backdrop","focus","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","modalBody","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","backdropTransitionDuration","animate","currentTarget","callbackRemove","_removeBackdrop","isModalOverflowing","modalTransitionDuration","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","br","col","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","elName","attributeList","allowedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","HOVER_STATE_SHOW","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","tip","_setListeners","dataKey","context","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","destroy","attachment","complete","isWithContent","isInTheDom","shadowRoot","tipId","setContent","_getAttachment","_addAttachmentClass","_getContainer","_getPopperConfig","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","textContent","_getOffset","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","initConfigAnimation","Popover","_getContent","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","maxScroll","_getOffsetHeight","_activate","_clear","queries","link","listGroup","navItem","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","hideEvent","listElement","itemSelector","active","_transitionComplete","dropdownChild","dropdown","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout","addClass","addStyle","removeClass","hasClass","findElements","findElement","CLASSNAME_WRAPPER","CLASSNAME_ACTIVE","CLASSNAME_NOTCH","CLASSNAME_NOTCH_LEADING","CLASSNAME_NOTCH_MIDDLE","SELECTOR_OUTLINE_INPUT","SELECTOR_OUTLINE_TEXTAREA","SELECTOR_NOTCH","SELECTOR_NOTCH_LEADING","SELECTOR_NOTCH_MIDDLE","Input","_label","_labelWidth","_labelMarginLeft","_notchLeading","_notchMiddle","_notchTrailing","_initiated","init","_deactivate","_getLabelData","_applyDivs","_applyNotch","_getNotchData","_removeBorder","_showPlaceholder","_getLabelWidth","_getLabelPositionInInputGroup","notchWrapper","append","border","_getElements","prevLabelWidth","activate","deactivate","getInstance","targetId","href","forceActive","ESCAPE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_MENURIGHT","SELECTOR_MENU","Dropdown","_menu","_getMenuElement","_inNavbar","_detectNavbar","dropdownInterface","toggles","dropdownMenu","getParentFromElement","clickEvent","stopPropagation","disabled","isActive","clearMenus","items","referenceElement","parentDropdown","_getPlacement","dataApiKeydownHandler","dropdownAnimation","ANIMATION_CLASS","ANIMATION_SHOW_CLASS","ANIMATION_HIDE_CLASS","BSDropdown","_menuStyle","_xPlacement","isPrefersReducedMotionSet","matchMedia","_init","_bindShowEvent","_bindHideEvent","_bindHiddenEvent","_dropdownAnimationStart","_bindAnimationEnd","CLASSNAME_RIPPLE","SELECTOR_COMPONENT","CLASSNAME_UNBOUND","DEFAULT_RIPPLE_COLOR","BOOTSTRAP_COLORS","rippleCentered","rippleColor","rippleDuration","rippleRadius","rippleUnbound","Ripple","_options","_clickHandler","_createRipple","_autoInit","_addClickEvent","offsetX","layerX","offsetY","layerY","_durationToMsNumber","diameterOptions","diameter","_getDiameter","radiusValue","opacity","rippleHTML","_createHTMLRipple","wrapper","ripple","_removeHTMLRipple","_removeOldColorClasses","_addColor","_toggleUnbound","_appendRipple","time","pythagorean","sqrt","positionCenter","quadrant","getCorner","topLeft","topRight","bottomLeft","bottomRight","color","rgbValue","_colorToRGB","gradientImage","backgroundImage","REGEXP_CLASS_COLOR","substr","tempElem","flag","slector","autoInitial","tooltip","popover","toast","getter","ns","moduleId","modules"],"mappings":"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","file":"js/mdb.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdb\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdb\"] = factory();\n\telse\n\t\troot[\"mdb\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 139);\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = false;\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";n.r(t);n(1),n(5);function o(e){if(!e.hasAttribute(\"autocompleted\")){e.setAttribute(\"autocompleted\",\"\");var t=new window.CustomEvent(\"onautocomplete\",{bubbles:!0,cancelable:!0,detail:null});e.dispatchEvent(t)||(e.value=\"\")}}function r(e){e.hasAttribute(\"autocompleted\")&&(e.removeAttribute(\"autocompleted\"),e.dispatchEvent(new window.CustomEvent(\"onautocomplete\",{bubbles:!0,cancelable:!1,detail:null})))}document.addEventListener(\"animationstart\",(function(e){\"onautofillstart\"===e.animationName?o(e.target):r(e.target)}),!0),document.addEventListener(\"input\",(function(e){\"insertReplacementText\"!==e.inputType&&\"data\"in e?r(e.target):o(e.target)}),!0)},function(e,t,n){var o=n(2),r=n(3);\"string\"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,\"\"]]);var a={insert:\"head\",singleton:!1},i=(o(r,a),r.locals?r.locals:{});e.exports=i},function(e,t,n){\"use strict\";var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function u(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},o=[],r=0;r<e.length;r++){var a=e[r],c=t.base?a[0]+t.base:a[0],l=n[c]||0,f=\"\".concat(c,\" \").concat(l);n[c]=l+1;var s=u(f),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==s?(i[s].references++,i[s].updater(d)):i.push({identifier:f,updater:m(d,t),references:1}),o.push(f)}return o}function l(e){var t=document.createElement(\"style\"),o=e.attributes||{};if(void 0===o.nonce){var r=n.nc;r&&(o.nonce=r)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),\"function\"==typeof e.insert)e.insert(t);else{var i=a(e.insert||\"head\");if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(t)}return t}var f,s=(f=[],function(e,t){return f[e]=t,f.filter(Boolean).join(\"\\n\")});function d(e,t,n,o){var r=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(e.styleSheet)e.styleSheet.cssText=s(t,r);else{var a=document.createTextNode(r),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function p(e,t,n){var o=n.css,r=n.media,a=n.sourceMap;if(r?e.setAttribute(\"media\",r):e.removeAttribute(\"media\"),a&&btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var v=null,b=0;function m(e,t){var n,o,r;if(t.singleton){var a=b++;n=v||(v=l(t)),o=d.bind(null,n,a,!1),r=d.bind(null,n,a,!0)}else n=l(t),o=p.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=r());var n=c(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var r=u(n[o]);i[r].references--}for(var a=c(e,t),l=0;l<n.length;l++){var f=u(n[l]);0===i[f].references&&(i[f].updater(),i.splice(f,1))}n=a}}}},function(e,t,n){(t=n(4)(!1)).push([e.i,\"INPUT:-webkit-autofill,SELECT:-webkit-autofill,TEXTAREA:-webkit-autofill{animation-name:onautofillstart}INPUT:not(:-webkit-autofill),SELECT:not(:-webkit-autofill),TEXTAREA:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{from{}}@keyframes onautofillcancel{from{}}\\n\",\"\"]),e.exports=t},function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",o=e[3];if(!o)return n;if(t&&\"function\"==typeof btoa){var r=(i=o,u=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),c=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(u),\"/*# \".concat(c,\" */\")),a=o.sources.map((function(e){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(a).concat([r]).join(\"\\n\")}var i,u,c;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,o){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var r={};if(o)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(r[i]=!0)}for(var u=0;u<e.length;u++){var c=[].concat(e[u]);o&&r[c[0]]||(n&&(c[2]?c[2]=\"\".concat(n,\" and \").concat(c[2]):c[2]=n),t.push(c))}},t}},function(e,t){!function(){if(\"undefined\"!=typeof window)try{var e=new window.CustomEvent(\"test\",{cancelable:!0});if(e.preventDefault(),!0!==e.defaultPrevented)throw new Error(\"Could not prevent default\")}catch(e){var t=function(e,t){var n,o;return(t=t||{}).bubbles=!!t.bubbles,t.cancelable=!!t.cancelable,(n=document.createEvent(\"CustomEvent\")).initCustomEvent(e,t.bubbles,t.cancelable,t.detail),o=n.preventDefault,n.preventDefault=function(){o.call(this);try{Object.defineProperty(this,\"defaultPrevented\",{get:function(){return!0}})}catch(e){this.defaultPrevented=!0}},n};t.prototype=window.Event.prototype,window.CustomEvent=t}}()}]);","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.github.io/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute('data-target');\r\n\r\n if (!selector || selector === '#') {\r\n const hrefAttr = element.getAttribute('href');\r\n\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = parseFloat(transitionDuration);\r\n const floatTransitionDelay = parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => (obj[0] || obj).nodeType;\r\n\r\nconst emulateTransitionEnd = (element, duration) => {\r\n let called = false;\r\n const durationPadding = 5;\r\n const emulatedDuration = duration + durationPadding;\r\n function listener() {\r\n called = true;\r\n element.removeEventListener(TRANSITION_END, listener);\r\n }\r\n\r\n element.addEventListener(TRANSITION_END, listener);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(element);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n if (element.style && element.parentNode && element.parentNode.style) {\r\n const elementStyle = getComputedStyle(element);\r\n const parentNodeStyle = getComputedStyle(element.parentNode);\r\n\r\n return (\r\n elementStyle.display !== 'none' &&\r\n parentNodeStyle.display !== 'none' &&\r\n elementStyle.visibility !== 'hidden'\r\n );\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => function () {};\r\n\r\nconst reflow = (element) => element.offsetHeight;\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport {\r\n getjQuery,\r\n TRANSITION_END,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n emulateTransitionEnd,\r\n typeCheckConfig,\r\n isVisible,\r\n findShadowRoot,\r\n noop,\r\n reflow,\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): dom/data.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst mapData = (() => {\r\n const storeData = {};\r\n let id = 1;\r\n return {\r\n set(element, key, data) {\r\n if (typeof element.bsKey === 'undefined') {\r\n element.bsKey = {\r\n key,\r\n id,\r\n };\r\n id++;\r\n }\r\n\r\n storeData[element.bsKey.id] = data;\r\n },\r\n get(element, key) {\r\n if (!element || typeof element.bsKey === 'undefined') {\r\n return null;\r\n }\r\n\r\n const keyProperties = element.bsKey;\r\n if (keyProperties.key === key) {\r\n return storeData[keyProperties.id];\r\n }\r\n\r\n return null;\r\n },\r\n delete(element, key) {\r\n if (typeof element.bsKey === 'undefined') {\r\n return;\r\n }\r\n\r\n const keyProperties = element.bsKey;\r\n if (keyProperties.key === key) {\r\n delete storeData[keyProperties.id];\r\n delete element.bsKey;\r\n }\r\n },\r\n };\r\n})();\r\n\r\nconst Data = {\r\n setData(instance, key, data) {\r\n mapData.set(instance, key, data);\r\n },\r\n getData(instance, key) {\r\n return mapData.get(instance, key);\r\n },\r\n removeData(instance, key) {\r\n mapData.delete(instance, key);\r\n },\r\n};\r\n\r\nexport default Data;\r\n","/* istanbul ignore file */\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): dom/polyfill.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getUID } from '../util/index';\r\n\r\nlet find = Element.prototype.querySelectorAll;\r\nlet findOne = Element.prototype.querySelector;\r\n\r\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\r\nconst defaultPreventedPreservedOnDispatch = (() => {\r\n const e = new CustomEvent('Bootstrap', {\r\n cancelable: true,\r\n });\r\n\r\n const element = document.createElement('div');\r\n element.addEventListener('Bootstrap', () => null);\r\n\r\n e.preventDefault();\r\n element.dispatchEvent(e);\r\n return e.defaultPrevented;\r\n})();\r\n\r\nconst scopeSelectorRegex = /:scope\\b/;\r\nconst supportScopeQuery = (() => {\r\n const element = document.createElement('div');\r\n\r\n try {\r\n element.querySelectorAll(':scope *');\r\n } catch (_) {\r\n return false;\r\n }\r\n\r\n return true;\r\n})();\r\n\r\nif (!supportScopeQuery) {\r\n find = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelectorAll(selector);\r\n }\r\n\r\n const hasId = Boolean(this.id);\r\n\r\n if (!hasId) {\r\n this.id = getUID('scope');\r\n }\r\n\r\n let nodeList = null;\r\n try {\r\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`);\r\n nodeList = this.querySelectorAll(selector);\r\n } finally {\r\n if (!hasId) {\r\n this.removeAttribute('id');\r\n }\r\n }\r\n\r\n return nodeList;\r\n };\r\n\r\n findOne = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelector(selector);\r\n }\r\n\r\n const matches = find.call(this, selector);\r\n\r\n if (typeof matches[0] !== 'undefined') {\r\n return matches[0];\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport { find, findOne, defaultPreventedPreservedOnDispatch };\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): dom/event-handler.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from '../util/index';\r\nimport { defaultPreventedPreservedOnDispatch } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst $ = getjQuery();\r\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\r\nconst stripNameRegex = /\\..*/;\r\nconst stripUidRegex = /::\\d+$/;\r\nconst eventRegistry = {}; // Events storage\r\nlet uidEvent = 1;\r\nconst customEvents = {\r\n mouseenter: 'mouseover',\r\n mouseleave: 'mouseout',\r\n};\r\nconst nativeEvents = [\r\n 'click',\r\n 'dblclick',\r\n 'mouseup',\r\n 'mousedown',\r\n 'contextmenu',\r\n 'mousewheel',\r\n 'DOMMouseScroll',\r\n 'mouseover',\r\n 'mouseout',\r\n 'mousemove',\r\n 'selectstart',\r\n 'selectend',\r\n 'keydown',\r\n 'keypress',\r\n 'keyup',\r\n 'orientationchange',\r\n 'touchstart',\r\n 'touchmove',\r\n 'touchend',\r\n 'touchcancel',\r\n 'pointerdown',\r\n 'pointermove',\r\n 'pointerup',\r\n 'pointerleave',\r\n 'pointercancel',\r\n 'gesturestart',\r\n 'gesturechange',\r\n 'gestureend',\r\n 'focus',\r\n 'blur',\r\n 'change',\r\n 'reset',\r\n 'select',\r\n 'submit',\r\n 'focusin',\r\n 'focusout',\r\n 'load',\r\n 'unload',\r\n 'beforeunload',\r\n 'resize',\r\n 'move',\r\n 'DOMContentLoaded',\r\n 'readystatechange',\r\n 'error',\r\n 'abort',\r\n 'scroll',\r\n];\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Private methods\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nfunction getUidEvent(element, uid) {\r\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++;\r\n}\r\n\r\nfunction getEvent(element) {\r\n const uid = getUidEvent(element);\r\n\r\n element.uidEvent = uid;\r\n eventRegistry[uid] = eventRegistry[uid] || {};\r\n\r\n return eventRegistry[uid];\r\n}\r\n\r\nfunction bootstrapHandler(element, fn) {\r\n return function handler(event) {\r\n event.delegateTarget = element;\r\n\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(element, [event]);\r\n };\r\n}\r\n\r\nfunction bootstrapDelegationHandler(element, selector, fn) {\r\n return function handler(event) {\r\n const domElements = element.querySelectorAll(selector);\r\n\r\n for (let { target } = event; target && target !== this; target = target.parentNode) {\r\n for (let i = domElements.length; i--; ) {\r\n if (domElements[i] === target) {\r\n event.delegateTarget = target;\r\n\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(target, [event]);\r\n }\r\n }\r\n }\r\n\r\n // To please ESLint\r\n return null;\r\n };\r\n}\r\n\r\nfunction findHandler(events, handler, delegationSelector = null) {\r\n const uidEventList = Object.keys(events);\r\n\r\n for (let i = 0, len = uidEventList.length; i < len; i++) {\r\n const event = events[uidEventList[i]];\r\n\r\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\r\n return event;\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\r\n const delegation = typeof handler === 'string';\r\n const originalHandler = delegation ? delegationFn : handler;\r\n\r\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\r\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '');\r\n const custom = customEvents[typeEvent];\r\n\r\n if (custom) {\r\n typeEvent = custom;\r\n }\r\n\r\n const isNative = nativeEvents.indexOf(typeEvent) > -1;\r\n\r\n if (!isNative) {\r\n typeEvent = originalTypeEvent;\r\n }\r\n\r\n return [delegation, originalHandler, typeEvent];\r\n}\r\n\r\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n if (!handler) {\r\n handler = delegationFn;\r\n delegationFn = null;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const events = getEvent(element);\r\n const handlers = events[typeEvent] || (events[typeEvent] = {});\r\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);\r\n\r\n if (previousFn) {\r\n previousFn.oneOff = previousFn.oneOff && oneOff;\r\n\r\n return;\r\n }\r\n\r\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));\r\n const fn = delegation\r\n ? bootstrapDelegationHandler(element, handler, delegationFn)\r\n : bootstrapHandler(element, handler);\r\n\r\n fn.delegationSelector = delegation ? handler : null;\r\n fn.originalHandler = originalHandler;\r\n fn.oneOff = oneOff;\r\n fn.uidEvent = uid;\r\n handlers[uid] = fn;\r\n\r\n element.addEventListener(typeEvent, fn, delegation);\r\n}\r\n\r\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\r\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\r\n\r\n if (!fn) {\r\n return;\r\n }\r\n\r\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\r\n delete events[typeEvent][fn.uidEvent];\r\n}\r\n\r\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\r\n const storeElementEvent = events[typeEvent] || {};\r\n\r\n Object.keys(storeElementEvent).forEach((handlerKey) => {\r\n if (handlerKey.indexOf(namespace) > -1) {\r\n const event = storeElementEvent[handlerKey];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n}\r\n\r\nconst EventHandler = {\r\n on(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, false);\r\n },\r\n\r\n one(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, true);\r\n },\r\n\r\n off(element, originalTypeEvent, handler, delegationFn) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const inNamespace = typeEvent !== originalTypeEvent;\r\n const events = getEvent(element);\r\n const isNamespace = originalTypeEvent.charAt(0) === '.';\r\n\r\n if (typeof originalHandler !== 'undefined') {\r\n // Simplest case: handler is passed, remove that listener ONLY.\r\n if (!events || !events[typeEvent]) {\r\n return;\r\n }\r\n\r\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);\r\n return;\r\n }\r\n\r\n if (isNamespace) {\r\n Object.keys(events).forEach((elementEvent) => {\r\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\r\n });\r\n }\r\n\r\n const storeElementEvent = events[typeEvent] || {};\r\n Object.keys(storeElementEvent).forEach((keyHandlers) => {\r\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\r\n\r\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\r\n const event = storeElementEvent[keyHandlers];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n },\r\n\r\n trigger(element, event, args) {\r\n if (typeof event !== 'string' || !element) {\r\n return null;\r\n }\r\n\r\n const typeEvent = event.replace(stripNameRegex, '');\r\n const inNamespace = event !== typeEvent;\r\n const isNative = nativeEvents.indexOf(typeEvent) > -1;\r\n\r\n let jQueryEvent;\r\n let bubbles = true;\r\n let nativeDispatch = true;\r\n let defaultPrevented = false;\r\n let evt = null;\r\n\r\n if (inNamespace && $) {\r\n jQueryEvent = $.Event(event, args);\r\n\r\n $(element).trigger(jQueryEvent);\r\n bubbles = !jQueryEvent.isPropagationStopped();\r\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\r\n defaultPrevented = jQueryEvent.isDefaultPrevented();\r\n }\r\n\r\n if (isNative) {\r\n evt = document.createEvent('HTMLEvents');\r\n evt.initEvent(typeEvent, bubbles, true);\r\n } else {\r\n evt = new CustomEvent(event, {\r\n bubbles,\r\n cancelable: true,\r\n });\r\n }\r\n\r\n // merge custom information in our event\r\n if (typeof args !== 'undefined') {\r\n Object.keys(args).forEach((key) => {\r\n Object.defineProperty(evt, key, {\r\n get() {\r\n return args[key];\r\n },\r\n });\r\n });\r\n }\r\n\r\n if (defaultPrevented) {\r\n evt.preventDefault();\r\n\r\n if (!defaultPreventedPreservedOnDispatch) {\r\n Object.defineProperty(evt, 'defaultPrevented', {\r\n get: () => true,\r\n });\r\n }\r\n }\r\n\r\n if (nativeDispatch) {\r\n element.dispatchEvent(evt);\r\n }\r\n\r\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\r\n jQueryEvent.preventDefault();\r\n }\r\n\r\n return evt;\r\n },\r\n};\r\n\r\nexport default EventHandler;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): alert.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'alert';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.alert';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_CLOSED = `closed${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASSNAME_ALERT = 'alert';\r\nconst CLASSNAME_FADE = 'fade';\r\nconst CLASSNAME_SHOW = 'show';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Alert {\r\n constructor(element) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n close(element) {\r\n const rootElement = element ? this._getRootElement(element) : this._element;\r\n const customEvent = this._triggerCloseEvent(rootElement);\r\n\r\n if (customEvent === null || customEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._removeElement(rootElement);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _getRootElement(element) {\r\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`);\r\n }\r\n\r\n _triggerCloseEvent(element) {\r\n return EventHandler.trigger(element, EVENT_CLOSE);\r\n }\r\n\r\n _removeElement(element) {\r\n element.classList.remove(CLASSNAME_SHOW);\r\n\r\n if (!element.classList.contains(CLASSNAME_FADE)) {\r\n this._destroyElement(element);\r\n return;\r\n }\r\n\r\n const transitionDuration = getTransitionDurationFromElement(element);\r\n\r\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element));\r\n emulateTransitionEnd(element, transitionDuration);\r\n }\r\n\r\n _destroyElement(element) {\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n\r\n EventHandler.trigger(element, EVENT_CLOSED);\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Alert(this);\r\n }\r\n\r\n if (config === 'close') {\r\n data[config](this);\r\n }\r\n });\r\n }\r\n\r\n static handleDismiss(alertInstance) {\r\n return function (event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n alertInstance.close(this);\r\n };\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .alert to jQuery only if jQuery is present\r\n */\r\n\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Alert.jQueryInterface;\r\n $.fn[NAME].Constructor = Alert;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Alert.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Alert;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): button.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'button';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.button';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\r\n\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Button {\r\n constructor(element) {\r\n this._element = element;\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\r\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Button(this);\r\n }\r\n\r\n if (config === 'toggle') {\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event) => {\r\n event.preventDefault();\r\n\r\n const button = event.target.closest(SELECTOR_DATA_TOGGLE);\r\n\r\n let data = Data.getData(button, DATA_KEY);\r\n if (!data) {\r\n data = new Button(button);\r\n }\r\n\r\n data.toggle();\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .button to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Button.jQueryInterface;\r\n $.fn[NAME].Constructor = Button;\r\n\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Button.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Button;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nfunction normalizeData(val) {\r\n if (val === 'true') {\r\n return true;\r\n }\r\n\r\n if (val === 'false') {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === '' || val === 'null') {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {\r\n ...element.dataset,\r\n };\r\n\r\n Object.keys(attributes).forEach((key) => {\r\n attributes[key] = normalizeData(attributes[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`));\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + document.body.scrollTop,\r\n left: rect.left + document.body.scrollLeft,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n\r\n toggleClass(element, className) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n } else {\r\n element.classList.add(className);\r\n }\r\n },\r\n};\r\n\r\nexport default Manipulator;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): dom/selector-engine.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { find as findFn, findOne } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n matches(element, selector) {\r\n return element.matches(selector);\r\n },\r\n\r\n find(selector, element = document.documentElement) {\r\n return [].concat(...findFn.call(element, selector));\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return findOne.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n const children = [].concat(...element.children);\r\n\r\n return children.filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\r\n if (this.matches(ancestor, selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (this.matches(next, selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): carousel.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isVisible,\r\n reflow,\r\n triggerTransitionEnd,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'carousel';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.carousel';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ARROW_LEFT_KEY = 'ArrowLeft';\r\nconst ARROW_RIGHT_KEY = 'ArrowRight';\r\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\r\nconst SWIPE_THRESHOLD = 40;\r\n\r\nconst Default = {\r\n interval: 5000,\r\n keyboard: true,\r\n slide: false,\r\n pause: 'hover',\r\n wrap: true,\r\n touch: true,\r\n};\r\n\r\nconst DefaultType = {\r\n interval: '(number|boolean)',\r\n keyboard: 'boolean',\r\n slide: '(boolean|string)',\r\n pause: '(string|boolean)',\r\n wrap: 'boolean',\r\n touch: 'boolean',\r\n};\r\n\r\nconst DIRECTION_NEXT = 'next';\r\nconst DIRECTION_PREV = 'prev';\r\nconst DIRECTION_LEFT = 'left';\r\nconst DIRECTION_RIGHT = 'right';\r\n\r\nconst EVENT_SLIDE = `slide${EVENT_KEY}`;\r\nconst EVENT_SLID = `slid${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`;\r\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`;\r\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;\r\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;\r\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`;\r\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;\r\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`;\r\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_CAROUSEL = 'carousel';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_SLIDE = 'slide';\r\nconst CLASS_NAME_RIGHT = 'carousel-item-right';\r\nconst CLASS_NAME_LEFT = 'carousel-item-left';\r\nconst CLASS_NAME_NEXT = 'carousel-item-next';\r\nconst CLASS_NAME_PREV = 'carousel-item-prev';\r\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\r\n\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\r\nconst SELECTOR_ITEM = '.carousel-item';\r\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\r\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\r\nconst SELECTOR_INDICATORS = '.carousel-indicators';\r\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\r\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\r\n\r\nconst PointerType = {\r\n TOUCH: 'touch',\r\n PEN: 'pen',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\nclass Carousel {\r\n constructor(element, config) {\r\n this._items = null;\r\n this._interval = null;\r\n this._activeElement = null;\r\n this._isPaused = false;\r\n this._isSliding = false;\r\n this.touchTimeout = null;\r\n this.touchStartX = 0;\r\n this.touchDeltaX = 0;\r\n\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\r\n this._touchSupported =\r\n 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\r\n this._pointerEvent = Boolean(window.PointerEvent);\r\n\r\n this._addEventListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n next() {\r\n if (!this._isSliding) {\r\n this._slide(DIRECTION_NEXT);\r\n }\r\n }\r\n\r\n nextWhenVisible() {\r\n // Don't call next when the page isn't visible\r\n // or the carousel or its parent isn't visible\r\n if (!document.hidden && isVisible(this._element)) {\r\n this.next();\r\n }\r\n }\r\n\r\n prev() {\r\n if (!this._isSliding) {\r\n this._slide(DIRECTION_PREV);\r\n }\r\n }\r\n\r\n pause(event) {\r\n if (!event) {\r\n this._isPaused = true;\r\n }\r\n\r\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\r\n triggerTransitionEnd(this._element);\r\n this.cycle(true);\r\n }\r\n\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n cycle(event) {\r\n if (!event) {\r\n this._isPaused = false;\r\n }\r\n\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n if (this._config && this._config.interval && !this._isPaused) {\r\n this._interval = setInterval(\r\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\r\n this._config.interval\r\n );\r\n }\r\n }\r\n\r\n to(index) {\r\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeIndex = this._getItemIndex(this._activeElement);\r\n\r\n if (index > this._items.length - 1 || index < 0) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\r\n return;\r\n }\r\n\r\n if (activeIndex === index) {\r\n this.pause();\r\n this.cycle();\r\n return;\r\n }\r\n\r\n const direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\r\n\r\n this._slide(direction, this._items[index]);\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, EVENT_KEY);\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._items = null;\r\n this._config = null;\r\n this._element = null;\r\n this._interval = null;\r\n this._isPaused = null;\r\n this._isSliding = null;\r\n this._activeElement = null;\r\n this._indicatorsElement = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _handleSwipe() {\r\n const absDeltax = Math.abs(this.touchDeltaX);\r\n\r\n if (absDeltax <= SWIPE_THRESHOLD) {\r\n return;\r\n }\r\n\r\n const direction = absDeltax / this.touchDeltaX;\r\n\r\n this.touchDeltaX = 0;\r\n\r\n // swipe left\r\n if (direction > 0) {\r\n this.prev();\r\n }\r\n\r\n // swipe right\r\n if (direction < 0) {\r\n this.next();\r\n }\r\n }\r\n\r\n _addEventListeners() {\r\n if (this._config.keyboard) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event));\r\n }\r\n\r\n if (this._config.pause === 'hover') {\r\n EventHandler.on(this._element, EVENT_MOUSEENTER, (event) => this.pause(event));\r\n EventHandler.on(this._element, EVENT_MOUSELEAVE, (event) => this.cycle(event));\r\n }\r\n\r\n if (this._config.touch && this._touchSupported) {\r\n this._addTouchEventListeners();\r\n }\r\n }\r\n\r\n _addTouchEventListeners() {\r\n const start = (event) => {\r\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\r\n this.touchStartX = event.clientX;\r\n } else if (!this._pointerEvent) {\r\n this.touchStartX = event.touches[0].clientX;\r\n }\r\n };\r\n\r\n const move = (event) => {\r\n // ensure swiping with one touch and not pinching\r\n if (event.touches && event.touches.length > 1) {\r\n this.touchDeltaX = 0;\r\n } else {\r\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\r\n }\r\n };\r\n\r\n const end = (event) => {\r\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\r\n this.touchDeltaX = event.clientX - this.touchStartX;\r\n }\r\n\r\n this._handleSwipe();\r\n if (this._config.pause === 'hover') {\r\n // If it's a touch-enabled device, mouseenter/leave are fired as\r\n // part of the mouse compatibility events on first tap - the carousel\r\n // would stop cycling until user tapped out of it;\r\n // here, we listen for touchend, explicitly pause the carousel\r\n // (as if it's the second time we tap on it, mouseenter compat event\r\n // is NOT fired) and after a timeout (to allow for mouse compatibility\r\n // events to fire) we explicitly restart cycling\r\n\r\n this.pause();\r\n if (this.touchTimeout) {\r\n clearTimeout(this.touchTimeout);\r\n }\r\n\r\n this.touchTimeout = setTimeout(\r\n (event) => this.cycle(event),\r\n TOUCHEVENT_COMPAT_WAIT + this._config.interval\r\n );\r\n }\r\n };\r\n\r\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach((itemImg) => {\r\n EventHandler.on(itemImg, EVENT_DRAG_START, (e) => e.preventDefault());\r\n });\r\n\r\n if (this._pointerEvent) {\r\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_POINTERUP, (event) => end(event));\r\n\r\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\r\n } else {\r\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => move(event));\r\n EventHandler.on(this._element, EVENT_TOUCHEND, (event) => end(event));\r\n }\r\n }\r\n\r\n _keydown(event) {\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case ARROW_LEFT_KEY:\r\n event.preventDefault();\r\n this.prev();\r\n break;\r\n case ARROW_RIGHT_KEY:\r\n event.preventDefault();\r\n this.next();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n _getItemIndex(element) {\r\n this._items =\r\n element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];\r\n\r\n return this._items.indexOf(element);\r\n }\r\n\r\n _getItemByDirection(direction, activeElement) {\r\n const isNextDirection = direction === DIRECTION_NEXT;\r\n const isPrevDirection = direction === DIRECTION_PREV;\r\n const activeIndex = this._getItemIndex(activeElement);\r\n const lastItemIndex = this._items.length - 1;\r\n const isGoingToWrap =\r\n (isPrevDirection && activeIndex === 0) || (isNextDirection && activeIndex === lastItemIndex);\r\n\r\n if (isGoingToWrap && !this._config.wrap) {\r\n return activeElement;\r\n }\r\n\r\n const delta = direction === DIRECTION_PREV ? -1 : 1;\r\n const itemIndex = (activeIndex + delta) % this._items.length;\r\n\r\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\r\n }\r\n\r\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\r\n const targetIndex = this._getItemIndex(relatedTarget);\r\n const fromIndex = this._getItemIndex(\r\n SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\r\n );\r\n\r\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\r\n relatedTarget,\r\n direction: eventDirectionName,\r\n from: fromIndex,\r\n to: targetIndex,\r\n });\r\n }\r\n\r\n _setActiveIndicatorElement(element) {\r\n if (this._indicatorsElement) {\r\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);\r\n for (let i = 0; i < indicators.length; i++) {\r\n indicators[i].classList.remove(CLASS_NAME_ACTIVE);\r\n }\r\n\r\n const nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\r\n\r\n if (nextIndicator) {\r\n nextIndicator.classList.add(CLASS_NAME_ACTIVE);\r\n }\r\n }\r\n }\r\n\r\n _slide(direction, element) {\r\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeElementIndex = this._getItemIndex(activeElement);\r\n const nextElement =\r\n element || (activeElement && this._getItemByDirection(direction, activeElement));\r\n\r\n const nextElementIndex = this._getItemIndex(nextElement);\r\n const isCycling = Boolean(this._interval);\r\n\r\n let directionalClassName;\r\n let orderClassName;\r\n let eventDirectionName;\r\n\r\n if (direction === DIRECTION_NEXT) {\r\n directionalClassName = CLASS_NAME_LEFT;\r\n orderClassName = CLASS_NAME_NEXT;\r\n eventDirectionName = DIRECTION_LEFT;\r\n } else {\r\n directionalClassName = CLASS_NAME_RIGHT;\r\n orderClassName = CLASS_NAME_PREV;\r\n eventDirectionName = DIRECTION_RIGHT;\r\n }\r\n\r\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\r\n this._isSliding = false;\r\n return;\r\n }\r\n\r\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\r\n if (slideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!activeElement || !nextElement) {\r\n // Some weirdness is happening, so we bail\r\n return;\r\n }\r\n\r\n this._isSliding = true;\r\n\r\n if (isCycling) {\r\n this.pause();\r\n }\r\n\r\n this._setActiveIndicatorElement(nextElement);\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\r\n nextElement.classList.add(orderClassName);\r\n\r\n reflow(nextElement);\r\n\r\n activeElement.classList.add(directionalClassName);\r\n nextElement.classList.add(directionalClassName);\r\n\r\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\r\n if (nextElementInterval) {\r\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\r\n this._config.interval = nextElementInterval;\r\n } else {\r\n this._config.interval = this._config.defaultInterval || this._config.interval;\r\n }\r\n\r\n const transitionDuration = getTransitionDurationFromElement(activeElement);\r\n\r\n EventHandler.one(activeElement, TRANSITION_END, () => {\r\n nextElement.classList.remove(directionalClassName, orderClassName);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);\r\n\r\n this._isSliding = false;\r\n\r\n setTimeout(() => {\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n }, 0);\r\n });\r\n\r\n emulateTransitionEnd(activeElement, transitionDuration);\r\n } else {\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n this._isSliding = false;\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n }\r\n\r\n if (isCycling) {\r\n this.cycle();\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static carouselInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n let _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(element),\r\n };\r\n\r\n if (typeof config === 'object') {\r\n _config = {\r\n ..._config,\r\n ...config,\r\n };\r\n }\r\n\r\n const action = typeof config === 'string' ? config : _config.slide;\r\n\r\n if (!data) {\r\n data = new Carousel(element, _config);\r\n }\r\n\r\n if (typeof config === 'number') {\r\n data.to(config);\r\n } else if (typeof action === 'string') {\r\n if (typeof data[action] === 'undefined') {\r\n throw new TypeError(`No method named \"${action}\"`);\r\n }\r\n\r\n data[action]();\r\n } else if (_config.interval && _config.ride) {\r\n data.pause();\r\n data.cycle();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Carousel.carouselInterface(this, config);\r\n });\r\n }\r\n\r\n static dataApiClickHandler(event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\r\n return;\r\n }\r\n\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n const slideIndex = this.getAttribute('data-slide-to');\r\n\r\n if (slideIndex) {\r\n config.interval = false;\r\n }\r\n\r\n Carousel.carouselInterface(target, config);\r\n\r\n if (slideIndex) {\r\n Data.getData(target, DATA_KEY).to(slideIndex);\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\r\n\r\n for (let i = 0, len = carousels.length; i < len; i++) {\r\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY));\r\n }\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .carousel to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Carousel.jQueryInterface;\r\n $.fn[NAME].Constructor = Carousel;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Carousel.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Carousel;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): collapse.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isElement,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'collapse';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.collapse';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n toggle: true,\r\n parent: '',\r\n};\r\n\r\nconst DefaultType = {\r\n toggle: 'boolean',\r\n parent: '(string|element)',\r\n};\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_COLLAPSE = 'collapse';\r\nconst CLASS_NAME_COLLAPSING = 'collapsing';\r\nconst CLASS_NAME_COLLAPSED = 'collapsed';\r\n\r\nconst WIDTH = 'width';\r\nconst HEIGHT = 'height';\r\n\r\nconst SELECTOR_ACTIVES = '.show, .collapsing';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Collapse {\r\n constructor(element, config) {\r\n this._isTransitioning = false;\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._triggerArray = SelectorEngine.find(\r\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\r\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\r\n );\r\n\r\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggleList.length; i < len; i++) {\r\n const elem = toggleList[i];\r\n const selector = getSelectorFromElement(elem);\r\n const filterElement = SelectorEngine.find(selector).filter(\r\n (foundElem) => foundElem === element\r\n );\r\n\r\n if (selector !== null && filterElement.length) {\r\n this._selector = selector;\r\n this._triggerArray.push(elem);\r\n }\r\n }\r\n\r\n this._parent = this._config.parent ? this._getParent() : null;\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle();\r\n }\r\n\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n }\r\n\r\n show() {\r\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n let actives;\r\n let activesData;\r\n\r\n if (this._parent) {\r\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter((elem) => {\r\n if (typeof this._config.parent === 'string') {\r\n return elem.getAttribute('data-parent') === this._config.parent;\r\n }\r\n\r\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\r\n });\r\n\r\n if (actives.length === 0) {\r\n actives = null;\r\n }\r\n }\r\n\r\n const container = SelectorEngine.findOne(this._selector);\r\n if (actives) {\r\n const tempActiveData = actives.filter((elem) => container !== elem);\r\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null;\r\n\r\n if (activesData && activesData._isTransitioning) {\r\n return;\r\n }\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (actives) {\r\n actives.forEach((elemActive) => {\r\n if (container !== elemActive) {\r\n Collapse.collapseInterface(elemActive, 'hide');\r\n }\r\n\r\n if (!activesData) {\r\n Data.setData(elemActive, DATA_KEY, null);\r\n }\r\n });\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n\r\n this._element.style[dimension] = 0;\r\n\r\n if (this._triggerArray.length) {\r\n this._triggerArray.forEach((element) => {\r\n element.classList.remove(CLASS_NAME_COLLAPSED);\r\n element.setAttribute('aria-expanded', true);\r\n });\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n const complete = () => {\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n this._element.style[dimension] = '';\r\n\r\n this.setTransitioning(false);\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n };\r\n\r\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\r\n const scrollSize = `scroll${capitalizedDimension}`;\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\r\n }\r\n\r\n hide() {\r\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\r\n\r\n reflow(this._element);\r\n\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n const triggerArrayLength = this._triggerArray.length;\r\n if (triggerArrayLength > 0) {\r\n for (let i = 0; i < triggerArrayLength; i++) {\r\n const trigger = this._triggerArray[i];\r\n const elem = getElementFromSelector(trigger);\r\n\r\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\r\n trigger.classList.add(CLASS_NAME_COLLAPSED);\r\n trigger.setAttribute('aria-expanded', false);\r\n }\r\n }\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n const complete = () => {\r\n this.setTransitioning(false);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.style[dimension] = '';\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n }\r\n\r\n setTransitioning(isTransitioning) {\r\n this._isTransitioning = isTransitioning;\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._config = null;\r\n this._parent = null;\r\n this._element = null;\r\n this._triggerArray = null;\r\n this._isTransitioning = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n config.toggle = Boolean(config.toggle); // Coerce string values\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDimension() {\r\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT;\r\n }\r\n\r\n _getParent() {\r\n let { parent } = this._config;\r\n\r\n if (isElement(parent)) {\r\n // it's a jQuery object\r\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\r\n parent = parent[0];\r\n }\r\n } else {\r\n parent = SelectorEngine.findOne(parent);\r\n }\r\n\r\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`;\r\n\r\n SelectorEngine.find(selector, parent).forEach((element) => {\r\n const selected = getElementFromSelector(element);\r\n\r\n this._addAriaAndCollapsedClass(selected, [element]);\r\n });\r\n\r\n return parent;\r\n }\r\n\r\n _addAriaAndCollapsedClass(element, triggerArray) {\r\n if (!element || !triggerArray.length) {\r\n return;\r\n }\r\n\r\n const isOpen = element.classList.contains(CLASS_NAME_SHOW);\r\n\r\n triggerArray.forEach((elem) => {\r\n if (isOpen) {\r\n elem.classList.remove(CLASS_NAME_COLLAPSED);\r\n } else {\r\n elem.classList.add(CLASS_NAME_COLLAPSED);\r\n }\r\n\r\n elem.setAttribute('aria-expanded', isOpen);\r\n });\r\n }\r\n\r\n // Static\r\n\r\n static collapseInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n const _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\r\n _config.toggle = false;\r\n }\r\n\r\n if (!data) {\r\n data = new Collapse(element, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Collapse.collapseInterface(this, config);\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\r\n if (event.target.tagName === 'A') {\r\n event.preventDefault();\r\n }\r\n\r\n const triggerData = Manipulator.getDataAttributes(this);\r\n const selector = getSelectorFromElement(this);\r\n const selectorElements = SelectorEngine.find(selector);\r\n\r\n selectorElements.forEach((element) => {\r\n const data = Data.getData(element, DATA_KEY);\r\n let config;\r\n if (data) {\r\n // update parent attribute\r\n if (data._parent === null && typeof triggerData.parent === 'string') {\r\n data._config.parent = triggerData.parent;\r\n data._parent = data._getParent();\r\n }\r\n\r\n config = 'toggle';\r\n } else {\r\n config = triggerData;\r\n }\r\n\r\n Collapse.collapseInterface(element, config);\r\n });\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .collapse to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Collapse.jQueryInterface;\r\n $.fn[NAME].Constructor = Collapse;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Collapse.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Collapse;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): modal.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isVisible,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'modal';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.modal';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\nconst ESCAPE_KEY = 'Escape';\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n focus: true,\r\n show: true,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: '(boolean|string)',\r\n keyboard: 'boolean',\r\n focus: 'boolean',\r\n show: 'boolean',\r\n};\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\r\nconst CLASS_NAME_BACKDROP = 'modal-backdrop';\r\nconst CLASS_NAME_OPEN = 'modal-open';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_STATIC = 'modal-static';\r\n\r\nconst SELECTOR_DIALOG = '.modal-dialog';\r\nconst SELECTOR_MODAL_BODY = '.modal-body';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]';\r\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\r\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\r\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Modal {\r\n constructor(element, config) {\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element);\r\n this._backdrop = null;\r\n this._isShown = false;\r\n this._isBodyOverflowing = false;\r\n this._ignoreBackdropClick = false;\r\n this._isTransitioning = false;\r\n this._scrollbarWidth = 0;\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget,\r\n });\r\n\r\n if (this._isShown || showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n\r\n this._checkScrollbar();\r\n this._setScrollbar();\r\n\r\n this._adjustDialog();\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, (event) =>\r\n this.hide(event)\r\n );\r\n\r\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\r\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, (event) => {\r\n if (event.target === this._element) {\r\n this._ignoreBackdropClick = true;\r\n }\r\n });\r\n });\r\n\r\n this._showBackdrop(() => this._showElement(relatedTarget));\r\n }\r\n\r\n hide(event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (!this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = false;\r\n const transition = this._element.classList.contains(CLASS_NAME_FADE);\r\n\r\n if (transition) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.off(document, EVENT_FOCUSIN);\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\r\n\r\n if (transition) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, (event) => this._hideModal(event));\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n this._hideModal();\r\n }\r\n }\r\n\r\n dispose() {\r\n [window, this._element, this._dialog].forEach((htmlElement) =>\r\n EventHandler.off(htmlElement, EVENT_KEY)\r\n );\r\n\r\n /**\r\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\r\n * Do not move `document` in `htmlElements` array\r\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\r\n */\r\n EventHandler.off(document, EVENT_FOCUSIN);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._config = null;\r\n this._element = null;\r\n this._dialog = null;\r\n this._backdrop = null;\r\n this._isShown = null;\r\n this._isBodyOverflowing = null;\r\n this._ignoreBackdropClick = null;\r\n this._isTransitioning = null;\r\n this._scrollbarWidth = null;\r\n }\r\n\r\n handleUpdate() {\r\n this._adjustDialog();\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _showElement(relatedTarget) {\r\n const transition = this._element.classList.contains(CLASS_NAME_FADE);\r\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\r\n\r\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\r\n // Don't move modal's DOM position\r\n document.body.appendChild(this._element);\r\n }\r\n\r\n this._element.style.display = 'block';\r\n this._element.removeAttribute('aria-hidden');\r\n this._element.setAttribute('aria-modal', true);\r\n this._element.setAttribute('role', 'dialog');\r\n this._element.scrollTop = 0;\r\n\r\n if (modalBody) {\r\n modalBody.scrollTop = 0;\r\n }\r\n\r\n if (transition) {\r\n reflow(this._element);\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n if (this._config.focus) {\r\n this._enforceFocus();\r\n }\r\n\r\n const transitionComplete = () => {\r\n if (this._config.focus) {\r\n this._element.focus();\r\n }\r\n\r\n this._isTransitioning = false;\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget,\r\n });\r\n };\r\n\r\n if (transition) {\r\n const transitionDuration = getTransitionDurationFromElement(this._dialog);\r\n\r\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete);\r\n emulateTransitionEnd(this._dialog, transitionDuration);\r\n } else {\r\n transitionComplete();\r\n }\r\n }\r\n\r\n _enforceFocus() {\r\n EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop\r\n EventHandler.on(document, EVENT_FOCUSIN, (event) => {\r\n if (\r\n document !== event.target &&\r\n this._element !== event.target &&\r\n !this._element.contains(event.target)\r\n ) {\r\n this._element.focus();\r\n }\r\n });\r\n }\r\n\r\n _setEscapeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n event.preventDefault();\r\n this.hide();\r\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n } else {\r\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);\r\n }\r\n }\r\n\r\n _setResizeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog());\r\n } else {\r\n EventHandler.off(window, EVENT_RESIZE);\r\n }\r\n }\r\n\r\n _hideModal() {\r\n this._element.style.display = 'none';\r\n this._element.setAttribute('aria-hidden', true);\r\n this._element.removeAttribute('aria-modal');\r\n this._element.removeAttribute('role');\r\n this._isTransitioning = false;\r\n this._showBackdrop(() => {\r\n document.body.classList.remove(CLASS_NAME_OPEN);\r\n this._resetAdjustments();\r\n this._resetScrollbar();\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n });\r\n }\r\n\r\n _removeBackdrop() {\r\n this._backdrop.parentNode.removeChild(this._backdrop);\r\n this._backdrop = null;\r\n }\r\n\r\n _showBackdrop(callback) {\r\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';\r\n\r\n if (this._isShown && this._config.backdrop) {\r\n this._backdrop = document.createElement('div');\r\n this._backdrop.className = CLASS_NAME_BACKDROP;\r\n\r\n if (animate) {\r\n this._backdrop.classList.add(animate);\r\n }\r\n\r\n document.body.appendChild(this._backdrop);\r\n\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, (event) => {\r\n if (this._ignoreBackdropClick) {\r\n this._ignoreBackdropClick = false;\r\n return;\r\n }\r\n\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n this._triggerBackdropTransition();\r\n });\r\n\r\n if (animate) {\r\n reflow(this._backdrop);\r\n }\r\n\r\n this._backdrop.classList.add(CLASS_NAME_SHOW);\r\n\r\n if (!animate) {\r\n callback();\r\n return;\r\n }\r\n\r\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);\r\n\r\n EventHandler.one(this._backdrop, TRANSITION_END, callback);\r\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration);\r\n } else if (!this._isShown && this._backdrop) {\r\n this._backdrop.classList.remove(CLASS_NAME_SHOW);\r\n\r\n const callbackRemove = () => {\r\n this._removeBackdrop();\r\n callback();\r\n };\r\n\r\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\r\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);\r\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);\r\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration);\r\n } else {\r\n callbackRemove();\r\n }\r\n } else {\r\n callback();\r\n }\r\n }\r\n\r\n _triggerBackdropTransition() {\r\n if (this._config.backdrop === 'static') {\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\r\n\r\n if (!isModalOverflowing) {\r\n this._element.style.overflowY = 'hidden';\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_STATIC);\r\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog);\r\n EventHandler.off(this._element, TRANSITION_END);\r\n EventHandler.one(this._element, TRANSITION_END, () => {\r\n this._element.classList.remove(CLASS_NAME_STATIC);\r\n if (!isModalOverflowing) {\r\n EventHandler.one(this._element, TRANSITION_END, () => {\r\n this._element.style.overflowY = '';\r\n });\r\n emulateTransitionEnd(this._element, modalTransitionDuration);\r\n }\r\n });\r\n emulateTransitionEnd(this._element, modalTransitionDuration);\r\n this._element.focus();\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n // ----------------------------------------------------------------------\r\n // the following methods are used to handle overflowing modals\r\n // ----------------------------------------------------------------------\r\n\r\n _adjustDialog() {\r\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\r\n\r\n if (!this._isBodyOverflowing && isModalOverflowing) {\r\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`;\r\n }\r\n\r\n if (this._isBodyOverflowing && !isModalOverflowing) {\r\n this._element.style.paddingRight = `${this._scrollbarWidth}px`;\r\n }\r\n }\r\n\r\n _resetAdjustments() {\r\n this._element.style.paddingLeft = '';\r\n this._element.style.paddingRight = '';\r\n }\r\n\r\n _checkScrollbar() {\r\n const rect = document.body.getBoundingClientRect();\r\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\r\n this._scrollbarWidth = this._getScrollbarWidth();\r\n }\r\n\r\n _setScrollbar() {\r\n if (this._isBodyOverflowing) {\r\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\r\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\r\n\r\n // Adjust fixed content padding\r\n SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((element) => {\r\n const actualPadding = element.style.paddingRight;\r\n const calculatedPadding = window.getComputedStyle(element)['padding-right'];\r\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding);\r\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`;\r\n });\r\n\r\n // Adjust sticky content margin\r\n SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach((element) => {\r\n const actualMargin = element.style.marginRight;\r\n const calculatedMargin = window.getComputedStyle(element)['margin-right'];\r\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin);\r\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`;\r\n });\r\n\r\n // Adjust body padding\r\n const actualPadding = document.body.style.paddingRight;\r\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right'];\r\n\r\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding);\r\n document.body.style.paddingRight = `${\r\n parseFloat(calculatedPadding) + this._scrollbarWidth\r\n }px`;\r\n }\r\n\r\n document.body.classList.add(CLASS_NAME_OPEN);\r\n }\r\n\r\n _resetScrollbar() {\r\n // Restore fixed content padding\r\n SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((element) => {\r\n const padding = Manipulator.getDataAttribute(element, 'padding-right');\r\n if (typeof padding !== 'undefined') {\r\n Manipulator.removeDataAttribute(element, 'padding-right');\r\n element.style.paddingRight = padding;\r\n }\r\n });\r\n\r\n // Restore sticky content and navbar-toggler margin\r\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`).forEach((element) => {\r\n const margin = Manipulator.getDataAttribute(element, 'margin-right');\r\n if (typeof margin !== 'undefined') {\r\n Manipulator.removeDataAttribute(element, 'margin-right');\r\n element.style.marginRight = margin;\r\n }\r\n });\r\n\r\n // Restore body padding\r\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right');\r\n if (typeof padding === 'undefined') {\r\n document.body.style.paddingRight = '';\r\n } else {\r\n Manipulator.removeDataAttribute(document.body, 'padding-right');\r\n document.body.style.paddingRight = padding;\r\n }\r\n }\r\n\r\n _getScrollbarWidth() {\r\n // thx d.walsh\r\n const scrollDiv = document.createElement('div');\r\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\r\n document.body.appendChild(scrollDiv);\r\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\r\n document.body.removeChild(scrollDiv);\r\n return scrollbarWidth;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config, relatedTarget) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (!data) {\r\n data = new Modal(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](relatedTarget);\r\n } else if (_config.show) {\r\n data.show(relatedTarget);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (this.tagName === 'A' || this.tagName === 'AREA') {\r\n event.preventDefault();\r\n }\r\n\r\n EventHandler.one(target, EVENT_SHOW, (showEvent) => {\r\n if (showEvent.defaultPrevented) {\r\n // only register focus restorer if modal will actually get shown\r\n return;\r\n }\r\n\r\n EventHandler.one(target, EVENT_HIDDEN, () => {\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n });\r\n\r\n let data = Data.getData(target, DATA_KEY);\r\n if (!data) {\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n\r\n data = new Modal(target, config);\r\n }\r\n\r\n data.show(this);\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .modal to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Modal.jQueryInterface;\r\n $.fn[NAME].Constructor = Modal;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Modal.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Modal;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): util/sanitizer.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst uriAttrs = [\r\n 'background',\r\n 'cite',\r\n 'href',\r\n 'itemtype',\r\n 'longdesc',\r\n 'poster',\r\n 'src',\r\n 'xlink:href',\r\n];\r\n\r\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n/**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;\r\n\r\n/**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\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;\r\n\r\nconst allowedAttribute = (attr, allowedAttributeList) => {\r\n const attrName = attr.nodeName.toLowerCase();\r\n\r\n if (allowedAttributeList.indexOf(attrName) !== -1) {\r\n if (uriAttrs.indexOf(attrName) !== -1) {\r\n return Boolean(\r\n attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)\r\n );\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp);\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (let i = 0, len = regExp.length; i < len; i++) {\r\n if (attrName.match(regExp[i])) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const DefaultAllowlist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: [],\r\n};\r\n\r\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\r\n if (!unsafeHtml.length) {\r\n return unsafeHtml;\r\n }\r\n\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeHtml);\r\n }\r\n\r\n const domParser = new window.DOMParser();\r\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\r\n const allowlistKeys = Object.keys(allowList);\r\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\r\n\r\n for (let i = 0, len = elements.length; i < len; i++) {\r\n const el = elements[i];\r\n const elName = el.nodeName.toLowerCase();\r\n\r\n if (allowlistKeys.indexOf(elName) === -1) {\r\n el.parentNode.removeChild(el);\r\n\r\n continue;\r\n }\r\n\r\n const attributeList = [].concat(...el.attributes);\r\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || []);\r\n\r\n attributeList.forEach((attr) => {\r\n if (!allowedAttribute(attr, allowedAttributes)) {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n });\r\n }\r\n\r\n return createdDocument.body.innerHTML;\r\n}\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): tooltip.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n findShadowRoot,\r\n getTransitionDurationFromElement,\r\n getUID,\r\n isElement,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport Popper from 'popper.js';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'tooltip';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.tooltip';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-tooltip';\r\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g');\r\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'allowList', 'sanitizeFn'];\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n template: 'string',\r\n title: '(string|element|function)',\r\n trigger: 'string',\r\n delay: '(number|object)',\r\n html: 'boolean',\r\n selector: '(string|boolean)',\r\n placement: '(string|function)',\r\n offset: '(number|string|function)',\r\n container: '(string|element|boolean)',\r\n fallbackPlacement: '(string|array)',\r\n boundary: '(string|element)',\r\n sanitize: 'boolean',\r\n sanitizeFn: '(null|function)',\r\n allowList: 'object',\r\n popperConfig: '(null|object)',\r\n};\r\n\r\nconst AttachmentMap = {\r\n AUTO: 'auto',\r\n TOP: 'top',\r\n RIGHT: 'right',\r\n BOTTOM: 'bottom',\r\n LEFT: 'left',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n template:\r\n '<div class=\"tooltip\" role=\"tooltip\">' +\r\n '<div class=\"tooltip-arrow\"></div>' +\r\n '<div class=\"tooltip-inner\"></div></div>',\r\n trigger: 'hover focus',\r\n title: '',\r\n delay: 0,\r\n html: false,\r\n selector: false,\r\n placement: 'top',\r\n offset: 0,\r\n container: false,\r\n fallbackPlacement: 'flip',\r\n boundary: 'scrollParent',\r\n sanitize: true,\r\n sanitizeFn: null,\r\n allowList: DefaultAllowlist,\r\n popperConfig: null,\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_MODAL = 'modal';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst HOVER_STATE_SHOW = 'show';\r\nconst HOVER_STATE_OUT = 'out';\r\n\r\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\r\n\r\nconst TRIGGER_HOVER = 'hover';\r\nconst TRIGGER_FOCUS = 'focus';\r\nconst TRIGGER_CLICK = 'click';\r\nconst TRIGGER_MANUAL = 'manual';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tooltip {\r\n constructor(element, config) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's tooltips require Popper.js (https://popper.js.org)\");\r\n }\r\n\r\n // private\r\n this._isEnabled = true;\r\n this._timeout = 0;\r\n this._hoverState = '';\r\n this._activeTrigger = {};\r\n this._popper = null;\r\n\r\n // Protected\r\n this.element = element;\r\n this.config = this._getConfig(config);\r\n this.tip = null;\r\n\r\n this._setListeners();\r\n Data.setData(element, this.constructor.DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get DATA_KEY() {\r\n return DATA_KEY;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return EVENT_KEY;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n enable() {\r\n this._isEnabled = true;\r\n }\r\n\r\n disable() {\r\n this._isEnabled = false;\r\n }\r\n\r\n toggleEnabled() {\r\n this._isEnabled = !this._isEnabled;\r\n }\r\n\r\n toggle(event) {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n let context = Data.getData(event.delegateTarget, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig());\r\n Data.setData(event.delegateTarget, dataKey, context);\r\n }\r\n\r\n context._activeTrigger.click = !context._activeTrigger.click;\r\n\r\n if (context._isWithActiveTrigger()) {\r\n context._enter(null, context);\r\n } else {\r\n context._leave(null, context);\r\n }\r\n } else {\r\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\r\n this._leave(null, this);\r\n return;\r\n }\r\n\r\n this._enter(null, this);\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n\r\n Data.removeData(this.element, this.constructor.DATA_KEY);\r\n\r\n EventHandler.off(this.element, this.constructor.EVENT_KEY);\r\n EventHandler.off(\r\n this.element.closest(`.${CLASS_NAME_MODAL}`),\r\n 'hide.bs.modal',\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.tip) {\r\n this.tip.parentNode.removeChild(this.tip);\r\n }\r\n\r\n this._isEnabled = null;\r\n this._timeout = null;\r\n this._hoverState = null;\r\n this._activeTrigger = null;\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n this._popper = null;\r\n this.element = null;\r\n this.config = null;\r\n this.tip = null;\r\n }\r\n\r\n show() {\r\n if (this.element.style.display === 'none') {\r\n throw new Error('Please use show on visible elements');\r\n }\r\n\r\n if (this.isWithContent() && this._isEnabled) {\r\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW);\r\n const shadowRoot = findShadowRoot(this.element);\r\n const isInTheDom =\r\n shadowRoot === null\r\n ? this.element.ownerDocument.documentElement.contains(this.element)\r\n : shadowRoot.contains(this.element);\r\n\r\n if (showEvent.defaultPrevented || !isInTheDom) {\r\n return;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const tipId = getUID(this.constructor.NAME);\r\n\r\n tip.setAttribute('id', tipId);\r\n this.element.setAttribute('aria-describedby', tipId);\r\n\r\n this.setContent();\r\n\r\n if (this.config.animation) {\r\n tip.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const placement =\r\n typeof this.config.placement === 'function'\r\n ? this.config.placement.call(this, tip, this.element)\r\n : this.config.placement;\r\n\r\n const attachment = this._getAttachment(placement);\r\n this._addAttachmentClass(attachment);\r\n\r\n const container = this._getContainer();\r\n Data.setData(tip, this.constructor.DATA_KEY, this);\r\n\r\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\r\n container.appendChild(tip);\r\n }\r\n\r\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED);\r\n\r\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));\r\n\r\n tip.classList.add(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement) {\r\n [].concat(...document.body.children).forEach((element) => {\r\n EventHandler.on(element, 'mouseover', noop());\r\n });\r\n }\r\n\r\n const complete = () => {\r\n if (this.config.animation) {\r\n this._fixTransition();\r\n }\r\n\r\n const prevHoverState = this._hoverState;\r\n this._hoverState = null;\r\n\r\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN);\r\n\r\n if (prevHoverState === HOVER_STATE_OUT) {\r\n this._leave(null, this);\r\n }\r\n };\r\n\r\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\r\n const transitionDuration = getTransitionDurationFromElement(this.tip);\r\n EventHandler.one(this.tip, TRANSITION_END, complete);\r\n emulateTransitionEnd(this.tip, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n if (!this._popper) {\r\n return;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const complete = () => {\r\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\r\n tip.parentNode.removeChild(tip);\r\n }\r\n\r\n this._cleanTipClass();\r\n this.element.removeAttribute('aria-describedby');\r\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN);\r\n this._popper.destroy();\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((element) => EventHandler.off(element, 'mouseover', noop));\r\n }\r\n\r\n this._activeTrigger[TRIGGER_CLICK] = false;\r\n this._activeTrigger[TRIGGER_FOCUS] = false;\r\n this._activeTrigger[TRIGGER_HOVER] = false;\r\n\r\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\r\n const transitionDuration = getTransitionDurationFromElement(tip);\r\n\r\n EventHandler.one(tip, TRANSITION_END, complete);\r\n emulateTransitionEnd(tip, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n\r\n this._hoverState = '';\r\n }\r\n\r\n update() {\r\n if (this._popper !== null) {\r\n this._popper.scheduleUpdate();\r\n }\r\n }\r\n\r\n // Protected\r\n\r\n isWithContent() {\r\n return Boolean(this.getTitle());\r\n }\r\n\r\n getTipElement() {\r\n if (this.tip) {\r\n return this.tip;\r\n }\r\n\r\n const element = document.createElement('div');\r\n element.innerHTML = this.config.template;\r\n\r\n this.tip = element.children[0];\r\n return this.tip;\r\n }\r\n\r\n setContent() {\r\n const tip = this.getTipElement();\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n }\r\n\r\n setElementContent(element, content) {\r\n if (element === null) {\r\n return;\r\n }\r\n\r\n if (typeof content === 'object' && isElement(content)) {\r\n if (content.jquery) {\r\n content = content[0];\r\n }\r\n\r\n // content is a DOM node or a jQuery\r\n if (this.config.html) {\r\n if (content.parentNode !== element) {\r\n element.innerHTML = '';\r\n element.appendChild(content);\r\n }\r\n } else {\r\n element.textContent = content.textContent;\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this.config.html) {\r\n if (this.config.sanitize) {\r\n content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn);\r\n }\r\n\r\n element.innerHTML = content;\r\n } else {\r\n element.textContent = content;\r\n }\r\n }\r\n\r\n getTitle() {\r\n let title = this.element.getAttribute('data-original-title');\r\n\r\n if (!title) {\r\n title =\r\n typeof this.config.title === 'function'\r\n ? this.config.title.call(this.element)\r\n : this.config.title;\r\n }\r\n\r\n return title;\r\n }\r\n\r\n // Private\r\n\r\n _getPopperConfig(attachment) {\r\n const defaultBsConfig = {\r\n placement: attachment,\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n behavior: this.config.fallbackPlacement,\r\n },\r\n arrow: {\r\n element: `.${this.constructor.NAME}-arrow`,\r\n },\r\n preventOverflow: {\r\n boundariesElement: this.config.boundary,\r\n },\r\n },\r\n onCreate: (data) => {\r\n if (data.originalPlacement !== data.placement) {\r\n this._handlePopperPlacementChange(data);\r\n }\r\n },\r\n onUpdate: (data) => this._handlePopperPlacementChange(data),\r\n };\r\n\r\n return {\r\n ...defaultBsConfig,\r\n ...this.config.popperConfig,\r\n };\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`);\r\n }\r\n\r\n _getOffset() {\r\n const offset = {};\r\n\r\n if (typeof this.config.offset === 'function') {\r\n offset.fn = (data) => {\r\n data.offsets = {\r\n ...data.offsets,\r\n ...(this.config.offset(data.offsets, this.element) || {}),\r\n };\r\n\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this.config.offset;\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getContainer() {\r\n if (this.config.container === false) {\r\n return document.body;\r\n }\r\n\r\n if (isElement(this.config.container)) {\r\n return this.config.container;\r\n }\r\n\r\n return SelectorEngine.findOne(this.config.container);\r\n }\r\n\r\n _getAttachment(placement) {\r\n return AttachmentMap[placement.toUpperCase()];\r\n }\r\n\r\n _setListeners() {\r\n const triggers = this.config.trigger.split(' ');\r\n\r\n triggers.forEach((trigger) => {\r\n if (trigger === 'click') {\r\n EventHandler.on(this.element, this.constructor.Event.CLICK, this.config.selector, (event) =>\r\n this.toggle(event)\r\n );\r\n } else if (trigger !== TRIGGER_MANUAL) {\r\n const eventIn =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSEENTER\r\n : this.constructor.Event.FOCUSIN;\r\n const eventOut =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSELEAVE\r\n : this.constructor.Event.FOCUSOUT;\r\n\r\n EventHandler.on(this.element, eventIn, this.config.selector, (event) => this._enter(event));\r\n EventHandler.on(this.element, eventOut, this.config.selector, (event) =>\r\n this._leave(event)\r\n );\r\n }\r\n });\r\n\r\n this._hideModalHandler = () => {\r\n if (this.element) {\r\n this.hide();\r\n }\r\n };\r\n\r\n EventHandler.on(\r\n this.element.closest(`.${CLASS_NAME_MODAL}`),\r\n 'hide.bs.modal',\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.config.selector) {\r\n this.config = {\r\n ...this.config,\r\n trigger: 'manual',\r\n selector: '',\r\n };\r\n } else {\r\n this._fixTitle();\r\n }\r\n }\r\n\r\n _fixTitle() {\r\n const titleType = typeof this.element.getAttribute('data-original-title');\r\n\r\n if (this.element.getAttribute('title') || titleType !== 'string') {\r\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\r\n\r\n this.element.setAttribute('title', '');\r\n }\r\n }\r\n\r\n _enter(event, context) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n context = context || Data.getData(event.delegateTarget, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig());\r\n Data.setData(event.delegateTarget, dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\r\n }\r\n\r\n if (\r\n context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\r\n context._hoverState === HOVER_STATE_SHOW\r\n ) {\r\n context._hoverState = HOVER_STATE_SHOW;\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_SHOW;\r\n\r\n if (!context.config.delay || !context.config.delay.show) {\r\n context.show();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_SHOW) {\r\n context.show();\r\n }\r\n }, context.config.delay.show);\r\n }\r\n\r\n _leave(event, context) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n context = context || Data.getData(event.delegateTarget, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig());\r\n Data.setData(event.delegateTarget, dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\r\n }\r\n\r\n if (context._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_OUT;\r\n\r\n if (!context.config.delay || !context.config.delay.hide) {\r\n context.hide();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_OUT) {\r\n context.hide();\r\n }\r\n }, context.config.delay.hide);\r\n }\r\n\r\n _isWithActiveTrigger() {\r\n for (const trigger in this._activeTrigger) {\r\n if (this._activeTrigger[trigger]) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this.element);\r\n\r\n Object.keys(dataAttributes).forEach((dataAttr) => {\r\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n });\r\n\r\n if (config && typeof config.container === 'object' && config.container.jquery) {\r\n config.container = config.container[0];\r\n }\r\n\r\n config = {\r\n ...this.constructor.Default,\r\n ...dataAttributes,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (typeof config.delay === 'number') {\r\n config.delay = {\r\n show: config.delay,\r\n hide: config.delay,\r\n };\r\n }\r\n\r\n if (typeof config.title === 'number') {\r\n config.title = config.title.toString();\r\n }\r\n\r\n if (typeof config.content === 'number') {\r\n config.content = config.content.toString();\r\n }\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (config.sanitize) {\r\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getDelegateConfig() {\r\n const config = {};\r\n\r\n if (this.config) {\r\n for (const key in this.config) {\r\n if (this.constructor.Default[key] !== this.config[key]) {\r\n config[key] = this.config[key];\r\n }\r\n }\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n _handlePopperPlacementChange(popperData) {\r\n this.tip = popperData.instance.popper;\r\n this._cleanTipClass();\r\n this._addAttachmentClass(this._getAttachment(popperData.placement));\r\n }\r\n\r\n _fixTransition() {\r\n const tip = this.getTipElement();\r\n const initConfigAnimation = this.config.animation;\r\n if (tip.getAttribute('x-placement') !== null) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_FADE);\r\n this.config.animation = false;\r\n this.hide();\r\n this.show();\r\n this.config.animation = initConfigAnimation;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Tooltip(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .tooltip to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Tooltip.jQueryInterface;\r\n $.fn[NAME].Constructor = Tooltip;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Tooltip.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Tooltip;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): popover.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from './util/index';\r\nimport Data from './dom/data';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport Tooltip from './tooltip';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'popover';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.popover';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-popover';\r\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g');\r\n\r\nconst Default = {\r\n ...Tooltip.Default,\r\n placement: 'right',\r\n trigger: 'click',\r\n content: '',\r\n template:\r\n '<div class=\"popover\" role=\"tooltip\">' +\r\n '<div class=\"popover-arrow\"></div>' +\r\n '<h3 class=\"popover-header\"></h3>' +\r\n '<div class=\"popover-body\"></div></div>',\r\n};\r\n\r\nconst DefaultType = {\r\n ...Tooltip.DefaultType,\r\n content: '(string|element|function)',\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst SELECTOR_TITLE = '.popover-header';\r\nconst SELECTOR_CONTENT = '.popover-body';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Popover extends Tooltip {\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get DATA_KEY() {\r\n return DATA_KEY;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return EVENT_KEY;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Overrides\r\n\r\n isWithContent() {\r\n return this.getTitle() || this._getContent();\r\n }\r\n\r\n setContent() {\r\n const tip = this.getTipElement();\r\n\r\n // we use append for html objects to maintain js events\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());\r\n let content = this._getContent();\r\n if (typeof content === 'function') {\r\n content = content.call(this.element);\r\n }\r\n\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);\r\n\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n }\r\n\r\n // Private\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`);\r\n }\r\n\r\n _getContent() {\r\n return this.element.getAttribute('data-content') || this.config.content;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Popover(this, _config);\r\n Data.setData(this, DATA_KEY, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Popover.jQueryInterface;\r\n $.fn[NAME].Constructor = Popover;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Popover.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Popover;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): scrollspy.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n getSelectorFromElement,\r\n getUID,\r\n isElement,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'scrollspy';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.scrollspy';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n offset: 10,\r\n method: 'auto',\r\n target: '',\r\n};\r\n\r\nconst DefaultType = {\r\n offset: 'number',\r\n method: 'string',\r\n target: '(string|element)',\r\n};\r\n\r\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`;\r\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_NAV_LINKS = '.nav-link';\r\nconst SELECTOR_NAV_ITEMS = '.nav-item';\r\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\n\r\nconst METHOD_OFFSET = 'offset';\r\nconst METHOD_POSITION = 'position';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass ScrollSpy {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._scrollElement = element.tagName === 'BODY' ? window : element;\r\n this._config = this._getConfig(config);\r\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`;\r\n this._offsets = [];\r\n this._targets = [];\r\n this._activeTarget = null;\r\n this._scrollHeight = 0;\r\n\r\n EventHandler.on(this._scrollElement, EVENT_SCROLL, (event) => this._process(event));\r\n\r\n this.refresh();\r\n this._process();\r\n\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n refresh() {\r\n const autoMethod =\r\n this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\r\n\r\n const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\r\n\r\n const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\r\n\r\n this._offsets = [];\r\n this._targets = [];\r\n this._scrollHeight = this._getScrollHeight();\r\n\r\n const targets = SelectorEngine.find(this._selector);\r\n\r\n targets\r\n .map((element) => {\r\n const targetSelector = getSelectorFromElement(element);\r\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;\r\n\r\n if (target) {\r\n const targetBCR = target.getBoundingClientRect();\r\n if (targetBCR.width || targetBCR.height) {\r\n return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n .filter((item) => item)\r\n .sort((a, b) => a[0] - b[0])\r\n .forEach((item) => {\r\n this._offsets.push(item[0]);\r\n this._targets.push(item[1]);\r\n });\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._scrollElement, EVENT_KEY);\r\n\r\n this._element = null;\r\n this._scrollElement = null;\r\n this._config = null;\r\n this._selector = null;\r\n this._offsets = null;\r\n this._targets = null;\r\n this._activeTarget = null;\r\n this._scrollHeight = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (typeof config.target !== 'string' && isElement(config.target)) {\r\n let { id } = config.target;\r\n if (!id) {\r\n id = getUID(NAME);\r\n config.target.id = id;\r\n }\r\n\r\n config.target = `#${id}`;\r\n }\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getScrollTop() {\r\n return this._scrollElement === window\r\n ? this._scrollElement.pageYOffset\r\n : this._scrollElement.scrollTop;\r\n }\r\n\r\n _getScrollHeight() {\r\n return (\r\n this._scrollElement.scrollHeight ||\r\n Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)\r\n );\r\n }\r\n\r\n _getOffsetHeight() {\r\n return this._scrollElement === window\r\n ? window.innerHeight\r\n : this._scrollElement.getBoundingClientRect().height;\r\n }\r\n\r\n _process() {\r\n const scrollTop = this._getScrollTop() + this._config.offset;\r\n const scrollHeight = this._getScrollHeight();\r\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\r\n\r\n if (this._scrollHeight !== scrollHeight) {\r\n this.refresh();\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n const target = this._targets[this._targets.length - 1];\r\n\r\n if (this._activeTarget !== target) {\r\n this._activate(target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\r\n this._activeTarget = null;\r\n this._clear();\r\n return;\r\n }\r\n\r\n for (let i = this._offsets.length; i--; ) {\r\n const isActiveTarget =\r\n this._activeTarget !== this._targets[i] &&\r\n scrollTop >= this._offsets[i] &&\r\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\r\n\r\n if (isActiveTarget) {\r\n this._activate(this._targets[i]);\r\n }\r\n }\r\n }\r\n\r\n _activate(target) {\r\n this._activeTarget = target;\r\n\r\n this._clear();\r\n\r\n const queries = this._selector\r\n .split(',')\r\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`);\r\n\r\n const link = SelectorEngine.findOne(queries.join(','));\r\n\r\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\r\n SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_TOGGLE,\r\n link.closest(SELECTOR_DROPDOWN)\r\n ).classList.add(CLASS_NAME_ACTIVE);\r\n\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n } else {\r\n // Set triggered link as active\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach((listGroup) => {\r\n // Set triggered links parents as active\r\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\r\n SelectorEngine.prev(\r\n listGroup,\r\n `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\r\n ).forEach((item) => item.classList.add(CLASS_NAME_ACTIVE));\r\n\r\n // Handle special case when .nav-link is inside .nav-item\r\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach((navItem) => {\r\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach((item) =>\r\n item.classList.add(CLASS_NAME_ACTIVE)\r\n );\r\n });\r\n });\r\n }\r\n\r\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\r\n relatedTarget: target,\r\n });\r\n }\r\n\r\n _clear() {\r\n SelectorEngine.find(this._selector)\r\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\r\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE));\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data) {\r\n data = new ScrollSpy(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n SelectorEngine.find(SELECTOR_DATA_SPY).forEach(\r\n (spy) => new ScrollSpy(spy, Manipulator.getDataAttributes(spy))\r\n );\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = ScrollSpy.jQueryInterface;\r\n $.fn[NAME].Constructor = ScrollSpy;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return ScrollSpy.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default ScrollSpy;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): tab.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n reflow,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'tab';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.tab';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_DISABLED = 'disabled';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tab {\r\n constructor(element) {\r\n this._element = element;\r\n\r\n Data.setData(this._element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n show() {\r\n if (\r\n (this._element.parentNode &&\r\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\r\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED)\r\n ) {\r\n return;\r\n }\r\n\r\n let previous;\r\n const target = getElementFromSelector(this._element);\r\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);\r\n\r\n if (listElement) {\r\n const itemSelector =\r\n listElement.nodeName === 'UL' || listElement.nodeName === 'OL'\r\n ? SELECTOR_ACTIVE_UL\r\n : SELECTOR_ACTIVE;\r\n previous = SelectorEngine.find(itemSelector, listElement);\r\n previous = previous[previous.length - 1];\r\n }\r\n\r\n let hideEvent = null;\r\n\r\n if (previous) {\r\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\r\n relatedTarget: this._element,\r\n });\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget: previous,\r\n });\r\n\r\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\r\n return;\r\n }\r\n\r\n this._activate(this._element, listElement);\r\n\r\n const complete = () => {\r\n EventHandler.trigger(previous, EVENT_HIDDEN, {\r\n relatedTarget: this._element,\r\n });\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget: previous,\r\n });\r\n };\r\n\r\n if (target) {\r\n this._activate(target, target.parentNode, complete);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _activate(element, container, callback) {\r\n const activeElements =\r\n container && (container.nodeName === 'UL' || container.nodeName === 'OL')\r\n ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container)\r\n : SelectorEngine.children(container, SELECTOR_ACTIVE);\r\n\r\n const active = activeElements[0];\r\n const isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);\r\n\r\n const complete = () => this._transitionComplete(element, active, callback);\r\n\r\n if (active && isTransitioning) {\r\n const transitionDuration = getTransitionDurationFromElement(active);\r\n active.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.one(active, TRANSITION_END, complete);\r\n emulateTransitionEnd(active, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n _transitionComplete(element, active, callback) {\r\n if (active) {\r\n active.classList.remove(CLASS_NAME_ACTIVE);\r\n\r\n const dropdownChild = SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_ACTIVE_CHILD,\r\n active.parentNode\r\n );\r\n\r\n if (dropdownChild) {\r\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE);\r\n }\r\n\r\n if (active.getAttribute('role') === 'tab') {\r\n active.setAttribute('aria-selected', false);\r\n }\r\n }\r\n\r\n element.classList.add(CLASS_NAME_ACTIVE);\r\n if (element.getAttribute('role') === 'tab') {\r\n element.setAttribute('aria-selected', true);\r\n }\r\n\r\n reflow(element);\r\n\r\n if (element.classList.contains(CLASS_NAME_FADE)) {\r\n element.classList.add(CLASS_NAME_SHOW);\r\n }\r\n\r\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\r\n const dropdownElement = element.closest(SELECTOR_DROPDOWN);\r\n\r\n if (dropdownElement) {\r\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE).forEach((dropdown) =>\r\n dropdown.classList.add(CLASS_NAME_ACTIVE)\r\n );\r\n }\r\n\r\n element.setAttribute('aria-expanded', true);\r\n }\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY) || new Tab(this);\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n\r\n const data = Data.getData(this, DATA_KEY) || new Tab(this);\r\n data.show();\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .tab to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Tab.jQueryInterface;\r\n $.fn[NAME].Constructor = Tab;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Tab.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Tab;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): toast.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getTransitionDurationFromElement,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'toast';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.toast';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_HIDE = 'hide';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_SHOWING = 'showing';\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n autohide: 'boolean',\r\n delay: 'number',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n autohide: true,\r\n delay: 5000,\r\n};\r\n\r\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Toast {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._timeout = null;\r\n this._setListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n show() {\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._clearTimeout();\r\n\r\n if (this._config.animation) {\r\n this._element.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const complete = () => {\r\n this._element.classList.remove(CLASS_NAME_SHOWING);\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n\r\n if (this._config.autohide) {\r\n this._timeout = setTimeout(() => {\r\n this.hide();\r\n }, this._config.delay);\r\n }\r\n };\r\n\r\n this._element.classList.remove(CLASS_NAME_HIDE);\r\n reflow(this._element);\r\n this._element.classList.add(CLASS_NAME_SHOWING);\r\n if (this._config.animation) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n hide() {\r\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const complete = () => {\r\n this._element.classList.add(CLASS_NAME_HIDE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n if (this._config.animation) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n dispose() {\r\n this._clearTimeout();\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n }\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n this._config = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _setListeners() {\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());\r\n }\r\n\r\n _clearTimeout() {\r\n clearTimeout(this._timeout);\r\n this._timeout = null;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data) {\r\n data = new Toast(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .toast to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Toast.jQueryInterface;\r\n $.fn[NAME].Constructor = Toast;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Toast.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Toast;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute('data-target');\r\n\r\n if (!selector || selector === '#') {\r\n const hrefAttr = element.getAttribute('href');\r\n\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = parseFloat(transitionDuration);\r\n const floatTransitionDelay = parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => (obj[0] || obj).nodeType;\r\n\r\nconst emulateTransitionEnd = (element, duration) => {\r\n let called = false;\r\n const durationPadding = 5;\r\n const emulatedDuration = duration + durationPadding;\r\n function listener() {\r\n called = true;\r\n element.removeEventListener(TRANSITION_END, listener);\r\n }\r\n\r\n element.addEventListener(TRANSITION_END, listener);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(element);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n if (element.style && element.parentNode && element.parentNode.style) {\r\n const elementStyle = getComputedStyle(element);\r\n const parentNodeStyle = getComputedStyle(element.parentNode);\r\n\r\n return (\r\n elementStyle.display !== 'none' &&\r\n parentNodeStyle.display !== 'none' &&\r\n elementStyle.visibility !== 'hidden'\r\n );\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => function () {};\r\n\r\nconst reflow = (element) => element.offsetHeight;\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst array = (collection) => {\r\n return Array.from(collection);\r\n};\r\n\r\nconst element = (tag) => {\r\n return document.createElement(tag);\r\n};\r\n\r\nexport {\r\n getjQuery,\r\n TRANSITION_END,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n emulateTransitionEnd,\r\n typeCheckConfig,\r\n isVisible,\r\n findShadowRoot,\r\n noop,\r\n reflow,\r\n array,\r\n element,\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/data.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst mapData = (() => {\r\n const storeData = {};\r\n let id = 1;\r\n return {\r\n set(element, key, data) {\r\n if (typeof element[key] === 'undefined') {\r\n element[key] = {\r\n key,\r\n id,\r\n };\r\n id++;\r\n }\r\n\r\n storeData[element[key].id] = data;\r\n },\r\n get(element, key) {\r\n if (!element || typeof element[key] === 'undefined') {\r\n return null;\r\n }\r\n\r\n const keyProperties = element[key];\r\n if (keyProperties.key === key) {\r\n return storeData[keyProperties.id];\r\n }\r\n\r\n return null;\r\n },\r\n delete(element, key) {\r\n if (typeof element[key] === 'undefined') {\r\n return;\r\n }\r\n\r\n const keyProperties = element[key];\r\n if (keyProperties.key === key) {\r\n delete storeData[keyProperties.id];\r\n delete element[key];\r\n }\r\n },\r\n };\r\n})();\r\n\r\nconst Data = {\r\n setData(instance, key, data) {\r\n mapData.set(instance, key, data);\r\n },\r\n getData(instance, key) {\r\n return mapData.get(instance, key);\r\n },\r\n removeData(instance, key) {\r\n mapData.delete(instance, key);\r\n },\r\n};\r\n\r\nexport default Data;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nfunction normalizeData(val) {\r\n if (val === 'true') {\r\n return true;\r\n }\r\n\r\n if (val === 'false') {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === '' || val === 'null') {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {\r\n ...element.dataset,\r\n };\r\n\r\n Object.keys(attributes).forEach((key) => {\r\n attributes[key] = normalizeData(attributes[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`));\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + document.body.scrollTop,\r\n left: rect.left + document.body.scrollLeft,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n\r\n style(element, style) {\r\n Object.assign(element.style, style);\r\n },\r\n\r\n toggleClass(element, className) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n } else {\r\n element.classList.add(className);\r\n }\r\n },\r\n\r\n addClass(element, className) {\r\n if (element.classList.contains(className)) return;\r\n element.classList.add(className);\r\n },\r\n\r\n addStyle(element, style) {\r\n Object.keys(style).forEach((property) => {\r\n element.style[property] = style[property];\r\n });\r\n },\r\n\r\n removeClass(element, className) {\r\n if (!element.classList.contains(className)) return;\r\n element.classList.remove(className);\r\n },\r\n\r\n hasClass(element, className) {\r\n return element.classList.contains(className);\r\n },\r\n};\r\n\r\nexport default Manipulator;\r\n","/* istanbul ignore file */\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/polyfill.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getUID } from '../util/index';\r\n\r\nlet findElements = Element.prototype.querySelectorAll;\r\nlet findElement = Element.prototype.querySelector;\r\n\r\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\r\nconst defaultPreventedPreservedOnDispatch = (() => {\r\n const e = new CustomEvent('Bootstrap', {\r\n cancelable: true,\r\n });\r\n\r\n const element = document.createElement('div');\r\n element.addEventListener('Bootstrap', () => null);\r\n\r\n e.preventDefault();\r\n element.dispatchEvent(e);\r\n return e.defaultPrevented;\r\n})();\r\n\r\nconst scopeSelectorRegex = /:scope\\b/;\r\nconst supportScopeQuery = (() => {\r\n const element = document.createElement('div');\r\n\r\n try {\r\n element.querySelectorAll(':scope *');\r\n } catch (_) {\r\n return false;\r\n }\r\n\r\n return true;\r\n})();\r\n\r\nif (!supportScopeQuery) {\r\n findElements = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelectorAll(selector);\r\n }\r\n\r\n const hasId = Boolean(this.id);\r\n\r\n if (!hasId) {\r\n this.id = getUID('scope');\r\n }\r\n\r\n let nodeList = null;\r\n try {\r\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`);\r\n nodeList = this.querySelectorAll(selector);\r\n } finally {\r\n if (!hasId) {\r\n this.removeAttribute('id');\r\n }\r\n }\r\n\r\n return nodeList;\r\n };\r\n\r\n findElement = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelector(selector);\r\n }\r\n\r\n const matches = find.call(this, selector);\r\n\r\n if (typeof matches[0] !== 'undefined') {\r\n return matches[0];\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n\r\nconst find = findElements;\r\nconst findOne = findElement;\r\n\r\nexport { find, findOne, defaultPreventedPreservedOnDispatch };\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { find as findFn, findOne } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n closest(element, selector) {\r\n return element.closest(selector);\r\n },\r\n\r\n matches(element, selector) {\r\n return element.matches(selector);\r\n },\r\n\r\n find(selector, element = document.documentElement) {\r\n return [].concat(...findFn.call(element, selector));\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return findOne.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n const children = [].concat(...element.children);\r\n\r\n return children.filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\r\n if (this.matches(ancestor, selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (this.matches(next, selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n","import { element } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\nimport 'detect-autofill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'input';\r\nconst DATA_KEY = 'mdb.input';\r\nconst CLASSNAME_WRAPPER = 'form-outline';\r\nconst CLASSNAME_ACTIVE = 'active';\r\nconst CLASSNAME_NOTCH = 'form-notch';\r\nconst CLASSNAME_NOTCH_LEADING = 'form-notch-leading';\r\nconst CLASSNAME_NOTCH_MIDDLE = 'form-notch-middle';\r\nconst CLASSNAME_NOTCH_TRAILING = 'form-notch-trailing';\r\nconst CLASSNAME_PLACEHOLDER_ACTIVE = 'placeholder-active';\r\n\r\nconst SELECTOR_OUTLINE_INPUT = `.${CLASSNAME_WRAPPER} input`;\r\nconst SELECTOR_OUTLINE_TEXTAREA = `.${CLASSNAME_WRAPPER} textarea`;\r\nconst SELECTOR_NOTCH = `.${CLASSNAME_NOTCH}`;\r\nconst SELECTOR_NOTCH_LEADING = `.${CLASSNAME_NOTCH_LEADING}`;\r\nconst SELECTOR_NOTCH_MIDDLE = `.${CLASSNAME_NOTCH_MIDDLE}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Input {\r\n constructor(element) {\r\n this._element = element;\r\n this._label = null;\r\n this._labelWidth = 0;\r\n this._labelMarginLeft = 0;\r\n this._notchLeading = null;\r\n this._notchMiddle = null;\r\n this._notchTrailing = null;\r\n this._initiated = false;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n this.init();\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get input() {\r\n const inputElement =\r\n SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n return inputElement;\r\n }\r\n\r\n // Public\r\n init() {\r\n if (this._initiated) {\r\n return;\r\n }\r\n\r\n this._getLabelData();\r\n this._applyDivs();\r\n this._applyNotch();\r\n this._activate();\r\n this._initiated = true;\r\n }\r\n\r\n update() {\r\n this._getLabelData();\r\n this._getNotchData();\r\n this._applyNotch();\r\n this._activate();\r\n }\r\n\r\n forceActive() {\r\n Manipulator.addClass(this.input, CLASSNAME_ACTIVE);\r\n }\r\n\r\n dispose() {\r\n this._removeBorder();\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n _getLabelData() {\r\n this._label = SelectorEngine.findOne('label', this._element);\r\n if (this._label === null) {\r\n this._showPlaceholder();\r\n } else {\r\n this._getLabelWidth();\r\n this._getLabelPositionInInputGroup();\r\n }\r\n }\r\n\r\n _showPlaceholder() {\r\n Manipulator.addClass(this.input, CLASSNAME_PLACEHOLDER_ACTIVE);\r\n }\r\n\r\n _getNotchData() {\r\n this._notchMiddle = SelectorEngine.findOne(SELECTOR_NOTCH_MIDDLE, this._element);\r\n this._notchLeading = SelectorEngine.findOne(SELECTOR_NOTCH_LEADING, this._element);\r\n }\r\n\r\n _getLabelWidth() {\r\n this._labelWidth = this._label.clientWidth * 0.8 + 8;\r\n }\r\n\r\n _getLabelPositionInInputGroup() {\r\n this._labelMarginLeft = 0;\r\n\r\n if (!this._element.classList.contains('input-group')) return;\r\n const input = this.input;\r\n const prefix = SelectorEngine.prev(input, '.input-group-text')[0];\r\n if (prefix === undefined) {\r\n this._labelMarginLeft = 0;\r\n } else {\r\n this._labelMarginLeft = prefix.offsetWidth - 1;\r\n }\r\n }\r\n\r\n _applyDivs() {\r\n const notchWrapper = element('div');\r\n Manipulator.addClass(notchWrapper, CLASSNAME_NOTCH);\r\n this._notchLeading = element('div');\r\n Manipulator.addClass(this._notchLeading, CLASSNAME_NOTCH_LEADING);\r\n this._notchMiddle = element('div');\r\n Manipulator.addClass(this._notchMiddle, CLASSNAME_NOTCH_MIDDLE);\r\n this._notchTrailing = element('div');\r\n Manipulator.addClass(this._notchTrailing, CLASSNAME_NOTCH_TRAILING);\r\n\r\n notchWrapper.append(this._notchLeading);\r\n notchWrapper.append(this._notchMiddle);\r\n notchWrapper.append(this._notchTrailing);\r\n this._element.append(notchWrapper);\r\n }\r\n\r\n _applyNotch() {\r\n this._notchMiddle.style.width = `${this._labelWidth}px`;\r\n this._notchLeading.style.width = `${this._labelMarginLeft + 9}px`;\r\n\r\n if (this._label === null) return;\r\n this._label.style.marginLeft = `${this._labelMarginLeft}px`;\r\n }\r\n\r\n _removeBorder() {\r\n const border = SelectorEngine.findOne(SELECTOR_NOTCH, this._element);\r\n if (border) border.remove();\r\n }\r\n\r\n _activate(event) {\r\n this._getElements(event);\r\n const input = event ? event.target : this.input;\r\n\r\n if (input.value !== '') {\r\n Manipulator.addClass(input, CLASSNAME_ACTIVE);\r\n }\r\n }\r\n\r\n _getElements(event) {\r\n if (event) {\r\n this._element = event.target.parentNode;\r\n this._label = SelectorEngine.findOne('label', this._element);\r\n }\r\n\r\n if (event && this._label) {\r\n const prevLabelWidth = this._labelWidth;\r\n this._getLabelData();\r\n\r\n if (prevLabelWidth !== this._labelWidth) {\r\n this._notchMiddle = SelectorEngine.findOne('.form-notch-middle', event.target.parentNode);\r\n this._notchLeading = SelectorEngine.findOne(\r\n SELECTOR_NOTCH_LEADING,\r\n event.target.parentNode\r\n );\r\n this._applyNotch();\r\n }\r\n }\r\n }\r\n\r\n _deactivate(event) {\r\n const input = event ? event.target : this.input;\r\n if (input.value === '') {\r\n input.classList.remove(CLASSNAME_ACTIVE);\r\n }\r\n }\r\n\r\n static activate(instance) {\r\n return function (event) {\r\n instance._activate(event);\r\n };\r\n }\r\n\r\n static deactivate(instance) {\r\n return function (event) {\r\n instance._deactivate(event);\r\n };\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nEventHandler.on(document, 'focus', SELECTOR_OUTLINE_INPUT, Input.activate(new Input()));\r\nEventHandler.on(document, 'input', SELECTOR_OUTLINE_INPUT, Input.activate(new Input()));\r\nEventHandler.on(document, 'blur', SELECTOR_OUTLINE_INPUT, Input.deactivate(new Input()));\r\n\r\nEventHandler.on(document, 'focus', SELECTOR_OUTLINE_TEXTAREA, Input.activate(new Input()));\r\nEventHandler.on(document, 'input', SELECTOR_OUTLINE_TEXTAREA, Input.activate(new Input()));\r\nEventHandler.on(document, 'blur', SELECTOR_OUTLINE_TEXTAREA, Input.deactivate(new Input()));\r\n\r\nEventHandler.on(window, 'shown.bs.modal', (e) => {\r\n SelectorEngine.find(SELECTOR_OUTLINE_INPUT, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n});\r\n\r\nEventHandler.on(window, 'shown.bs.dropdown', (e) => {\r\n SelectorEngine.find(SELECTOR_OUTLINE_INPUT, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n});\r\n\r\nEventHandler.on(window, 'shown.bs.tab', (e) => {\r\n const targetId = e.target.href.split('#')[1];\r\n const target = SelectorEngine.findOne(`#${targetId}`);\r\n SelectorEngine.find(SELECTOR_OUTLINE_INPUT, target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n SelectorEngine.find(SELECTOR_OUTLINE_TEXTAREA, target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n});\r\n\r\n// auto-init\r\nSelectorEngine.find(`.${CLASSNAME_WRAPPER}`).map((element) => new Input(element));\r\n\r\n// auto-fill\r\nEventHandler.on(window, 'onautocomplete', (e) => {\r\n const instance = Input.getInstance(e.target.parentNode);\r\n if (!instance) return;\r\n instance.forceActive();\r\n});\r\n\r\nexport default Input;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha2): dropdown.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n getElementFromSelector,\r\n isElement,\r\n isVisible,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport Popper from 'popper.js';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'dropdown';\r\nconst VERSION = '5.0.0-alpha2';\r\nconst DATA_KEY = 'bs.dropdown';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ESCAPE_KEY = 'Escape';\r\nconst SPACE_KEY = 'Space';\r\nconst TAB_KEY = 'Tab';\r\nconst ARROW_UP_KEY = 'ArrowUp';\r\nconst ARROW_DOWN_KEY = 'ArrowDown';\r\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\r\n\r\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_CLICK = `click${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DISABLED = 'disabled';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_DROPUP = 'dropup';\r\nconst CLASS_NAME_DROPRIGHT = 'dropright';\r\nconst CLASS_NAME_DROPLEFT = 'dropleft';\r\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\r\nconst CLASS_NAME_NAVBAR = 'navbar';\r\nconst CLASS_NAME_POSITION_STATIC = 'position-static';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]';\r\nconst SELECTOR_FORM_CHILD = '.dropdown form';\r\nconst SELECTOR_MENU = '.dropdown-menu';\r\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\r\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\r\n\r\nconst PLACEMENT_TOP = 'top-start';\r\nconst PLACEMENT_TOPEND = 'top-end';\r\nconst PLACEMENT_BOTTOM = 'bottom-start';\r\nconst PLACEMENT_BOTTOMEND = 'bottom-end';\r\nconst PLACEMENT_RIGHT = 'right-start';\r\nconst PLACEMENT_LEFT = 'left-start';\r\n\r\nconst Default = {\r\n offset: 0,\r\n flip: true,\r\n boundary: 'scrollParent',\r\n reference: 'toggle',\r\n display: 'dynamic',\r\n popperConfig: null,\r\n};\r\n\r\nconst DefaultType = {\r\n offset: '(number|string|function)',\r\n flip: 'boolean',\r\n boundary: '(string|element)',\r\n reference: '(string|element)',\r\n display: 'string',\r\n popperConfig: '(null|object)',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Dropdown {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._popper = null;\r\n this._config = this._getConfig(config);\r\n this._menu = this._getMenuElement();\r\n this._inNavbar = this._detectNavbar();\r\n\r\n this._addEventListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\r\n return;\r\n }\r\n\r\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW);\r\n\r\n Dropdown.clearMenus();\r\n\r\n if (isActive) {\r\n return;\r\n }\r\n\r\n this.show();\r\n }\r\n\r\n show() {\r\n if (\r\n this._element.disabled ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED) ||\r\n this._menu.classList.contains(CLASS_NAME_SHOW)\r\n ) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n // Disable totally Popper.js for Dropdown in Navbar\r\n if (!this._inNavbar) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's dropdowns require Popper.js (https://popper.js.org)\");\r\n }\r\n\r\n let referenceElement = this._element;\r\n\r\n if (this._config.reference === 'parent') {\r\n referenceElement = parent;\r\n } else if (isElement(this._config.reference)) {\r\n referenceElement = this._config.reference;\r\n\r\n // Check if it's jQuery element\r\n if (typeof this._config.reference.jquery !== 'undefined') {\r\n referenceElement = this._config.reference[0];\r\n }\r\n }\r\n\r\n // If boundary is not `scrollParent`, then set position to `static`\r\n // to allow the menu to \"escape\" the scroll parent's boundaries\r\n // https://github.com/twbs/bootstrap/issues/24251\r\n if (this._config.boundary !== 'scrollParent') {\r\n parent.classList.add(CLASS_NAME_POSITION_STATIC);\r\n }\r\n\r\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\r\n }\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.on(elem, 'mouseover', null, noop()));\r\n }\r\n\r\n this._element.focus();\r\n this._element.setAttribute('aria-expanded', true);\r\n\r\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);\r\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget);\r\n }\r\n\r\n hide() {\r\n if (\r\n this._element.disabled ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED) ||\r\n !this._menu.classList.contains(CLASS_NAME_SHOW)\r\n ) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);\r\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, EVENT_KEY);\r\n this._element = null;\r\n this._menu = null;\r\n if (this._popper) {\r\n this._popper.destroy();\r\n this._popper = null;\r\n }\r\n }\r\n\r\n update() {\r\n this._inNavbar = this._detectNavbar();\r\n if (this._popper) {\r\n this._popper.scheduleUpdate();\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _addEventListeners() {\r\n EventHandler.on(this._element, EVENT_CLICK, (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n });\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...this.constructor.Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getMenuElement() {\r\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0];\r\n }\r\n\r\n _getPlacement() {\r\n const parentDropdown = this._element.parentNode;\r\n let placement = PLACEMENT_BOTTOM;\r\n\r\n // Handle dropup\r\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\r\n placement = PLACEMENT_TOP;\r\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\r\n placement = PLACEMENT_TOPEND;\r\n }\r\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\r\n placement = PLACEMENT_RIGHT;\r\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\r\n placement = PLACEMENT_LEFT;\r\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\r\n placement = PLACEMENT_BOTTOMEND;\r\n }\r\n\r\n return placement;\r\n }\r\n\r\n _detectNavbar() {\r\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`));\r\n }\r\n\r\n _getOffset() {\r\n const offset = {};\r\n\r\n if (typeof this._config.offset === 'function') {\r\n offset.fn = (data) => {\r\n data.offsets = {\r\n ...data.offsets,\r\n ...(this._config.offset(data.offsets, this._element) || {}),\r\n };\r\n\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this._config.offset;\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getPopperConfig() {\r\n const popperConfig = {\r\n placement: this._getPlacement(),\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n enabled: this._config.flip,\r\n },\r\n preventOverflow: {\r\n boundariesElement: this._config.boundary,\r\n },\r\n },\r\n };\r\n\r\n // Disable Popper.js if we have a static display\r\n if (this._config.display === 'static') {\r\n popperConfig.modifiers.applyStyle = {\r\n enabled: false,\r\n };\r\n }\r\n\r\n return {\r\n ...popperConfig,\r\n ...this._config.popperConfig,\r\n };\r\n }\r\n\r\n // Static\r\n\r\n static dropdownInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n const _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data) {\r\n data = new Dropdown(element, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Dropdown.dropdownInterface(this, config);\r\n });\r\n }\r\n\r\n static clearMenus(event) {\r\n if (\r\n event &&\r\n (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))\r\n ) {\r\n return;\r\n }\r\n\r\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggles.length; i < len; i++) {\r\n const parent = Dropdown.getParentFromElement(toggles[i]);\r\n const context = Data.getData(toggles[i], DATA_KEY);\r\n const relatedTarget = {\r\n relatedTarget: toggles[i],\r\n };\r\n\r\n if (event && event.type === 'click') {\r\n relatedTarget.clickEvent = event;\r\n }\r\n\r\n if (!context) {\r\n continue;\r\n }\r\n\r\n const dropdownMenu = context._menu;\r\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\r\n continue;\r\n }\r\n\r\n if (\r\n event &&\r\n ((event.type === 'click' && /input|textarea/i.test(event.target.tagName)) ||\r\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\r\n dropdownMenu.contains(event.target)\r\n ) {\r\n continue;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);\r\n if (hideEvent.defaultPrevented) {\r\n continue;\r\n }\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.off(elem, 'mouseover', null, noop()));\r\n }\r\n\r\n toggles[i].setAttribute('aria-expanded', 'false');\r\n\r\n if (context._popper) {\r\n context._popper.destroy();\r\n }\r\n\r\n dropdownMenu.classList.remove(CLASS_NAME_SHOW);\r\n toggles[i].classList.remove(CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);\r\n }\r\n }\r\n\r\n static getParentFromElement(element) {\r\n return getElementFromSelector(element) || element.parentNode;\r\n }\r\n\r\n static dataApiKeydownHandler(event) {\r\n // If not input/textarea:\r\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\r\n // If input/textarea:\r\n // - If space key => not a dropdown command\r\n // - If key is other than escape\r\n // - If key is not up or down => not a dropdown command\r\n // - If trigger inside the menu => not a dropdown command\r\n if (\r\n /input|textarea/i.test(event.target.tagName)\r\n ? event.key === SPACE_KEY ||\r\n (event.key !== ESCAPE_KEY &&\r\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\r\n event.target.closest(SELECTOR_MENU)))\r\n : !REGEXP_KEYDOWN.test(event.key)\r\n ) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this);\r\n const isActive = this.classList.contains(CLASS_NAME_SHOW);\r\n\r\n if (event.key === ESCAPE_KEY) {\r\n const button = this.matches(SELECTOR_DATA_TOGGLE)\r\n ? this\r\n : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0];\r\n button.focus();\r\n Dropdown.clearMenus();\r\n return;\r\n }\r\n\r\n if (!isActive || event.key === SPACE_KEY) {\r\n Dropdown.clearMenus();\r\n return;\r\n }\r\n\r\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);\r\n\r\n if (!items.length) {\r\n return;\r\n }\r\n\r\n let index = items.indexOf(event.target);\r\n\r\n if (event.key === ARROW_UP_KEY && index > 0) {\r\n // Up\r\n index--;\r\n }\r\n\r\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {\r\n // Down\r\n index++;\r\n }\r\n\r\n // index is -1 if the first keydown is an ArrowUp\r\n index = index === -1 ? 0 : index;\r\n\r\n items[index].focus();\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(\r\n document,\r\n EVENT_KEYDOWN_DATA_API,\r\n SELECTOR_DATA_TOGGLE,\r\n Dropdown.dataApiKeydownHandler\r\n);\r\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n Dropdown.dropdownInterface(this, 'toggle');\r\n});\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => e.stopPropagation());\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .dropdown to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Dropdown.jQueryInterface;\r\n $.fn[NAME].Constructor = Dropdown;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Dropdown.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Dropdown;\r\n","import { getjQuery, typeCheckConfig } from '../mdb/util/index';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\nimport BSDropdown from '../bootstrap/src/dropdown';\r\nimport Manipulator from '../bootstrap/src/dom/manipulator';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'dropdown';\r\nconst SELECTOR_EXPAND = '[data-toggle=\"dropdown\"]';\r\n\r\nconst Default = {\r\n offset: 0,\r\n flip: true,\r\n boundary: 'scrollParent',\r\n reference: 'toggle',\r\n display: 'dynamic',\r\n popperConfig: null,\r\n dropdownAnimation: 'on',\r\n};\r\n\r\nconst DefaultType = {\r\n offset: '(number|string|function)',\r\n flip: 'boolean',\r\n boundary: '(string|element)',\r\n reference: '(string|element)',\r\n display: 'string',\r\n popperConfig: '(null|object)',\r\n dropdownAnimation: 'string',\r\n};\r\n\r\nconst EVENT_HIDE = 'hide.bs.dropdown';\r\nconst EVENT_HIDDEN = 'hidden.bs.dropdown';\r\nconst EVENT_SHOW = 'show.bs.dropdown';\r\n\r\nconst ANIMATION_CLASS = 'animation';\r\nconst ANIMATION_SHOW_CLASS = 'fade-in';\r\nconst ANIMATION_HIDE_CLASS = 'fade-out';\r\n\r\nclass Dropdown extends BSDropdown {\r\n constructor(element, data) {\r\n super(element, data);\r\n this._config = this._getConfig(data);\r\n this._parent = Dropdown.getParentFromElement(this._element);\r\n this._menuStyle = '';\r\n this._xPlacement = '';\r\n\r\n //* prevents dropdown close issue when system animation is turned off\r\n const isPrefersReducedMotionSet = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n if (this._config.dropdownAnimation === 'on' && !isPrefersReducedMotionSet) {\r\n this._init();\r\n }\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, EVENT_SHOW);\r\n EventHandler.off(this._parent, EVENT_HIDE);\r\n EventHandler.off(this._parent, EVENT_HIDDEN);\r\n super.dispose();\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Private\r\n _init() {\r\n this._bindShowEvent();\r\n this._bindHideEvent();\r\n this._bindHiddenEvent();\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _bindShowEvent() {\r\n EventHandler.on(this._element, EVENT_SHOW, () => {\r\n this._dropdownAnimationStart('show');\r\n });\r\n }\r\n\r\n _bindHideEvent() {\r\n EventHandler.on(this._parent, EVENT_HIDE, () => {\r\n this._menuStyle = this._menu.style.cssText;\r\n this._xPlacement = this._menu.getAttribute('x-placement');\r\n });\r\n }\r\n\r\n _bindHiddenEvent() {\r\n EventHandler.on(this._parent, EVENT_HIDDEN, () => {\r\n this._menu.style.cssText = this._menuStyle;\r\n this._menu.setAttribute('x-placement', this._xPlacement);\r\n\r\n this._dropdownAnimationStart('hide');\r\n });\r\n }\r\n\r\n _dropdownAnimationStart(action) {\r\n switch (action) {\r\n case 'show':\r\n this._menu.classList.add(ANIMATION_CLASS, ANIMATION_SHOW_CLASS);\r\n this._menu.classList.remove(ANIMATION_HIDE_CLASS);\r\n break;\r\n default:\r\n // hide\r\n this._menu.classList.add(ANIMATION_CLASS, ANIMATION_HIDE_CLASS);\r\n this._menu.classList.remove(ANIMATION_SHOW_CLASS);\r\n break;\r\n }\r\n\r\n this._bindAnimationEnd();\r\n }\r\n\r\n _bindAnimationEnd() {\r\n EventHandler.one(this._menu, 'animationend', () => {\r\n this._menu.classList.remove(ANIMATION_CLASS, ANIMATION_HIDE_CLASS, ANIMATION_SHOW_CLASS);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSelectorEngine.find(SELECTOR_EXPAND).forEach((el) => {\r\n let instance = Dropdown.getInstance(el);\r\n if (!instance) {\r\n instance = new Dropdown(el);\r\n }\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .rating to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Dropdown.jQueryInterface;\r\n $.fn[NAME].Constructor = Dropdown;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Dropdown.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Dropdown;\r\n","import { element, getjQuery, typeCheckConfig } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'ripple';\r\nconst DATA_KEY = 'mdb.ripple';\r\nconst CLASSNAME_RIPPLE = 'ripple-surface';\r\nconst CLASSNAME_RIPPLE_WAVE = 'ripple-wave';\r\nconst SELECTOR_COMPONENT = ['.btn', '.ripple'];\r\n\r\nconst CLASSNAME_UNBOUND = 'ripple-surface-unbound';\r\nconst GRADIENT =\r\n 'rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%';\r\nconst DEFAULT_RIPPLE_COLOR = [0, 0, 0];\r\nconst BOOTSTRAP_COLORS = [\r\n 'primary',\r\n 'secondary',\r\n 'success',\r\n 'danger',\r\n 'warning',\r\n 'info',\r\n 'light',\r\n 'dark',\r\n];\r\n\r\n// Sets walue when run opacity transition\r\n// Hide element after 50% (0.5) time of animation and finish on 100%\r\nconst TRANSITION_BREAK_OPACITY = 0.5;\r\n\r\nconst Default = {\r\n rippleCentered: false,\r\n rippleColor: '',\r\n rippleDuration: '500ms',\r\n rippleRadius: 0,\r\n rippleUnbound: false,\r\n};\r\n\r\nconst DefaultType = {\r\n rippleCentered: 'boolean',\r\n rippleColor: 'string',\r\n rippleDuration: 'string',\r\n rippleRadius: 'number',\r\n rippleUnbound: 'boolean',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Ripple {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n Manipulator.addClass(this._element, CLASSNAME_RIPPLE);\r\n }\r\n\r\n this._clickHandler = this._createRipple.bind(this);\r\n\r\n this.init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n this._addClickEvent(this._element);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, 'click', this._clickHandler);\r\n this._element = null;\r\n this._options = null;\r\n }\r\n\r\n // Private\r\n\r\n _autoInit(event) {\r\n SELECTOR_COMPONENT.forEach((selector) => {\r\n const target = SelectorEngine.closest(event.target, selector);\r\n if (target) {\r\n this._element = SelectorEngine.closest(event.target, selector);\r\n }\r\n });\r\n Manipulator.addClass(this._element, CLASSNAME_RIPPLE);\r\n this._options = this._getConfig();\r\n this._createRipple(event);\r\n }\r\n\r\n _addClickEvent(target) {\r\n EventHandler.on(target, 'click', this._clickHandler);\r\n }\r\n\r\n _createRipple(event) {\r\n const { layerX, layerY } = event;\r\n const offsetX = layerX;\r\n const offsetY = layerY;\r\n const height = this._element.offsetHeight;\r\n const width = this._element.offsetWidth;\r\n const duration = this._durationToMsNumber(this._options.rippleDuration);\r\n const diameterOptions = {\r\n offsetX: this._options.rippleCentered ? height / 2 : offsetX,\r\n offsetY: this._options.rippleCentered ? width / 2 : offsetY,\r\n height,\r\n width,\r\n };\r\n const diameter = this._getDiameter(diameterOptions);\r\n const radiusValue = this._options.rippleRadius || diameter / 2;\r\n\r\n const opacity = {\r\n delay: duration * TRANSITION_BREAK_OPACITY,\r\n duration: duration - duration * TRANSITION_BREAK_OPACITY,\r\n };\r\n\r\n const styles = {\r\n left: this._options.rippleCentered\r\n ? `${width / 2 - radiusValue}px`\r\n : `${offsetX - radiusValue}px`,\r\n top: this._options.rippleCentered\r\n ? `${height / 2 - radiusValue}px`\r\n : `${offsetY - radiusValue}px`,\r\n height: `${this._options.rippleRadius * 2 || diameter}px`,\r\n width: `${this._options.rippleRadius * 2 || diameter}px`,\r\n transitionDelay: `0s, ${opacity.delay}ms`,\r\n transitionDuration: `${duration}ms, ${opacity.duration}ms`,\r\n };\r\n\r\n const rippleHTML = element('div');\r\n\r\n this._createHTMLRipple({ wrapper: this._element, ripple: rippleHTML, styles });\r\n this._removeHTMLRipple({ ripple: rippleHTML, duration });\r\n }\r\n\r\n _createHTMLRipple({ wrapper, ripple, styles }) {\r\n Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property]));\r\n ripple.classList.add(CLASSNAME_RIPPLE_WAVE);\r\n if (this._options.rippleColor !== '') {\r\n this._removeOldColorClasses(wrapper);\r\n this._addColor(ripple, wrapper);\r\n }\r\n\r\n this._toggleUnbound(wrapper);\r\n this._appendRipple(ripple, wrapper);\r\n }\r\n\r\n _removeHTMLRipple({ ripple, duration }) {\r\n setTimeout(() => {\r\n if (ripple) {\r\n ripple.remove();\r\n }\r\n }, duration);\r\n }\r\n\r\n _durationToMsNumber(time) {\r\n return Number(time.replace('ms', '').replace('s', '000'));\r\n }\r\n\r\n _getConfig(config = {}) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDiameter({ offsetX, offsetY, height, width }) {\r\n const top = offsetY <= height / 2;\r\n const left = offsetX <= width / 2;\r\n const pythagorean = (sideA, sideB) => Math.sqrt(sideA ** 2 + sideB ** 2);\r\n\r\n const positionCenter = offsetY === height / 2 && offsetX === width / 2;\r\n // mouse position on the quadrants of the coordinate system\r\n const quadrant = {\r\n first: top === true && left === false,\r\n second: top === true && left === true,\r\n third: top === false && left === true,\r\n fourth: top === false && left === false,\r\n };\r\n\r\n const getCorner = {\r\n topLeft: pythagorean(offsetX, offsetY),\r\n topRight: pythagorean(width - offsetX, offsetY),\r\n bottomLeft: pythagorean(offsetX, height - offsetY),\r\n bottomRight: pythagorean(width - offsetX, height - offsetY),\r\n };\r\n\r\n let diameter = 0;\r\n\r\n if (positionCenter || quadrant.fourth) {\r\n diameter = getCorner.topLeft;\r\n } else if (quadrant.third) {\r\n diameter = getCorner.topRight;\r\n } else if (quadrant.second) {\r\n diameter = getCorner.bottomRight;\r\n } else if (quadrant.first) {\r\n diameter = getCorner.bottomLeft;\r\n }\r\n return diameter * 2;\r\n }\r\n\r\n _appendRipple(target, parent) {\r\n const FIX_ADD_RIPPLE_EFFECT = 50; // delay for active animations\r\n parent.appendChild(target);\r\n setTimeout(() => {\r\n Manipulator.addClass(target, 'active');\r\n }, FIX_ADD_RIPPLE_EFFECT);\r\n }\r\n\r\n _toggleUnbound(target) {\r\n if (this._options.rippleUnbound === true) {\r\n Manipulator.addClass(target, CLASSNAME_UNBOUND);\r\n } else {\r\n target.classList.remove(CLASSNAME_UNBOUND);\r\n }\r\n }\r\n\r\n _addColor(target, parent) {\r\n const IS_BOOTSTRAP_COLOR = BOOTSTRAP_COLORS.find(\r\n (color) => color === this._options.rippleColor.toLowerCase()\r\n );\r\n\r\n if (IS_BOOTSTRAP_COLOR) {\r\n Manipulator.addClass(\r\n parent,\r\n `${CLASSNAME_RIPPLE}-${this._options.rippleColor.toLowerCase()}`\r\n );\r\n } else {\r\n const rgbValue = this._colorToRGB(this._options.rippleColor).join(',');\r\n const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`);\r\n target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`;\r\n }\r\n }\r\n\r\n _removeOldColorClasses(target) {\r\n const REGEXP_CLASS_COLOR = new RegExp(`${CLASSNAME_RIPPLE}-[a-z]+`, 'gi');\r\n const PARENT_CLASSS_COLOR = target.classList.value.match(REGEXP_CLASS_COLOR) || [];\r\n PARENT_CLASSS_COLOR.forEach((className) => {\r\n target.classList.remove(className);\r\n });\r\n }\r\n\r\n _colorToRGB(color) {\r\n function hexToRgb(color) {\r\n const HEX_COLOR_LENGTH = 7;\r\n const IS_SHORT_HEX = color.length < HEX_COLOR_LENGTH;\r\n if (IS_SHORT_HEX) {\r\n color = `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\r\n }\r\n return [\r\n parseInt(color.substr(1, 2), 16),\r\n parseInt(color.substr(3, 2), 16),\r\n parseInt(color.substr(5, 2), 16),\r\n ];\r\n }\r\n\r\n function namedColorsToRgba(color) {\r\n const tempElem = document.body.appendChild(document.createElement('fictum'));\r\n const flag = 'rgb(1, 2, 3)';\r\n tempElem.style.color = flag;\r\n if (tempElem.style.color !== flag) {\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n tempElem.style.color = color;\r\n if (tempElem.style.color === flag || tempElem.style.color === '') {\r\n return DEFAULT_RIPPLE_COLOR;\r\n } // color parse failed\r\n color = getComputedStyle(tempElem).color;\r\n document.body.removeChild(tempElem);\r\n return color;\r\n }\r\n\r\n function rgbaToRgb(color) {\r\n color = color.match(/[.\\d]+/g).map((a) => +Number(a));\r\n color.length = 3;\r\n return color;\r\n }\r\n\r\n if (color.toLowerCase() === 'transparent') {\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n if (color[0] === '#') {\r\n return hexToRgb(color);\r\n }\r\n if (color.indexOf('rgb') === -1) {\r\n color = namedColorsToRgba(color);\r\n }\r\n if (color.indexOf('rgb') === 0) {\r\n return rgbaToRgb(color);\r\n }\r\n\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n\r\n // Static\r\n static autoInitial(instance) {\r\n return function (event) {\r\n instance._autoInit(event);\r\n };\r\n }\r\n\r\n static jQueryInterface(options) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY);\r\n if (!data) {\r\n return new Ripple(this, options);\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSELECTOR_COMPONENT.forEach((slector) => {\r\n EventHandler.one(document, 'click', slector, Ripple.autoInitial(new Ripple()));\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .ripple to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Ripple.jQueryInterface;\r\n $.fn[NAME].Constructor = Ripple;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Ripple.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Ripple;\r\n","// BOOTSTRAP CORE COMPONENTS\r\nimport Alert from './bootstrap/src/alert';\r\nimport Button from './bootstrap/src/button';\r\nimport Carousel from './bootstrap/src/carousel';\r\nimport Collapse from './bootstrap/src/collapse';\r\nimport Modal from './bootstrap/src/modal';\r\nimport Popover from './bootstrap/src/popover';\r\nimport ScrollSpy from './bootstrap/src/scrollspy';\r\nimport Tab from './bootstrap/src/tab';\r\nimport Tooltip from './bootstrap/src/tooltip';\r\nimport Toast from './bootstrap/src/toast';\r\n\r\n// MDB FREE COMPONENTS\r\nimport Input from './free/input';\r\nimport Dropdown from './free/dropdown';\r\nimport Ripple from './free/ripple';\r\n\r\n// AUTO INIT\r\n[...document.querySelectorAll('[data-toggle=\"tooltip\"]')].map((tooltip) => new Tooltip(tooltip));\r\n[...document.querySelectorAll('[data-toggle=\"popover\"]')].map((popover) => new Popover(popover));\r\n[...document.querySelectorAll('.toast')].map((toast) => new Toast(toast));\r\n\r\nexport {\r\n Alert,\r\n Button,\r\n Carousel,\r\n Collapse,\r\n Dropdown,\r\n Input,\r\n Modal,\r\n Popover,\r\n Ripple,\r\n ScrollSpy,\r\n Tab,\r\n Toast,\r\n Tooltip,\r\n};\r\n"],"sourceRoot":""}