{"version":3,"sources":["webpack:///../node_modules/core-js/modules/_object-gops.js","webpack:///../node_modules/core-js/modules/es6.regexp.replace.js","webpack:///../node_modules/core-js/modules/_create-property.js","webpack:///../node_modules/core-js/modules/es6.array.from.js","webpack:///../node_modules/simplebar/dist/simplebar.esm.js","webpack:///../node_modules/core-js/modules/es6.function.name.js","webpack:///../node_modules/core-js/modules/es6.object.assign.js","webpack:///../node_modules/core-js/modules/_object-assign.js","webpack:///../node_modules/scrollbarwidth/scrollbarWidth.js","webpack:///../node_modules/lodash.throttle/index.js","webpack:///../node_modules/lodash.debounce/index.js","webpack:///../node_modules/lodash.memoize/index.js","webpack:///../node_modules/simplebar/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///../node_modules/can-use-dom/index.js"],"names":["exports","f","Object","getOwnPropertySymbols","anObject","__webpack_require__","toObject","toLength","toInteger","advanceStringIndex","regExpExec","max","Math","min","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","defined","REPLACE","$replace","maybeCallNative","searchValue","replaceValue","O","this","fn","undefined","call","String","regexp","res","done","value","rx","S","functionalReplace","global","fullUnicode","unicode","lastIndex","results","result","push","it","accumulatedResult","nextSourcePosition","i","length","matched","position","index","captures","j","namedCaptures","groups","replacerArgs","concat","replacement","apply","getSubstitution","slice","str","tailPos","m","symbols","match","ch","capture","charAt","n","$defineProperty","createDesc","module","object","ctx","$export","isArrayIter","createProperty","getIterFn","F","iter","Array","from","arrayLike","step","iterator","C","aLen","arguments","mapfn","mapping","iterFn","next","scrollbarwidth__WEBPACK_IMPORTED_MODULE_7__","scrollbarwidth__WEBPACK_IMPORTED_MODULE_7___default","lodash_throttle__WEBPACK_IMPORTED_MODULE_8__","lodash_throttle__WEBPACK_IMPORTED_MODULE_8___default","lodash_debounce__WEBPACK_IMPORTED_MODULE_9__","lodash_debounce__WEBPACK_IMPORTED_MODULE_9___default","lodash_memoize__WEBPACK_IMPORTED_MODULE_10__","lodash_memoize__WEBPACK_IMPORTED_MODULE_10___default","resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_11__","can_use_dom__WEBPACK_IMPORTED_MODULE_12__","can_use_dom__WEBPACK_IMPORTED_MODULE_12___default","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","SimpleBar","element","options","_this","instance","Constructor","TypeError","_classCallCheck","onScroll","scrollXTicking","window","requestAnimationFrame","scrollX","scrollYTicking","scrollY","showScrollbar","positionScrollbar","onMouseEnter","onMouseMove","e","mouseX","clientX","mouseY","clientY","isWithinBounds","axis","y","track","rect","x","onMouseLeave","cancel","onWindowResize","scrollbarWidth","hideNativeScrollbar","hideScrollbars","el","getBoundingClientRect","scrollbar","classList","remove","isVisible","onPointerEvent","isWithinBoundsY","isWithinBoundsX","preventDefault","stopPropagation","type","onDragStart","drag","draggedAxis","trackSize","sizeAttr","scrollPos","pageY","pageX","offsetAttr","dragOffset","contentEl","scrollSizeAttr","isRtl","getRtlHelpers","isRtlScrollbarInverted","size","isRtlScrollingInverted","scrollOffsetAttr","onEndDrag","document","removeEventListener","flashTimeout","offsetEl","maskEl","globalObserver","mutationObserver","resizeObserver","minScrollbarWidth","assign","defaultOptions","classNames","overflowAttr","isEnabled","recalculate","bind","timeout","leading","getContentElement","getScrollElement","init","protoProps","staticProps","dummyDiv","createElement","innerHTML","scrollbarDummyEl","firstElementChild","body","appendChild","dummyContainerChild","scrollLeft","dummyContainerOffset","getOffset","dummyContainerChildOffset","dummyContainerScrollOffsetAfterScroll","left","initDOMLoadedElements","MutationObserver","mutations","forEach","mutation","addedNodes","addedNode","nodeType","hasAttribute","getElOptions","querySelectorAll","removedNodes","removedNode","unMount","observe","childList","subtree","readyState","documentElement","doScroll","setTimeout","addEventListener","attributes","reduce","acc","attribute","option","name","replace","chr","toUpperCase","disconnect","top","pageYOffset","scrollTop","pageXOffset","initDOM","a","initListeners","_this2","children","filter","child","contains","wrapper","wrapperEl","querySelector","content","offset","mask","placeholderEl","placeholder","heightAutoObserverWrapperEl","heightAutoObserverEl","horizontal","vertical","add","firstChild","autoHide","visible","cloneNode","setAttribute","_this3","isChildNode","characterData","isHeightAuto","offsetHeight","elStyles","getComputedStyle","direction","style","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","height","width","scrollWidth","scrollHeight","margin","ceil","overflowX","overflowY","getScrollbarSize","toggleTrackVisibility","scrollbarSize","contentSize","forceVisible","scrollbarRatio","scrollbarMinSize","scrollbarMaxSize","hostSize","parseInt","scrollOffset","scrollPourcent","handleOffset","transform","visibility","bottom","paddingDirection","eventOffset","removeListeners","parentNode","bbox","prototype","initHtmlApi","__webpack_exports__","dP","FProto","Function","nameRE","get","DESCRIPTORS","getKeys","gOPS","pIE","IObject","$assign","A","B","Symbol","K","split","k","keys","join","source","T","getSymbols","isEnum","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","box","boxStyle","overflow","offsetWidth","clientWidth","removeChild","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","self","root","objectToString","toString","nativeMax","nativeMin","now","Date","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","trailing","invokeFunc","time","args","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","toNumber","isObject","clearTimeout","flush","isObjectLike","isSymbol","other","valueOf","isBinary","test","HASH_UNDEFINED","funcTag","genTag","reIsHostCtor","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","exec","IE_PROTO","funcToString","hasOwnProperty","reIsNative","RegExp","splice","Map","getNative","nativeCreate","Hash","entries","clear","entry","set","ListCache","MapCache","assocIndexOf","array","baseIsNative","tag","isFunction","isHostObject","toSource","getMapData","map","data","__data__","getValue","memoize","resolver","memoized","cache","has","Cache","pop","hash","string","MapShim","getIndex","arr","some","anonymous","__entries__","prototypeAccessors","delete","callback","list","defineProperties","isBrowser","global$1","requestAnimationFrame$1","trailingTimeout","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","ref","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","len","getHTMLElementContentRect","clientHeight","paddings","getPaddings","horizPad","right","vertPad","boxSizing","round","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","this$1","observation","WeakMap","ResizeObserver","method","canUseDOM"],"mappings":"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","file":"vendors~ds-seo-carousel~scrollbar-e8b73bdfe3599f45cb14.js","sourcesContent":["exports.f = Object.getOwnPropertySymbols;\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","/**\n * SimpleBar.js - v3.1.0-beta.4\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n * \n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport 'core-js/modules/es6.regexp.replace';\nimport 'core-js/modules/es6.function.name';\nimport 'core-js/modules/es6.regexp.match';\nimport 'core-js/modules/web.dom.iterable';\nimport 'core-js/modules/es6.string.iterator';\nimport 'core-js/modules/es6.array.from';\nimport 'core-js/modules/es6.object.assign';\nimport scrollbarWidth from 'scrollbarwidth';\nimport throttle from 'lodash.throttle';\nimport debounce from 'lodash.debounce';\nimport memoize from 'lodash.memoize';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport canUseDOM from 'can-use-dom';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nvar SimpleBar =\n/*#__PURE__*/\nfunction () {\n function SimpleBar(element, options) {\n var _this = this;\n\n _classCallCheck(this, SimpleBar);\n\n this.onScroll = function () {\n if (!_this.scrollXTicking) {\n window.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n\n if (!_this.scrollYTicking) {\n window.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n };\n\n this.scrollX = function () {\n _this.showScrollbar('x');\n\n _this.positionScrollbar('x');\n\n _this.scrollXTicking = false;\n };\n\n this.scrollY = function () {\n _this.showScrollbar('y');\n\n _this.positionScrollbar('y');\n\n _this.scrollYTicking = false;\n };\n\n this.onMouseEnter = function () {\n _this.showScrollbar('x');\n\n _this.showScrollbar('y');\n };\n\n this.onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n\n if (_this.isWithinBounds(_this.axis.y.track.rect)) {\n _this.showScrollbar('y');\n }\n\n if (_this.isWithinBounds(_this.axis.x.track.rect)) {\n _this.showScrollbar('x');\n }\n };\n\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n\n this.onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = scrollbarWidth();\n\n _this.hideNativeScrollbar();\n };\n\n this.hideScrollbars = function () {\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n if (!_this.isWithinBounds(_this.axis.y.track.rect)) {\n _this.axis.y.scrollbar.el.classList.remove('visible');\n\n _this.axis.y.isVisible = false;\n }\n\n if (!_this.isWithinBounds(_this.axis.x.track.rect)) {\n _this.axis.x.scrollbar.el.classList.remove('visible');\n\n _this.axis.x.isVisible = false;\n }\n };\n\n this.onPointerEvent = function (e) {\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n var isWithinBoundsY = _this.isWithinBounds(_this.axis.y.track.rect);\n\n var isWithinBoundsX = isWithinBoundsY ? false : _this.isWithinBounds(_this.axis.x.track.rect); // If any pointer event is called on the scrollbar\n\n if (isWithinBoundsY || isWithinBoundsX) {\n // Preventing the event's default action stops text being\n // selectable during the drag.\n e.preventDefault(); // Prevent event leaking\n\n e.stopPropagation();\n\n if (e.type === 'mousedown') {\n if (isWithinBoundsY) {\n _this.onDragStart(e, 'y');\n }\n\n if (isWithinBoundsX) {\n _this.onDragStart(e, 'x');\n }\n }\n }\n };\n\n this.drag = function (e) {\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = track.rect[_this.axis[_this.draggedAxis].sizeAttr];\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n e.preventDefault();\n e.stopPropagation();\n\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n } else {\n eventOffset = e.pageX;\n } // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n\n\n var dragPos = eventOffset - track.rect[_this.axis[_this.draggedAxis].offsetAttr] - _this.axis[_this.draggedAxis].dragOffset; // Convert the mouse position into a percentage of the scrollbar height/width.\n\n var dragPerc = dragPos / track.rect[_this.axis[_this.draggedAxis].sizeAttr]; // Scroll the content by the same percentage.\n\n var scrollPos = dragPerc * _this.contentEl[_this.axis[_this.draggedAxis].scrollSizeAttr]; // Fix browsers inconsistency on RTL\n\n if (_this.draggedAxis === 'x') {\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? scrollPos - (trackSize + scrollbar.size) : scrollPos;\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollPos : scrollPos;\n }\n\n _this.contentEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] = scrollPos;\n };\n\n this.onEndDrag = function (e) {\n e.preventDefault();\n e.stopPropagation();\n document.removeEventListener('mousemove', _this.drag);\n document.removeEventListener('mouseup', _this.onEndDrag);\n };\n\n this.el = element;\n this.flashTimeout;\n this.contentEl;\n this.offsetEl;\n this.maskEl;\n this.globalObserver;\n this.mutationObserver;\n this.resizeObserver;\n this.scrollbarWidth;\n this.minScrollbarWidth = 20;\n this.options = Object.assign({}, SimpleBar.defaultOptions, options);\n this.isRtl;\n this.classNames = this.options.classNames;\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isEnabled: true,\n isVisible: false,\n track: {},\n scrollbar: {}\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isEnabled: true,\n isVisible: false,\n track: {},\n scrollbar: {}\n }\n };\n this.recalculate = throttle(this.recalculate.bind(this), 64);\n this.onMouseMove = throttle(this.onMouseMove.bind(this), 64);\n this.hideScrollbars = debounce(this.hideScrollbars.bind(this), this.options.timeout);\n this.onWindowResize = debounce(this.onWindowResize.bind(this), 64, {\n leading: true\n });\n SimpleBar.getRtlHelpers = memoize(SimpleBar.getRtlHelpers); // getContentElement is deprecated\n\n this.getContentElement = this.getScrollElement;\n this.init();\n }\n /**\n * Static properties\n */\n\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n */\n\n\n _createClass(SimpleBar, [{\n key: \"init\",\n value: function init() {\n // Save a reference to the instance, so we know this DOM node has already been instancied\n this.el.SimpleBar = this;\n this.initDOM(); // We stop here on server-side\n\n if (canUseDOM) {\n // Recalculate scrollbarWidth in case it's a zoom\n this.scrollbarWidth = scrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n }\n }, {\n key: \"initDOM\",\n value: function initDOM() {\n var _this2 = this;\n\n // make sure this element doesn't have the elements yet\n if (Array.from(this.el.children).filter(function (child) {\n return child.classList.contains(_this2.classNames.wrapper);\n }).length) {\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(\".\".concat(this.classNames.wrapper));\n this.contentEl = this.el.querySelector(\".\".concat(this.classNames.content));\n this.offsetEl = this.el.querySelector(\".\".concat(this.classNames.offset));\n this.maskEl = this.el.querySelector(\".\".concat(this.classNames.mask));\n this.placeholderEl = this.el.querySelector(\".\".concat(this.classNames.placeholder));\n this.heightAutoObserverWrapperEl = this.el.querySelector(\".\".concat(this.classNames.heightAutoObserverWrapperEl));\n this.heightAutoObserverEl = this.el.querySelector(\".\".concat(this.classNames.heightAutoObserverEl));\n this.axis.x.track.el = this.el.querySelector(\".\".concat(this.classNames.track, \".\").concat(this.classNames.horizontal));\n this.axis.y.track.el = this.el.querySelector(\".\".concat(this.classNames.track, \".\").concat(this.classNames.vertical));\n } else {\n // Prepare DOM\n this.wrapperEl = document.createElement('div');\n this.contentEl = document.createElement('div');\n this.offsetEl = document.createElement('div');\n this.maskEl = document.createElement('div');\n this.placeholderEl = document.createElement('div');\n this.heightAutoObserverWrapperEl = document.createElement('div');\n this.heightAutoObserverEl = document.createElement('div');\n this.wrapperEl.classList.add(this.classNames.wrapper);\n this.contentEl.classList.add(this.classNames.content);\n this.offsetEl.classList.add(this.classNames.offset);\n this.maskEl.classList.add(this.classNames.mask);\n this.placeholderEl.classList.add(this.classNames.placeholder);\n this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl);\n this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);\n\n while (this.el.firstChild) {\n this.contentEl.appendChild(this.el.firstChild);\n }\n\n this.offsetEl.appendChild(this.contentEl);\n this.maskEl.appendChild(this.offsetEl);\n this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl);\n this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl);\n this.wrapperEl.appendChild(this.maskEl);\n this.wrapperEl.appendChild(this.placeholderEl);\n this.el.appendChild(this.wrapperEl);\n }\n\n if (!this.axis.x.track.el || !this.axis.y.track.el) {\n var track = document.createElement('div');\n var scrollbar = document.createElement('div');\n track.classList.add(this.classNames.track);\n scrollbar.classList.add(this.classNames.scrollbar);\n\n if (!this.options.autoHide) {\n scrollbar.classList.add(this.classNames.visible);\n }\n\n track.appendChild(scrollbar);\n this.axis.x.track.el = track.cloneNode(true);\n this.axis.x.track.el.classList.add(this.classNames.horizontal);\n this.axis.y.track.el = track.cloneNode(true);\n this.axis.y.track.el.classList.add(this.classNames.vertical);\n this.el.appendChild(this.axis.x.track.el);\n this.el.appendChild(this.axis.y.track.el);\n }\n\n this.axis.x.scrollbar.el = this.axis.x.track.el.querySelector(\".\".concat(this.classNames.scrollbar));\n this.axis.y.scrollbar.el = this.axis.y.track.el.querySelector(\".\".concat(this.classNames.scrollbar));\n this.el.setAttribute('data-simplebar', 'init');\n }\n }, {\n key: \"initListeners\",\n value: function initListeners() {\n var _this3 = this;\n\n // Event listeners\n if (this.options.autoHide) {\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick', 'touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this3.el.addEventListener(e, _this3.onPointerEvent);\n });\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n this.contentEl.addEventListener('scroll', this.onScroll); // Browser zoom triggers a window resize\n\n window.addEventListener('resize', this.onWindowResize); // MutationObserver is IE11+\n\n if (typeof MutationObserver !== 'undefined') {\n // create an observer instance\n this.mutationObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.target === _this3.el || !_this3.isChildNode(mutation.target) || mutation.addedNodes.length) {\n _this3.recalculate();\n }\n });\n }); // pass in the target node, as well as the observer options\n\n this.mutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n\n this.resizeObserver = new ResizeObserver(this.recalculate);\n this.resizeObserver.observe(this.el);\n }\n }, {\n key: \"recalculate\",\n value: function recalculate() {\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n this.elStyles = window.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n this.contentEl.style.height = isHeightAuto ? 'auto' : '100%';\n this.placeholderEl.style.width = \"\".concat(this.contentEl.scrollWidth, \"px\");\n this.placeholderEl.style.height = \"\".concat(this.contentEl.scrollHeight, \"px\");\n this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n this.axis.x.track.rect = this.axis.x.track.el.getBoundingClientRect();\n this.axis.y.track.rect = this.axis.y.track.el.getBoundingClientRect(); // Set isEnabled to false if scrollbar is not necessary (content is shorter than offset)\n\n this.axis.x.isEnabled = (this.scrollbarWidth ? this.contentEl.scrollWidth : this.contentEl.scrollWidth - this.minScrollbarWidth) > Math.ceil(this.axis.x.track.rect.width);\n this.axis.y.isEnabled = (this.scrollbarWidth ? this.contentEl.scrollHeight : this.contentEl.scrollHeight - this.minScrollbarWidth) > Math.ceil(this.axis.y.track.rect.height); // TODO this requires host to set overflow explicitely cause [data-simplebar] applies overflow: hidden...\n // Set isEnabled to false if user explicitely set hidden overflow\n\n this.axis.x.isEnabled = this.elStyles.overflowX === 'hidden' ? false : this.axis.x.isEnabled;\n this.axis.y.isEnabled = this.elStyles.overflowY === 'hidden' ? false : this.axis.y.isEnabled;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n this.hideNativeScrollbar();\n }\n /**\n * Calculate scrollbar size\n */\n\n }, {\n key: \"getScrollbarSize\",\n value: function getScrollbarSize() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var contentSize = this.scrollbarWidth ? this.contentEl[this.axis[axis].scrollSizeAttr] : this.contentEl[this.axis[axis].scrollSizeAttr] - this.minScrollbarWidth;\n var trackSize = this.axis[axis].track.rect[this.axis[axis].sizeAttr];\n var scrollbarSize;\n\n if (!this.axis[axis].isEnabled && !this.options.forceVisible) {\n return;\n }\n\n var scrollbarRatio = trackSize / contentSize; // Calculate new height/position of drag handle.\n\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n\n return scrollbarSize;\n }\n }, {\n key: \"positionScrollbar\",\n value: function positionScrollbar() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var contentSize = this.scrollbarWidth ? this.contentEl[this.axis[axis].scrollSizeAttr] : this.contentEl[this.axis[axis].scrollSizeAttr] - this.minScrollbarWidth;\n var trackSize = this.axis[axis].track.rect[this.axis[axis].sizeAttr];\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollbar = this.axis[axis].scrollbar;\n var scrollOffset = this.contentEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollOffset : scrollOffset;\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset = axis === \"x\" && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? handleOffset + (trackSize - scrollbar.size) : handleOffset;\n\n if (this.axis[axis].isEnabled || this.options.forceVisible) {\n scrollbar.el.style.transform = axis === 'x' ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\") : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n }\n }\n }, {\n key: \"toggleTrackVisibility\",\n value: function toggleTrackVisibility() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (this.axis[axis].isEnabled || this.options.forceVisible) {\n track.style.visibility = 'visible';\n this.contentEl.style[this.axis[axis].overflowAttr] = 'scroll';\n } else {\n track.style.visibility = 'hidden';\n this.contentEl.style[this.axis[axis].overflowAttr] = 'hidden';\n } // Even if forceVisible is enabled, scrollbar itself should be hidden\n\n\n if (this.options.forceVisible) {\n if (this.axis[axis].isEnabled) {\n scrollbar.style.visibility = 'visible';\n } else {\n scrollbar.style.visibility = 'hidden';\n }\n }\n }\n }, {\n key: \"hideNativeScrollbar\",\n value: function hideNativeScrollbar() {\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] = this.axis.y.isEnabled || this.options.forceVisible ? \"-\".concat(this.scrollbarWidth || this.minScrollbarWidth, \"px\") : 0;\n this.offsetEl.style.bottom = this.axis.x.isEnabled || this.options.forceVisible ? \"-\".concat(this.scrollbarWidth || this.minScrollbarWidth, \"px\") : 0; // If floating scrollbar\n\n if (!this.scrollbarWidth) {\n var paddingDirection = [this.isRtl ? 'paddingLeft' : 'paddingRight'];\n this.contentEl.style[paddingDirection] = \"calc(\".concat(this.elStyles[paddingDirection], \" + \").concat(this.minScrollbarWidth, \"px)\");\n this.contentEl.style.paddingBottom = \"calc(\".concat(this.elStyles.paddingBottom, \" + \").concat(this.minScrollbarWidth, \"px)\");\n }\n }\n /**\n * On scroll event handling\n */\n\n }, {\n key: \"showScrollbar\",\n\n /**\n * Show scrollbar\n */\n value: function showScrollbar() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var scrollbar = this.axis[axis].scrollbar.el;\n this.hideScrollbars(); // Scrollbar already visible\n\n if (this.axis[axis].isVisible) {\n return;\n }\n\n if (this.axis[axis].isEnabled) {\n scrollbar.classList.add(this.classNames.visible);\n this.axis[axis].isVisible = true;\n }\n\n if (!this.options.autoHide) {\n return;\n }\n }\n /**\n * Hide Scrollbar\n */\n\n }, {\n key: \"onDragStart\",\n\n /**\n * on scrollbar handle drag movement starts\n */\n value: function onDragStart(e) {\n var axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'y';\n var scrollbar = this.axis[axis].scrollbar.el; // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset = eventOffset - scrollbar.getBoundingClientRect()[this.axis[axis].offsetAttr];\n this.draggedAxis = axis;\n document.addEventListener('mousemove', this.drag);\n document.addEventListener('mouseup', this.onEndDrag);\n }\n /**\n * Drag scrollbar handle\n */\n\n }, {\n key: \"getScrollElement\",\n\n /**\n * Getter for original scrolling element\n */\n value: function getScrollElement() {\n return this.contentEl;\n }\n }, {\n key: \"removeListeners\",\n value: function removeListeners() {\n // Event listeners\n if (this.options.autoHide) {\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n }\n\n this.contentEl.removeEventListener('scroll', this.onScroll);\n window.removeEventListener('resize', this.onWindowResize);\n this.mutationObserver.disconnect();\n this.resizeObserver.disconnect();\n }\n /**\n * UnMount mutation observer and delete SimpleBar instance from DOM element\n */\n\n }, {\n key: \"unMount\",\n value: function unMount() {\n this.removeListeners();\n this.el.SimpleBar = null;\n }\n /**\n * Recursively walks up the parent nodes looking for this.el\n */\n\n }, {\n key: \"isChildNode\",\n value: function isChildNode(el) {\n if (el === null) return false;\n if (el === this.el) return true;\n return this.isChildNode(el.parentNode);\n }\n /**\n * Check if mouse is within bounds\n */\n\n }, {\n key: \"isWithinBounds\",\n value: function isWithinBounds(bbox) {\n return this.mouseX >= bbox.left && this.mouseX <= bbox.left + bbox.width && this.mouseY >= bbox.top && this.mouseY <= bbox.top + bbox.height;\n }\n }], [{\n key: \"getRtlHelpers\",\n value: function getRtlHelpers() {\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML = '
';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n document.body.appendChild(scrollbarDummyEl);\n var dummyContainerChild = scrollbarDummyEl.firstElementChild;\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBar.getOffset(scrollbarDummyEl);\n var dummyContainerChildOffset = SimpleBar.getOffset(dummyContainerChild);\n scrollbarDummyEl.scrollLeft = 999;\n var dummyContainerScrollOffsetAfterScroll = SimpleBar.getOffset(dummyContainerChild);\n return {\n // determines if the scrolling is responding with negative values\n isRtlScrollingInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left && dummyContainerChildOffset.left - dummyContainerScrollOffsetAfterScroll.left !== 0,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isRtlScrollbarInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left\n };\n }\n }, {\n key: \"initHtmlApi\",\n value: function initHtmlApi() {\n this.initDOMLoadedElements = this.initDOMLoadedElements.bind(this); // MutationObserver is IE11+\n\n if (typeof MutationObserver !== 'undefined') {\n // Mutation observer to observe dynamically added elements\n this.globalObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n Array.from(mutation.addedNodes).forEach(function (addedNode) {\n if (addedNode.nodeType === 1) {\n if (addedNode.hasAttribute('data-simplebar')) {\n !addedNode.SimpleBar && new SimpleBar(addedNode, SimpleBar.getElOptions(addedNode));\n } else {\n Array.from(addedNode.querySelectorAll('[data-simplebar]')).forEach(function (el) {\n !el.SimpleBar && new SimpleBar(el, SimpleBar.getElOptions(el));\n });\n }\n }\n });\n Array.from(mutation.removedNodes).forEach(function (removedNode) {\n if (removedNode.nodeType === 1) {\n if (removedNode.hasAttribute('data-simplebar')) {\n removedNode.SimpleBar && removedNode.SimpleBar.unMount();\n } else {\n Array.from(removedNode.querySelectorAll('[data-simplebar]')).forEach(function (el) {\n el.SimpleBar && el.SimpleBar.unMount();\n });\n }\n }\n });\n });\n });\n this.globalObserver.observe(document, {\n childList: true,\n subtree: true\n });\n } // Taken from jQuery `ready` function\n // Instantiate elements already present on the page\n\n\n if (document.readyState === 'complete' || document.readyState !== 'loading' && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay init\n window.setTimeout(this.initDOMLoadedElements);\n } else {\n document.addEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.addEventListener('load', this.initDOMLoadedElements);\n }\n } // Helper function to retrieve options from element attributes\n\n }, {\n key: \"getElOptions\",\n value: function getElOptions(el) {\n var options = Array.from(el.attributes).reduce(function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (x, chr) {\n return chr.toUpperCase();\n });\n\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n\n case 'false':\n acc[key] = false;\n break;\n\n case undefined:\n acc[key] = true;\n break;\n\n default:\n acc[key] = attribute.value;\n }\n }\n\n return acc;\n }, {});\n return options;\n }\n }, {\n key: \"removeObserver\",\n value: function removeObserver() {\n this.globalObserver.disconnect();\n }\n }, {\n key: \"initDOMLoadedElements\",\n value: function initDOMLoadedElements() {\n document.removeEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.removeEventListener('load', this.initDOMLoadedElements);\n Array.from(document.querySelectorAll('[data-simplebar]')).forEach(function (el) {\n if (!el.SimpleBar) new SimpleBar(el, SimpleBar.getElOptions(el));\n });\n }\n }, {\n key: \"getOffset\",\n value: function getOffset(el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft)\n };\n }\n }]);\n\n return SimpleBar;\n}();\n/**\n * HTML API\n * Called only in a browser env.\n */\n\n\nSimpleBar.defaultOptions = {\n autoHide: true,\n forceVisible: false,\n classNames: {\n content: 'simplebar-content',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'visible',\n horizontal: 'horizontal',\n vertical: 'vertical'\n },\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n timeout: 1000\n};\n\nif (canUseDOM) {\n SimpleBar.initHtmlApi();\n}\n\nexport default SimpleBar;\n//# sourceMappingURL=simplebar.esm.js.map\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/*! scrollbarWidth.js v0.1.3 | felixexter | MIT | https://github.com/felixexter/scrollbarWidth */\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\t(root.jQuery || root).scrollbarWidth = factory();\n\t}\n}(this, function () {\n\t'use strict';\n\n\tfunction scrollbarWidth() {\n\t\tif (typeof document === 'undefined') {\n\t\t\treturn 0\n\t\t}\n\n\t\tvar\n\t\t\tbody = document.body,\n\t\t\tbox = document.createElement('div'),\n\t\t\tboxStyle = box.style,\n\t\t\twidth;\n\n\t\tboxStyle.position = 'absolute';\n\t\tboxStyle.top = boxStyle.left = '-9999px';\n\t\tboxStyle.width = boxStyle.height = '100px';\n\t\tboxStyle.overflow = 'scroll';\n\n\t\tbody.appendChild(box);\n\n\t\twidth = box.offsetWidth - box.clientWidth;\n\n\t\tbody.removeChild(box);\n\n\t\treturn width;\n\t}\n\n\treturn scrollbarWidth;\n}));\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery 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 `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\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 && (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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery 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 `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\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 && (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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery 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 `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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/**\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 * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\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 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/** 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/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\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 splice = arrayProto.splice;\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 * 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 ? entries.length : 0;\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}\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 return this.has(key) && delete this.__data__[key];\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 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 ? entries.length : 0;\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}\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 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 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 ? entries.length : 0;\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.__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 return getMapData(this, key)['delete'](key);\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 getMapData(this, key).set(key, value);\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 * 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 `_.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) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\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 * 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 * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\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 * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\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 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 // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\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 && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = (function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n function getIndex(arr, key) {\n var result = -1;\n\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n\n return true;\n }\n\n return false;\n });\n\n return result;\n }\n\n return (function () {\n function anonymous() {\n this.__entries__ = [];\n }\n\n var prototypeAccessors = { size: { configurable: true } };\n\n /**\r\n * @returns {boolean}\r\n */\n prototypeAccessors.size.get = function () {\n return this.__entries__.length;\n };\n\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n anonymous.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n\n return entry && entry[1];\n };\n\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n anonymous.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n anonymous.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n\n if (~index) {\n entries.splice(index, 1);\n }\n };\n\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n anonymous.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n\n /**\r\n * @returns {void}\r\n */\n anonymous.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n anonymous.prototype.forEach = function (callback, ctx) {\n var this$1 = this;\n if ( ctx === void 0 ) ctx = null;\n\n for (var i = 0, list = this$1.__entries__; i < list.length; i += 1) {\n var entry = list[i];\n\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n\n Object.defineProperties( anonymous.prototype, prototypeAccessors );\n\n return anonymous;\n }());\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\nvar global$1 = (function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n }\n\n // eslint-disable-next-line no-new-func\n return Function('return this')();\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\nvar requestAnimationFrame$1 = (function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\n})();\n\n// Defines minimum timeout before adding a trailing call.\nvar trailingTimeout = 2;\n\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\nvar throttle = function (callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n\n callback();\n }\n\n if (trailingCall) {\n proxy();\n }\n }\n\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n function proxy() {\n var timeStamp = Date.now();\n\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n }\n\n // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n\n setTimeout(timeoutCallback, delay);\n }\n\n lastCallTime = timeStamp;\n }\n\n return proxy;\n};\n\n// Minimum delay before invoking the update of observers.\nvar REFRESH_DELAY = 20;\n\n// A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\n\n// Check if MutationObserver is available.\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\nvar ResizeObserverController = function() {\n this.connected_ = false;\n this.mutationEventsAdded_ = false;\n this.mutationsObserver_ = null;\n this.observers_ = [];\n\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n};\n\n/**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n\n\n/**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n\n\n/**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n\n/**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\nResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n }\n\n // Add listeners if they haven't been added yet.\n if (!this.connected_) {\n this.connect_();\n }\n};\n\n/**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\nResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer);\n\n // Remove observer if it's present in registry.\n if (~index) {\n observers.splice(index, 1);\n }\n\n // Remove listeners if controller has no connected observers.\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n};\n\n/**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\nResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_();\n\n // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n if (changesDetected) {\n this.refresh();\n }\n};\n\n/**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\nResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n });\n\n // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\n\n return activeObservers.length > 0;\n};\n\n/**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\nResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n }\n\n // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n document.addEventListener('transitionend', this.onTransitionEnd_);\n\n window.addEventListener('resize', this.refresh);\n\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n\n this.mutationEventsAdded_ = true;\n }\n\n this.connected_ = true;\n};\n\n/**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\nResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n};\n\n/**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\nResizeObserverController.prototype.onTransitionEnd_ = function (ref) {\n var propertyName = ref.propertyName; if ( propertyName === void 0 ) propertyName = '';\n\n // Detect whether transition may affect dimensions of an element.\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n\n if (isReflowProperty) {\n this.refresh();\n }\n};\n\n/**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\nResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n\n return this.instance_;\n};\n\nResizeObserverController.instance_ = null;\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\nvar defineConfigurable = (function (target, props) {\n for (var i = 0, list = Object.keys(props); i < list.length; i += 1) {\n var key = list[i];\n\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n\n return target;\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\nvar getWindowOf = (function (target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\n\n // Return the local global object if it's not possible extract one from\n // provided element.\n return ownerGlobal || global$1;\n});\n\n// Placeholder of an empty content rectangle.\nvar emptyRect = createRectInit(0, 0, 0, 0);\n\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\nfunction getBordersSize(styles) {\n var positions = [], len = arguments.length - 1;\n while ( len-- > 0 ) positions[ len ] = arguments[ len + 1 ];\n\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n\n return size + toFloat(value);\n }, 0);\n}\n\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n\n for (var i = 0, list = positions; i < list.length; i += 1) {\n var position = list[i];\n\n var value = styles['padding-' + position];\n\n paddings[position] = toFloat(value);\n }\n\n return paddings;\n}\n\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth;\n var clientHeight = target.clientHeight;\n\n // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom;\n\n // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n var width = toFloat(styles.width),\n height = toFloat(styles.height);\n\n // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n }\n\n // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\n\n // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\nvar isSVGGraphicsElement = (function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\n }\n\n // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n return function (target) { return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function'; };\n})();\n\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n\n return getHTMLElementContentRect(target);\n}\n\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\nfunction createReadOnlyRect(ref) {\n var x = ref.x;\n var y = ref.y;\n var width = ref.width;\n var height = ref.height;\n\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype);\n\n // Rectangle's properties are not writable and non-enumerable.\n defineConfigurable(rect, {\n x: x, y: y, width: width, height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n\n return rect;\n}\n\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\nfunction createRectInit(x, y, width, height) {\n return { x: x, y: y, width: width, height: height };\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\nvar ResizeObservation = function(target) {\n this.broadcastWidth = 0;\n this.broadcastHeight = 0;\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n\n this.target = target;\n};\n\n/**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n/**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n\n\n/**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\nResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n\n this.contentRect_ = rect;\n\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n};\n\n/**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\nResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n\n return rect;\n};\n\nvar ResizeObserverEntry = function(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit);\n\n // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n defineConfigurable(this, { target: target, contentRect: contentRect });\n};\n\nvar ResizeObserverSPI = function(callback, controller, callbackCtx) {\n this.activeObservations_ = [];\n this.observations_ = new MapShim();\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n};\n\n/**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n\n\n/**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n\n\n/**\r\n * Public ResizeObserver instance which will be passed to the callback\r\n * function and used as a value of it's \"this\" binding.\r\n *\r\n * @private {ResizeObserver}\r\n */\n\n/**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\nResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_;\n\n // Do nothing if element is already being observed.\n if (observations.has(target)) {\n return;\n }\n\n observations.set(target, new ResizeObservation(target));\n\n this.controller_.addObserver(this);\n\n // Force the update of observations.\n this.controller_.refresh();\n};\n\n/**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\nResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_;\n\n // Do nothing if element is not being observed.\n if (!observations.has(target)) {\n return;\n }\n\n observations.delete(target);\n\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n};\n\n/**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\nResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n};\n\n/**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\nResizeObserverSPI.prototype.gatherActive = function () {\n var this$1 = this;\n\n this.clearActive();\n\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n this$1.activeObservations_.push(observation);\n }\n });\n};\n\n/**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\nResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n\n var ctx = this.callbackCtx_;\n\n // Create ResizeObserverEntry instance for every active observation.\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n};\n\n/**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\nResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n};\n\n/**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\nResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n};\n\n// Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\nvar ResizeObserver = function(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n\n observers.set(this, observer);\n};\n\n// Expose public methods of ResizeObserver.\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n return (ref = observers.get(this))[method].apply(ref, arguments);\n var ref;\n };\n});\n\nvar index = (function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n\n return ResizeObserver;\n})();\n\nexport default index;\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;"],"sourceRoot":""}