{"version":3,"file":"static/components/3388-88a5982b52f7bc13.mjs?cv=7","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/debug/src/browser.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/debug/src/common.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_Symbol.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_baseGetTag.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_baseTrim.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_freeGlobal.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_getRawTag.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_objectToString.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_root.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/_trimmedEndIndex.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/debounce.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/isObject.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/isObjectLike.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/isSymbol.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/now.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/throttle.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/lodash/toNumber.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/ms/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/prop-types/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/react-use/esm/useIntersection.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js"],"sourcesContent":["function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n  var passiveTestOptions = {\n    get passive() {\n      hasPassiveEvents = true;\n      return undefined;\n    }\n  };\n  window.addEventListener('testPassive', null, passiveTestOptions);\n  window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n  return locks.some(function (lock) {\n    if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n      return true;\n    }\n\n    return false;\n  });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n  var e = rawEvent || window.event;\n\n  // For the case whereby consumers adds a touchmove event listener to document.\n  // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n  // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n  // the touchmove event on document will break.\n  if (allowTouchMove(e.target)) {\n    return true;\n  }\n\n  // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n  if (e.touches.length > 1) return true;\n\n  if (e.preventDefault) e.preventDefault();\n\n  return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n  // If previousBodyPaddingRight is already set, don't set it again.\n  if (previousBodyPaddingRight === undefined) {\n    var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n    var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n    if (_reserveScrollBarGap && scrollBarGap > 0) {\n      previousBodyPaddingRight = document.body.style.paddingRight;\n      document.body.style.paddingRight = scrollBarGap + 'px';\n    }\n  }\n\n  // If previousBodyOverflowSetting is already set, don't set it again.\n  if (previousBodyOverflowSetting === undefined) {\n    previousBodyOverflowSetting = document.body.style.overflow;\n    document.body.style.overflow = 'hidden';\n  }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n  if (previousBodyPaddingRight !== undefined) {\n    document.body.style.paddingRight = previousBodyPaddingRight;\n\n    // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n    // can be set again.\n    previousBodyPaddingRight = undefined;\n  }\n\n  if (previousBodyOverflowSetting !== undefined) {\n    document.body.style.overflow = previousBodyOverflowSetting;\n\n    // Restore previousBodyOverflowSetting to undefined\n    // so setOverflowHidden knows it can be set again.\n    previousBodyOverflowSetting = undefined;\n  }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n  return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n  var clientY = event.targetTouches[0].clientY - initialClientY;\n\n  if (allowTouchMove(event.target)) {\n    return false;\n  }\n\n  if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n    // element is at the top of its scroll.\n    return preventDefault(event);\n  }\n\n  if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n    // element is at the bottom of its scroll.\n    return preventDefault(event);\n  }\n\n  event.stopPropagation();\n  return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n  // targetElement must be provided\n  if (!targetElement) {\n    // eslint-disable-next-line no-console\n    console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n    return;\n  }\n\n  // disableBodyScroll must not have been called on this targetElement before\n  if (locks.some(function (lock) {\n    return lock.targetElement === targetElement;\n  })) {\n    return;\n  }\n\n  var lock = {\n    targetElement: targetElement,\n    options: options || {}\n  };\n\n  locks = [].concat(_toConsumableArray(locks), [lock]);\n\n  if (isIosDevice) {\n    targetElement.ontouchstart = function (event) {\n      if (event.targetTouches.length === 1) {\n        // detect single touch.\n        initialClientY = event.targetTouches[0].clientY;\n      }\n    };\n    targetElement.ontouchmove = function (event) {\n      if (event.targetTouches.length === 1) {\n        // detect single touch.\n        handleScroll(event, targetElement);\n      }\n    };\n\n    if (!documentListenerAdded) {\n      document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = true;\n    }\n  } else {\n    setOverflowHidden(options);\n  }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n  if (isIosDevice) {\n    // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n    locks.forEach(function (lock) {\n      lock.targetElement.ontouchstart = null;\n      lock.targetElement.ontouchmove = null;\n    });\n\n    if (documentListenerAdded) {\n      document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = false;\n    }\n\n    // Reset initial clientY.\n    initialClientY = -1;\n  } else {\n    restoreOverflowSetting();\n  }\n\n  locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n  if (!targetElement) {\n    // eslint-disable-next-line no-console\n    console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n    return;\n  }\n\n  locks = locks.filter(function (lock) {\n    return lock.targetElement !== targetElement;\n  });\n\n  if (isIosDevice) {\n    targetElement.ontouchstart = null;\n    targetElement.ontouchmove = null;\n\n    if (documentListenerAdded && locks.length === 0) {\n      document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = false;\n    }\n  } else if (!locks.length) {\n    restoreOverflowSetting();\n  }\n};\n\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\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 nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\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\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\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 * 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        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\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        clearTimeout(timerId);\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\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\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) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\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\nmodule.exports = now;\n","var debounce = require('./debounce'),\n    isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\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\nmodule.exports = throttle;\n","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\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/**\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 = baseTrim(value);\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 = toNumber;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n *  - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n  options = options || {};\n  var type = typeof val;\n  if (type === 'string' && val.length > 0) {\n    return parse(val);\n  } else if (type === 'number' && isFinite(val)) {\n    return options.long ? fmtLong(val) : fmtShort(val);\n  }\n  throw new Error(\n    'val is not a non-empty string or a valid number. val=' +\n      JSON.stringify(val)\n  );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n  str = String(str);\n  if (str.length > 100) {\n    return;\n  }\n  var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n    str\n  );\n  if (!match) {\n    return;\n  }\n  var n = parseFloat(match[1]);\n  var type = (match[2] || 'ms').toLowerCase();\n  switch (type) {\n    case 'years':\n    case 'year':\n    case 'yrs':\n    case 'yr':\n    case 'y':\n      return n * y;\n    case 'weeks':\n    case 'week':\n    case 'w':\n      return n * w;\n    case 'days':\n    case 'day':\n    case 'd':\n      return n * d;\n    case 'hours':\n    case 'hour':\n    case 'hrs':\n    case 'hr':\n    case 'h':\n      return n * h;\n    case 'minutes':\n    case 'minute':\n    case 'mins':\n    case 'min':\n    case 'm':\n      return n * m;\n    case 'seconds':\n    case 'second':\n    case 'secs':\n    case 'sec':\n    case 's':\n      return n * s;\n    case 'milliseconds':\n    case 'millisecond':\n    case 'msecs':\n    case 'msec':\n    case 'ms':\n      return n;\n    default:\n      return undefined;\n  }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n  var msAbs = Math.abs(ms);\n  if (msAbs >= d) {\n    return Math.round(ms / d) + 'd';\n  }\n  if (msAbs >= h) {\n    return Math.round(ms / h) + 'h';\n  }\n  if (msAbs >= m) {\n    return Math.round(ms / m) + 'm';\n  }\n  if (msAbs >= s) {\n    return Math.round(ms / s) + 's';\n  }\n  return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n  var msAbs = Math.abs(ms);\n  if (msAbs >= d) {\n    return plural(ms, msAbs, d, 'day');\n  }\n  if (msAbs >= h) {\n    return plural(ms, msAbs, h, 'hour');\n  }\n  if (msAbs >= m) {\n    return plural(ms, msAbs, m, 'minute');\n  }\n  if (msAbs >= s) {\n    return plural(ms, msAbs, s, 'second');\n  }\n  return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n  var isPlural = msAbs >= n * 1.5;\n  return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { useEffect, useState } from 'react';\nvar useIntersection = function (ref, options) {\n    var _a = useState(null), intersectionObserverEntry = _a[0], setIntersectionObserverEntry = _a[1];\n    useEffect(function () {\n        if (ref.current && typeof IntersectionObserver === 'function') {\n            var handler = function (entries) {\n                setIntersectionObserverEntry(entries[0]);\n            };\n            var observer_1 = new IntersectionObserver(handler, options);\n            observer_1.observe(ref.current);\n            return function () {\n                setIntersectionObserverEntry(null);\n                observer_1.disconnect();\n            };\n        }\n        return function () { };\n    }, [ref.current, options.threshold, options.root, options.rootMargin]);\n    return intersectionObserverEntry;\n};\nexport default useIntersection;\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 */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n    if (typeof Map !== 'undefined') {\r\n        return Map;\r\n    }\r\n    /**\r\n     * Returns index in provided array that matches the specified key.\r\n     *\r\n     * @param {Array<Array>} arr\r\n     * @param {*} key\r\n     * @returns {number}\r\n     */\r\n    function getIndex(arr, key) {\r\n        var result = -1;\r\n        arr.some(function (entry, index) {\r\n            if (entry[0] === key) {\r\n                result = index;\r\n                return true;\r\n            }\r\n            return false;\r\n        });\r\n        return result;\r\n    }\r\n    return /** @class */ (function () {\r\n        function class_1() {\r\n            this.__entries__ = [];\r\n        }\r\n        Object.defineProperty(class_1.prototype, \"size\", {\r\n            /**\r\n             * @returns {boolean}\r\n             */\r\n            get: function () {\r\n                return this.__entries__.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        /**\r\n         * @param {*} key\r\n         * @returns {*}\r\n         */\r\n        class_1.prototype.get = function (key) {\r\n            var index = getIndex(this.__entries__, key);\r\n            var entry = this.__entries__[index];\r\n            return entry && entry[1];\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @param {*} value\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.set = function (key, value) {\r\n            var index = getIndex(this.__entries__, key);\r\n            if (~index) {\r\n                this.__entries__[index][1] = value;\r\n            }\r\n            else {\r\n                this.__entries__.push([key, value]);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.delete = function (key) {\r\n            var entries = this.__entries__;\r\n            var index = getIndex(entries, key);\r\n            if (~index) {\r\n                entries.splice(index, 1);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.has = function (key) {\r\n            return !!~getIndex(this.__entries__, key);\r\n        };\r\n        /**\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.clear = function () {\r\n            this.__entries__.splice(0);\r\n        };\r\n        /**\r\n         * @param {Function} callback\r\n         * @param {*} [ctx=null]\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.forEach = function (callback, ctx) {\r\n            if (ctx === void 0) { ctx = null; }\r\n            for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n                var entry = _a[_i];\r\n                callback.call(ctx, entry[1], entry[0]);\r\n            }\r\n        };\r\n        return class_1;\r\n    }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n    if (typeof global !== 'undefined' && global.Math === Math) {\r\n        return global;\r\n    }\r\n    if (typeof self !== 'undefined' && self.Math === Math) {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined' && window.Math === Math) {\r\n        return window;\r\n    }\r\n    // eslint-disable-next-line no-new-func\r\n    return Function('return this')();\r\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 */\r\nvar requestAnimationFrame$1 = (function () {\r\n    if (typeof requestAnimationFrame === 'function') {\r\n        // It's required to use a bounded function because IE sometimes throws\r\n        // an \"Invalid calling object\" error if rAF is invoked without the global\r\n        // object on the left hand side.\r\n        return requestAnimationFrame.bind(global$1);\r\n    }\r\n    return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\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 */\r\nfunction throttle (callback, delay) {\r\n    var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\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     */\r\n    function resolvePending() {\r\n        if (leadingCall) {\r\n            leadingCall = false;\r\n            callback();\r\n        }\r\n        if (trailingCall) {\r\n            proxy();\r\n        }\r\n    }\r\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     */\r\n    function timeoutCallback() {\r\n        requestAnimationFrame$1(resolvePending);\r\n    }\r\n    /**\r\n     * Schedules invocation of the original function.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function proxy() {\r\n        var timeStamp = Date.now();\r\n        if (leadingCall) {\r\n            // Reject immediately following calls.\r\n            if (timeStamp - lastCallTime < trailingTimeout) {\r\n                return;\r\n            }\r\n            // Schedule new call to be in invoked when the pending one is resolved.\r\n            // This is important for \"transitions\" which never actually start\r\n            // immediately so there is a chance that we might miss one if change\r\n            // happens amids the pending invocation.\r\n            trailingCall = true;\r\n        }\r\n        else {\r\n            leadingCall = true;\r\n            trailingCall = false;\r\n            setTimeout(timeoutCallback, delay);\r\n        }\r\n        lastCallTime = timeStamp;\r\n    }\r\n    return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserverController.\r\n     *\r\n     * @private\r\n     */\r\n    function ResizeObserverController() {\r\n        /**\r\n         * Indicates whether DOM listeners have been added.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.connected_ = false;\r\n        /**\r\n         * Tells that controller has subscribed for Mutation Events.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.mutationEventsAdded_ = false;\r\n        /**\r\n         * Keeps reference to the instance of MutationObserver.\r\n         *\r\n         * @private {MutationObserver}\r\n         */\r\n        this.mutationsObserver_ = null;\r\n        /**\r\n         * A list of connected observers.\r\n         *\r\n         * @private {Array<ResizeObserverSPI>}\r\n         */\r\n        this.observers_ = [];\r\n        this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n        this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n    }\r\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     */\r\n    ResizeObserverController.prototype.addObserver = function (observer) {\r\n        if (!~this.observers_.indexOf(observer)) {\r\n            this.observers_.push(observer);\r\n        }\r\n        // Add listeners if they haven't been added yet.\r\n        if (!this.connected_) {\r\n            this.connect_();\r\n        }\r\n    };\r\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     */\r\n    ResizeObserverController.prototype.removeObserver = function (observer) {\r\n        var observers = this.observers_;\r\n        var index = observers.indexOf(observer);\r\n        // Remove observer if it's present in registry.\r\n        if (~index) {\r\n            observers.splice(index, 1);\r\n        }\r\n        // Remove listeners if controller has no connected observers.\r\n        if (!observers.length && this.connected_) {\r\n            this.disconnect_();\r\n        }\r\n    };\r\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     */\r\n    ResizeObserverController.prototype.refresh = function () {\r\n        var changesDetected = this.updateObservers_();\r\n        // Continue running updates if changes have been detected as there might\r\n        // be future ones caused by CSS transitions.\r\n        if (changesDetected) {\r\n            this.refresh();\r\n        }\r\n    };\r\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     */\r\n    ResizeObserverController.prototype.updateObservers_ = function () {\r\n        // Collect observers that have active observations.\r\n        var activeObservers = this.observers_.filter(function (observer) {\r\n            return observer.gatherActive(), observer.hasActive();\r\n        });\r\n        // Deliver notifications in a separate cycle in order to avoid any\r\n        // collisions between observers, e.g. when multiple instances of\r\n        // ResizeObserver are tracking the same element and the callback of one\r\n        // of them changes content dimensions of the observed target. Sometimes\r\n        // this may result in notifications being blocked for the rest of observers.\r\n        activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n        return activeObservers.length > 0;\r\n    };\r\n    /**\r\n     * Initializes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.connect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already added.\r\n        if (!isBrowser || this.connected_) {\r\n            return;\r\n        }\r\n        // Subscription to the \"Transitionend\" event is used as a workaround for\r\n        // delayed transitions. This way it's possible to capture at least the\r\n        // final state of an element.\r\n        document.addEventListener('transitionend', this.onTransitionEnd_);\r\n        window.addEventListener('resize', this.refresh);\r\n        if (mutationObserverSupported) {\r\n            this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n            this.mutationsObserver_.observe(document, {\r\n                attributes: true,\r\n                childList: true,\r\n                characterData: true,\r\n                subtree: true\r\n            });\r\n        }\r\n        else {\r\n            document.addEventListener('DOMSubtreeModified', this.refresh);\r\n            this.mutationEventsAdded_ = true;\r\n        }\r\n        this.connected_ = true;\r\n    };\r\n    /**\r\n     * Removes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.disconnect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already removed.\r\n        if (!isBrowser || !this.connected_) {\r\n            return;\r\n        }\r\n        document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n        window.removeEventListener('resize', this.refresh);\r\n        if (this.mutationsObserver_) {\r\n            this.mutationsObserver_.disconnect();\r\n        }\r\n        if (this.mutationEventsAdded_) {\r\n            document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n        }\r\n        this.mutationsObserver_ = null;\r\n        this.mutationEventsAdded_ = false;\r\n        this.connected_ = false;\r\n    };\r\n    /**\r\n     * \"Transitionend\" event handler.\r\n     *\r\n     * @private\r\n     * @param {TransitionEvent} event\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n        var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n        // Detect whether transition may affect dimensions of an element.\r\n        var isReflowProperty = transitionKeys.some(function (key) {\r\n            return !!~propertyName.indexOf(key);\r\n        });\r\n        if (isReflowProperty) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Returns instance of the ResizeObserverController.\r\n     *\r\n     * @returns {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.getInstance = function () {\r\n        if (!this.instance_) {\r\n            this.instance_ = new ResizeObserverController();\r\n        }\r\n        return this.instance_;\r\n    };\r\n    /**\r\n     * Holds reference to the controller's instance.\r\n     *\r\n     * @private {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.instance_ = null;\r\n    return ResizeObserverController;\r\n}());\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 */\r\nvar defineConfigurable = (function (target, props) {\r\n    for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n        var key = _a[_i];\r\n        Object.defineProperty(target, key, {\r\n            value: props[key],\r\n            enumerable: false,\r\n            writable: false,\r\n            configurable: true\r\n        });\r\n    }\r\n    return target;\r\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 */\r\nvar getWindowOf = (function (target) {\r\n    // Assume that the element is an instance of Node, which means that it\r\n    // has the \"ownerDocument\" property from which we can retrieve a\r\n    // corresponding global object.\r\n    var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n    // Return the local global object if it's not possible extract one from\r\n    // provided element.\r\n    return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n    return parseFloat(value) || 0;\r\n}\r\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 */\r\nfunction getBordersSize(styles) {\r\n    var positions = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        positions[_i - 1] = arguments[_i];\r\n    }\r\n    return positions.reduce(function (size, position) {\r\n        var value = styles['border-' + position + '-width'];\r\n        return size + toFloat(value);\r\n    }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n    var positions = ['top', 'right', 'bottom', 'left'];\r\n    var paddings = {};\r\n    for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n        var position = positions_1[_i];\r\n        var value = styles['padding-' + position];\r\n        paddings[position] = toFloat(value);\r\n    }\r\n    return paddings;\r\n}\r\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 */\r\nfunction getSVGContentRect(target) {\r\n    var bbox = target.getBBox();\r\n    return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\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 */\r\nfunction getHTMLElementContentRect(target) {\r\n    // Client width & height properties can't be\r\n    // used exclusively as they provide rounded values.\r\n    var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n    // By this condition we can catch all non-replaced inline, hidden and\r\n    // detached elements. Though elements with width & height properties less\r\n    // than 0.5 will be discarded as well.\r\n    //\r\n    // Without it we would need to implement separate methods for each of\r\n    // those cases and it's not possible to perform a precise and performance\r\n    // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n    // gives wrong results for elements with width & height less than 0.5.\r\n    if (!clientWidth && !clientHeight) {\r\n        return emptyRect;\r\n    }\r\n    var styles = getWindowOf(target).getComputedStyle(target);\r\n    var paddings = getPaddings(styles);\r\n    var horizPad = paddings.left + paddings.right;\r\n    var vertPad = paddings.top + paddings.bottom;\r\n    // Computed styles of width & height are being used because they are the\r\n    // only dimensions available to JS that contain non-rounded values. It could\r\n    // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n    // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n    var width = toFloat(styles.width), height = toFloat(styles.height);\r\n    // Width & height include paddings and borders when the 'border-box' box\r\n    // model is applied (except for IE).\r\n    if (styles.boxSizing === 'border-box') {\r\n        // Following conditions are required to handle Internet Explorer which\r\n        // doesn't include paddings and borders to computed CSS dimensions.\r\n        //\r\n        // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n        // properties then it's either IE, and thus we don't need to subtract\r\n        // anything, or an element merely doesn't have paddings/borders styles.\r\n        if (Math.round(width + horizPad) !== clientWidth) {\r\n            width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n        }\r\n        if (Math.round(height + vertPad) !== clientHeight) {\r\n            height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n        }\r\n    }\r\n    // Following steps can't be applied to the document's root element as its\r\n    // client[Width/Height] properties represent viewport area of the window.\r\n    // Besides, it's as well not necessary as the <html> itself neither has\r\n    // rendered scroll bars nor it can be clipped.\r\n    if (!isDocumentElement(target)) {\r\n        // In some browsers (only in Firefox, actually) CSS width & height\r\n        // include scroll bars size which can be removed at this step as scroll\r\n        // bars are the only difference between rounded dimensions + paddings\r\n        // and \"client\" properties, though that is not always true in Chrome.\r\n        var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n        var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n        // Chrome has a rather weird rounding of \"client\" properties.\r\n        // E.g. for an element with content width of 314.2px it sometimes gives\r\n        // the client width of 315px and for the width of 314.7px it may give\r\n        // 314px. And it doesn't happen all the time. So just ignore this delta\r\n        // as a non-relevant.\r\n        if (Math.abs(vertScrollbar) !== 1) {\r\n            width -= vertScrollbar;\r\n        }\r\n        if (Math.abs(horizScrollbar) !== 1) {\r\n            height -= horizScrollbar;\r\n        }\r\n    }\r\n    return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\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 */\r\nvar isSVGGraphicsElement = (function () {\r\n    // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n    // interface.\r\n    if (typeof SVGGraphicsElement !== 'undefined') {\r\n        return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n    }\r\n    // If it's so, then check that element is at least an instance of the\r\n    // SVGElement and that it has the \"getBBox\" method.\r\n    // eslint-disable-next-line no-extra-parens\r\n    return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n        typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n    return target === getWindowOf(target).document.documentElement;\r\n}\r\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 */\r\nfunction getContentRect(target) {\r\n    if (!isBrowser) {\r\n        return emptyRect;\r\n    }\r\n    if (isSVGGraphicsElement(target)) {\r\n        return getSVGContentRect(target);\r\n    }\r\n    return getHTMLElementContentRect(target);\r\n}\r\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 */\r\nfunction createReadOnlyRect(_a) {\r\n    var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n    // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n    var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n    var rect = Object.create(Constr.prototype);\r\n    // Rectangle's properties are not writable and non-enumerable.\r\n    defineConfigurable(rect, {\r\n        x: x, y: y, width: width, height: height,\r\n        top: y,\r\n        right: x + width,\r\n        bottom: height + y,\r\n        left: x\r\n    });\r\n    return rect;\r\n}\r\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 */\r\nfunction createRectInit(x, y, width, height) {\r\n    return { x: x, y: y, width: width, height: height };\r\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 */\r\nvar ResizeObservation = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObservation.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     */\r\n    function ResizeObservation(target) {\r\n        /**\r\n         * Broadcasted width of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastWidth = 0;\r\n        /**\r\n         * Broadcasted height of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastHeight = 0;\r\n        /**\r\n         * Reference to the last observed content rectangle.\r\n         *\r\n         * @private {DOMRectInit}\r\n         */\r\n        this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n        this.target = target;\r\n    }\r\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     */\r\n    ResizeObservation.prototype.isActive = function () {\r\n        var rect = getContentRect(this.target);\r\n        this.contentRect_ = rect;\r\n        return (rect.width !== this.broadcastWidth ||\r\n            rect.height !== this.broadcastHeight);\r\n    };\r\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     */\r\n    ResizeObservation.prototype.broadcastRect = function () {\r\n        var rect = this.contentRect_;\r\n        this.broadcastWidth = rect.width;\r\n        this.broadcastHeight = rect.height;\r\n        return rect;\r\n    };\r\n    return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObserverEntry.\r\n     *\r\n     * @param {Element} target - Element that is being observed.\r\n     * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n     */\r\n    function ResizeObserverEntry(target, rectInit) {\r\n        var contentRect = createReadOnlyRect(rectInit);\r\n        // According to the specification following properties are not writable\r\n        // and are also not enumerable in the native implementation.\r\n        //\r\n        // Property accessors are not being used as they'd require to define a\r\n        // private WeakMap storage which may cause memory leaks in browsers that\r\n        // don't support this type of collections.\r\n        defineConfigurable(this, { target: target, contentRect: contentRect });\r\n    }\r\n    return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n     *      when one of the observed elements changes it's content dimensions.\r\n     * @param {ResizeObserverController} controller - Controller instance which\r\n     *      is responsible for the updates of observer.\r\n     * @param {ResizeObserver} callbackCtx - Reference to the public\r\n     *      ResizeObserver instance which will be passed to callback function.\r\n     */\r\n    function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n        /**\r\n         * Collection of resize observations that have detected changes in dimensions\r\n         * of elements.\r\n         *\r\n         * @private {Array<ResizeObservation>}\r\n         */\r\n        this.activeObservations_ = [];\r\n        /**\r\n         * Registry of the ResizeObservation instances.\r\n         *\r\n         * @private {Map<Element, ResizeObservation>}\r\n         */\r\n        this.observations_ = new MapShim();\r\n        if (typeof callback !== 'function') {\r\n            throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n        }\r\n        this.callback_ = callback;\r\n        this.controller_ = controller;\r\n        this.callbackCtx_ = callbackCtx;\r\n    }\r\n    /**\r\n     * Starts observing provided element.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.observe = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is already being observed.\r\n        if (observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.set(target, new ResizeObservation(target));\r\n        this.controller_.addObserver(this);\r\n        // Force the update of observations.\r\n        this.controller_.refresh();\r\n    };\r\n    /**\r\n     * Stops observing provided element.\r\n     *\r\n     * @param {Element} target - Element to stop observing.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.unobserve = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is not being observed.\r\n        if (!observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.delete(target);\r\n        if (!observations.size) {\r\n            this.controller_.removeObserver(this);\r\n        }\r\n    };\r\n    /**\r\n     * Stops observing all elements.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.disconnect = function () {\r\n        this.clearActive();\r\n        this.observations_.clear();\r\n        this.controller_.removeObserver(this);\r\n    };\r\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     */\r\n    ResizeObserverSPI.prototype.gatherActive = function () {\r\n        var _this = this;\r\n        this.clearActive();\r\n        this.observations_.forEach(function (observation) {\r\n            if (observation.isActive()) {\r\n                _this.activeObservations_.push(observation);\r\n            }\r\n        });\r\n    };\r\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     */\r\n    ResizeObserverSPI.prototype.broadcastActive = function () {\r\n        // Do nothing if observer doesn't have active observations.\r\n        if (!this.hasActive()) {\r\n            return;\r\n        }\r\n        var ctx = this.callbackCtx_;\r\n        // Create ResizeObserverEntry instance for every active observation.\r\n        var entries = this.activeObservations_.map(function (observation) {\r\n            return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n        });\r\n        this.callback_.call(ctx, entries, ctx);\r\n        this.clearActive();\r\n    };\r\n    /**\r\n     * Clears the collection of active observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.clearActive = function () {\r\n        this.activeObservations_.splice(0);\r\n    };\r\n    /**\r\n     * Tells whether observer has active observations.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObserverSPI.prototype.hasActive = function () {\r\n        return this.activeObservations_.length > 0;\r\n    };\r\n    return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\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 */\r\nvar ResizeObserver = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n     *      dimensions of the observed elements change.\r\n     */\r\n    function ResizeObserver(callback) {\r\n        if (!(this instanceof ResizeObserver)) {\r\n            throw new TypeError('Cannot call a class as a function.');\r\n        }\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        var controller = ResizeObserverController.getInstance();\r\n        var observer = new ResizeObserverSPI(callback, controller, this);\r\n        observers.set(this, observer);\r\n    }\r\n    return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n    'observe',\r\n    'unobserve',\r\n    'disconnect'\r\n].forEach(function (method) {\r\n    ResizeObserver.prototype[method] = function () {\r\n        var _a;\r\n        return (_a = observers.get(this))[method].apply(_a, arguments);\r\n    };\r\n});\n\nvar index = (function () {\r\n    // Export existing implementation if available.\r\n    if (typeof global$1.ResizeObserver !== 'undefined') {\r\n        return global$1.ResizeObserver;\r\n    }\r\n    return ResizeObserver;\r\n})();\n\nexport default index;\n"],"names":["window","i","e","document","t","Array","console","process","navigator","parseInt","localStorage","JSON","Number","Date","Object","Error","n","Boolean","Math","s","o","self","Function","m","TypeError","setTimeout","arguments","clearTimeout","r","String","parseFloat","isFinite","IntersectionObserver","Map","requestAnimationFrame","MutationObserver","SVGGraphicsElement","DOMRectReadOnly","Element","WeakMap"],"mappings":"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"}