{"version":3,"sources":["webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js"],"names":["validate","binding","value","console","warn","expression","isServer","vNode","componentInstance","$isServer","module","exports","bind","el","handler","e","context","elements","path","composedPath","length","unshift","target","contains","popupItem","i","len","isPopup","__vueClickOutside__","callback","document","addEventListener","update","unbind","removeEventListener","global","isBrowser","window","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","indexOf","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","test","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","getWindowSizes","height","width","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","getArea","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","data","ends","slice","prop","findIndex","cur","match","forEach","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","getWindow","defaultView","setupEventListeners","options","updateBound","passive","scrollElement","attachToScrollParents","event","scrollParents","isBody","push","eventsEnabled","disableEventListeners","this","cancelAnimationFrame","scheduleUpdate","removeEventListeners","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","inner","subtractLength","hide","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","setAttribute","removeAttribute","setAttributes","onLoad","modifierOptions","Popper","_this","requestAnimationFrame","isDestroyed","isCreated","jquery","enableEventListeners","removeChild","Utils","PopperUtils","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","classList","className","baseVal","newClass","SVGElement","join","removeClasses","splice","supportsPassive","opts","get","_typeof","Symbol","iterator","constructor","classCallCheck$1","createClass$1","_extends$1","DEFAULT_OPTIONS","container","delay","title","template","trigger","openTooltips","Tooltip","_initialiseProps","_isOpen","_init","_classes","content","_tooltipNode","_setContent","classesUpdated","directive","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","show","popperInstance","events","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","createElement","innerHTML","tooltipNode","childNodes","id","random","substr","autoHide","asyncContent","_applyContent","_this2","reject","allowHtml","rootNode","titleNode","innerSelector","firstChild","appendChild","loadingClass","loadingContent","asyncResult","catch","innerText","clearTimeout","_disposeTimer","updateClasses","_ensureShown","_this3","display","getAttribute","_create","_findContainer","_append","popperOptions","arrowSelector","_this4","_noLongerOpen","disposeTime","disposeTimeout","_this5","_events","func","_hide","destroy","_this6","directEvents","oppositeEvents","hideOnTargetClick","evt","usedByTooltip","_scheduleShow","_scheduleHide","_this7","computedDelay","_scheduleTimer","_show","_this8","type","_setTooltipNodeEvent","_this9","_dispose","toggle","relatedreference","toElement","relatedTarget","evt2","relatedreference2","_onDocumentTouch","capture","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","pos","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","oldValue","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","currentTarget","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","all","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","vclosepopover","isIE$1","initCompat","init","ua","msie","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","methods","notify","$emit","addResizeHandlers","_resizeObject","contentDocument","_w","$el","removeResizeHandlers","onload","mounted","$nextTick","object","beforeDestroy","plugin$2","install","Vue","component","GlobalVue$1","getDefault","use","isIOS","MSStream","openPopovers","Element","Popover","_vm","class","cssClass","ref","staticStyle","aria-describedby","popoverId","_t","_v","popoverBaseClass","popoverClass","visibility","aria-hidden","popoverWrapperClass","popoverInnerClass","handleResize","on","$_handleResize","_e","popoverArrowClass","components","open","Boolean","default","disabled","String","Number","openGroup","computed","watch","val","oldVal","popoverNode","$refs","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","force","$_scheduleShow","$_beingShowed","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","cb","$_restartPopper","$_handleGlobalClose","handleGlobalClose","commonjsGlobal","self","lodash_merge","createCommonjsModule","LARGE_ARRAY_SIZE","HASH_UNDEFINED","HOT_COUNT","HOT_SPAN","MAX_SAFE_INTEGER","argsTag","asyncTag","funcTag","genTag","nullTag","objectTag","proxyTag","undefinedTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","root","Function","freeExports","freeModule","moduleExports","freeProcess","process","nodeUtil","nodeIsTypedArray","isTypedArray","safeGet","arrayProto","funcProto","objectProto","coreJsData","funcToString","maskSrcKey","uid","exec","IE_PROTO","nativeObjectToString","objectCtorString","reIsNative","RegExp","Buffer","Uint8Array","allocUnsafe","getPrototype","arg","overArg","getPrototypeOf","objectCreate","create","propertyIsEnumerable","symToStringTag","toStringTag","getNative","nativeIsBuffer","isBuffer","nativeMax","nativeNow","Date","now","Map","nativeCreate","baseCreate","proto","isObject","Hash","entries","clear","entry","set","ListCache","MapCache","Stack","__data__","size","arrayLikeKeys","inherited","isArr","isArray","isArg","isArguments","isBuff","isType","skipIndexes","iteratee","baseTimes","isIndex","assignMergeValue","eq","baseAssignValue","assignValue","objValue","assocIndexOf","array","has","pop","string","getMapData","pairs","baseFor","fromRight","keysFunc","iterable","createBaseFor","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsNative","isMasked","toSource","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","stack","srcValue","mergeFunc","stacked","newValue","isCommon","isTyped","isArrayLike","isArrayLikeObject","buffer","isDeep","copy","cloneBuffer","typedArray","arrayBuffer","byteLength","cloneArrayBuffer","byteOffset","cloneTypedArray","copyArray","Ctor","isPlainObject","isNew","copyObject","keysIn","toPlainObject","initCloneObject","baseMergeDeep","baseRest","setToString","args","otherArgs","thisArg","apply","overRest","identity","isKeyable","getValue","count","lastCalled","stamp","remaining","shortOut","constant","other","isLength","baseUnary","merge","assigner","sources","guard","isIterateeCall","createAssigner","plugin","installed","finalOptions","GlobalVue","__webpack_exports__","t","l","m","c","d","o","r","__esModule","p","s","locals","btoa","unescape","encodeURIComponent","JSON","stringify","sourceRoot","media","sourceMap","parts","h","DEBUG","Error","head","getElementsByTagName","f","u","refs","g","w","ssrId","styleSheet","cssText","createTextNode","v","insertBefore","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","spinnerView","spinner","_compiled","functional","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","__file","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","remove","scrollHandler","isLoading","isComplete","isFirstLoad","inThrottle","throttleLimit","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","cache","$slots","elm","textContent","isNoMore","distance","onInfinite","direction","forceUseInfiniteWrapper","Event","attemptLoad","$on","$forceUpdate","stateChanger","loaded","complete","reset","$watch","deactivated","activated","getCurrentDistance","error","pageYOffset","tagName","hasAttribute","destroyed","directives","rawName"],"mappings":"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","file":"3.js","sourcesContent":["function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\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() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\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 boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\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 * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\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.
\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 conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\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.
\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-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\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.
\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.
\n * It will read the variation of the `placement` property.
\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 unitless, 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.
\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.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\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 * > More on this [reading 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 * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\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 has always 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 eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point 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 conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you 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 informations used by Popper.js\n * this object get 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.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, 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.
\n * By default, is set to no-op.
\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.
\n * By default, is set to no-op.
\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 * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as 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 * Schedule 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.
\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\nvar SVGAnimatedString = function SVGAnimatedString() {};\nif (typeof window !== 'undefined') {\n\tSVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = convertToArray(el.className.baseVal);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = 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\n\n\nvar _extends$1 = 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/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '
',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tif (!rootNode) return;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\taddClasses(reference, ['v-tooltip-open']);\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tremoveClasses(this.reference, ['v-tooltip-open']);\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tif (_this6.options.hideOnTargetClick) oppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true,\n\t\tcapture: true\n\t} : true);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Is the content HTML by default?\n\tdefaultHtml: true,\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '
',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Close tooltip on click on tooltip target?\n\tdefaultHideOnTargetClick: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\thtml: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\thideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\tif (result.trigger && result.trigger.indexOf('click') !== -1) {\n\t\tresult.hideOnTargetClick = false;\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE$1 = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE$1 = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE$1 && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE$1) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.4\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\nif (typeof window !== 'undefined') {\n\tElement = window.Element;\n}\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId, \"tabindex\": _vm.trigger.indexOf('focus') !== -1 ? 0 : -1 } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tvisibility: _vm.isOpen ? 'visible' : 'hidden'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1), _vm._v(\" \"), _c('div', { ref: \"arrow\", class: _vm.popoverArrowClass })])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: [String, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\toffset: '$_restartPopper',\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t\tthis.$_beingShowed = true;\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\t_this2.$_beingShowed = false;\n\t\t\t});\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\t\t\tthis.popperInstance = null;\n\t\t\tthis.isOpen = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t})\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = _extends$1({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.scheduleUpdate();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\n\t\t\tthis.$emit('apply-show');\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\tthis.$emit('apply-hide');\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tif (this.isOpen) this.popperInstance.scheduleUpdate();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_isDisposed = false;\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show({ skipDelay: true, force: true });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tif (this.$_beingShowed) return;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.scheduleUpdate();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true,\n\t\t\tcapture: true\n\t\t} : true);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick, true);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t// Delay so that close directive has time to set values\n\trequestAnimationFrame(function () {\n\t\tvar popover = void 0;\n\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\tpopover = openPopovers[i];\n\t\t\tif (popover.$refs.popover) {\n\t\t\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\t\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n","/*!\n * vue-infinite-loading v2.3.5\n * (c) 2016-2018 PeachScript\n * MIT License\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(window,function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/\",i(i.s=8)}([function(e,t,i){var n=i(5);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);(0,i(3).default)(\"65eb1cbe\",n,!0,{})},function(e,t,i){var n=i(7);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);(0,i(3).default)(\"57709ccf\",n,!0,{})},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var i=function(e,t){var i=e[1]||\"\",n=e[3];if(!n)return i;if(t&&\"function\"==typeof btoa){var a=function(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}(n),r=n.sources.map(function(e){return\"/*# sourceURL=\"+n.sourceRoot+e+\" */\"});return[i].concat(r).concat([a]).join(\"\\n\")}return[i].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+i+\"}\":i}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;ai.parts.length&&(n.parts.length=i.parts.length)}else{var o=[];for(a=0;a',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},d={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than \".concat(10,\" times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\"),'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper --\\x3e\\n \\n
\\nor\\n
\\n ...\\n \\x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\\x3e\\n \\n
\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")},c=function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){return e={passive:!0},!0}});window.addEventListener(\"testpassive\",t,t),window.remove(\"testpassive\",t,t)}catch(e){}return e}(),f={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,inThrottle:!1,throttleLimit:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:s},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){var t=this;this.isLoading||(e&&e.constructor===Event?this.inThrottle||(this.inThrottle=!0,setTimeout(function(){t.attemptLoad(),t.inThrottle=!1},this.throttleLimit)):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,c),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(l.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler,c),t&&t.target===e||console.warn(l.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.inThrottle=!1,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler,c),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(l.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,c)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,c)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(d.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e;\"top\"===this.direction?e=\"number\"==typeof this.scrollParent.scrollTop?this.scrollParent.scrollTop:this.scrollParent.pageYOffset:e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom);return e},getScrollParent:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el;return\"string\"==typeof this.forceUseInfiniteWrapper&&(e=t.querySelector(this.forceUseInfiniteWrapper)),e||(\"BODY\"===t.tagName?e=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(t).overflowY)>-1?e=t:(t.hasAttribute(\"infinite-wrapper\")||t.hasAttribute(\"data-infinite-wrapper\"))&&(e=t)),e||this.getScrollParent(t.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,c)}},u=(i(6),r(f,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},[],!1,null,\"3aed59f8\",null));u.options.__file=\"InfiniteLoading.vue\";var p=u.exports;t.default=p;\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",p)}])});"],"sourceRoot":""}