{"version":3,"file":"js/4569-8ec5fea321f55f72e9c4.js","mappings":"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","sources":["webpack://app/./node_modules/@bugsnag/browser/dist/bugsnag.js","webpack://app/./node_modules/@bugsnag/js/browser/notifier.js","webpack://app/./node_modules/@bugsnag/plugin-react/dist/bugsnag-react.js","webpack://app/./node_modules/decode-uri-component/index.js","webpack://app/./node_modules/exenv/index.js","webpack://app/./node_modules/filter-obj/index.js","webpack://app/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://app/./node_modules/prop-types/index.js","webpack://app/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://app/./node_modules/query-string/index.js","webpack://app/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://app/./node_modules/react-modal/lib/components/Modal.js","webpack://app/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://app/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://app/./node_modules/react-modal/lib/helpers/bodyTrap.js","webpack://app/./node_modules/react-modal/lib/helpers/classList.js","webpack://app/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://app/./node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack://app/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://app/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://app/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://app/./node_modules/react-modal/lib/index.js","webpack://app/./node_modules/react-sliding-pane/dist/react-sliding-pane.js","webpack://app/./node_modules/split-on-first/index.js","webpack://app/./node_modules/strict-uri-encode/index.js","webpack://app/./node_modules/warning/warning.js"],"sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Bugsnag = f()}})(function(){var define,module,exports;\nvar _$breadcrumbTypes_8 = ['navigation', 'request', 'process', 'log', 'user', 'state', 'error', 'manual'];\n\n// Array#reduce\nvar _$reduce_17 = function (arr, fn, accum) {\n var val = accum;\n for (var i = 0, len = arr.length; i < len; i++) val = fn(val, arr[i], i, arr);\n return val;\n};\n\n/* removed: var _$reduce_17 = require('./reduce'); */;\n\n// Array#filter\nvar _$filter_12 = function (arr, fn) {\n return _$reduce_17(arr, function (accum, item, i, arr) {\n return !fn(item, i, arr) ? accum : accum.concat(item);\n }, []);\n};\n\n/* removed: var _$reduce_17 = require('./reduce'); */;\n// Array#includes\nvar _$includes_13 = function (arr, x) {\n return _$reduce_17(arr, function (accum, item, i, arr) {\n return accum === true || item === x;\n }, false);\n};\n\n// Array#isArray\nvar _$isArray_14 = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\n/* eslint-disable-next-line no-prototype-builtins */\nvar _hasDontEnumBug = !{\n toString: null\n}.propertyIsEnumerable('toString');\nvar _dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'];\n\n// Object#keys\nvar _$keys_15 = function (obj) {\n // stripped down version of\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Keys\n var result = [];\n var prop;\n for (prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) result.push(prop);\n }\n if (!_hasDontEnumBug) return result;\n for (var i = 0, len = _dontEnums.length; i < len; i++) {\n if (Object.prototype.hasOwnProperty.call(obj, _dontEnums[i])) result.push(_dontEnums[i]);\n }\n return result;\n};\n\nvar _$intRange_24 = function (min, max) {\n if (min === void 0) {\n min = 1;\n }\n if (max === void 0) {\n max = Infinity;\n }\n return function (value) {\n return typeof value === 'number' && parseInt('' + value, 10) === value && value >= min && value <= max;\n };\n};\n\n/* removed: var _$filter_12 = require('../es-utils/filter'); */;\n/* removed: var _$isArray_14 = require('../es-utils/is-array'); */;\nvar _$listOfFunctions_25 = function (value) {\n return typeof value === 'function' || _$isArray_14(value) && _$filter_12(value, function (f) {\n return typeof f === 'function';\n }).length === value.length;\n};\n\nvar _$stringWithLength_26 = function (value) {\n return typeof value === 'string' && !!value.length;\n};\n\nvar _$config_5 = {};\n/* removed: var _$filter_12 = require('./lib/es-utils/filter'); */;\n/* removed: var _$reduce_17 = require('./lib/es-utils/reduce'); */;\n/* removed: var _$keys_15 = require('./lib/es-utils/keys'); */;\n/* removed: var _$isArray_14 = require('./lib/es-utils/is-array'); */;\n/* removed: var _$includes_13 = require('./lib/es-utils/includes'); */;\n/* removed: var _$intRange_24 = require('./lib/validators/int-range'); */;\n/* removed: var _$stringWithLength_26 = require('./lib/validators/string-with-length'); */;\n/* removed: var _$listOfFunctions_25 = require('./lib/validators/list-of-functions'); */;\n/* removed: var _$breadcrumbTypes_8 = require('./lib/breadcrumb-types'); */;\nvar defaultErrorTypes = function () {\n return {\n unhandledExceptions: true,\n unhandledRejections: true\n };\n};\n_$config_5.schema = {\n apiKey: {\n defaultValue: function () {\n return null;\n },\n message: 'is required',\n validate: _$stringWithLength_26\n },\n appVersion: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || _$stringWithLength_26(value);\n }\n },\n appType: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || _$stringWithLength_26(value);\n }\n },\n autoDetectErrors: {\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n },\n enabledErrorTypes: {\n defaultValue: function () {\n return defaultErrorTypes();\n },\n message: 'should be an object containing the flags { unhandledExceptions:true|false, unhandledRejections:true|false }',\n allowPartialObject: true,\n validate: function (value) {\n // ensure we have an object\n if (typeof value !== 'object' || !value) return false;\n var providedKeys = _$keys_15(value);\n var defaultKeys = _$keys_15(defaultErrorTypes());\n // ensure it only has a subset of the allowed keys\n if (_$filter_12(providedKeys, function (k) {\n return _$includes_13(defaultKeys, k);\n }).length < providedKeys.length) return false;\n // ensure all of the values are boolean\n if (_$filter_12(_$keys_15(value), function (k) {\n return typeof value[k] !== 'boolean';\n }).length > 0) return false;\n return true;\n }\n },\n onError: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_25\n },\n onSession: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_25\n },\n onBreadcrumb: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_25\n },\n endpoints: {\n defaultValue: function () {\n return {\n notify: 'https://notify.bugsnag.com',\n sessions: 'https://sessions.bugsnag.com'\n };\n },\n message: 'should be an object containing endpoint URLs { notify, sessions }',\n validate: function (val) {\n return (\n // first, ensure it's an object\n val && typeof val === 'object' &&\n // notify and sessions must always be set\n _$stringWithLength_26(val.notify) && _$stringWithLength_26(val.sessions) &&\n // ensure no keys other than notify/session are set on endpoints object\n _$filter_12(_$keys_15(val), function (k) {\n return !_$includes_13(['notify', 'sessions'], k);\n }).length === 0\n );\n }\n },\n autoTrackSessions: {\n defaultValue: function (val) {\n return true;\n },\n message: 'should be true|false',\n validate: function (val) {\n return val === true || val === false;\n }\n },\n enabledReleaseStages: {\n defaultValue: function () {\n return null;\n },\n message: 'should be an array of strings',\n validate: function (value) {\n return value === null || _$isArray_14(value) && _$filter_12(value, function (f) {\n return typeof f === 'string';\n }).length === value.length;\n }\n },\n releaseStage: {\n defaultValue: function () {\n return 'production';\n },\n message: 'should be a string',\n validate: function (value) {\n return typeof value === 'string' && value.length;\n }\n },\n maxBreadcrumbs: {\n defaultValue: function () {\n return 25;\n },\n message: 'should be a number ≤100',\n validate: function (value) {\n return _$intRange_24(0, 100)(value);\n }\n },\n enabledBreadcrumbTypes: {\n defaultValue: function () {\n return _$breadcrumbTypes_8;\n },\n message: \"should be null or a list of available breadcrumb types (\" + _$breadcrumbTypes_8.join(',') + \")\",\n validate: function (value) {\n return value === null || _$isArray_14(value) && _$reduce_17(value, function (accum, maybeType) {\n if (accum === false) return accum;\n return _$includes_13(_$breadcrumbTypes_8, maybeType);\n }, true);\n }\n },\n context: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || typeof value === 'string';\n }\n },\n user: {\n defaultValue: function () {\n return {};\n },\n message: 'should be an object with { id, email, name } properties',\n validate: function (value) {\n return value === null || value && _$reduce_17(_$keys_15(value), function (accum, key) {\n return accum && _$includes_13(['id', 'email', 'name'], key);\n }, true);\n }\n },\n metadata: {\n defaultValue: function () {\n return {};\n },\n message: 'should be an object',\n validate: function (value) {\n return typeof value === 'object' && value !== null;\n }\n },\n logger: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be null or an object with methods { debug, info, warn, error }',\n validate: function (value) {\n return !value || value && _$reduce_17(['debug', 'info', 'warn', 'error'], function (accum, method) {\n return accum && typeof value[method] === 'function';\n }, true);\n }\n },\n redactedKeys: {\n defaultValue: function () {\n return ['password'];\n },\n message: 'should be an array of strings|regexes',\n validate: function (value) {\n return _$isArray_14(value) && value.length === _$filter_12(value, function (s) {\n return typeof s === 'string' || s && typeof s.test === 'function';\n }).length;\n }\n },\n plugins: {\n defaultValue: function () {\n return [];\n },\n message: 'should be an array of plugin objects',\n validate: function (value) {\n return _$isArray_14(value) && value.length === _$filter_12(value, function (p) {\n return p && typeof p === 'object' && typeof p.load === 'function';\n }).length;\n }\n },\n featureFlags: {\n defaultValue: function () {\n return [];\n },\n message: 'should be an array of objects that have a \"name\" property',\n validate: function (value) {\n return _$isArray_14(value) && value.length === _$filter_12(value, function (feature) {\n return feature && typeof feature === 'object' && typeof feature.name === 'string';\n }).length;\n }\n }\n};\n\n// extends helper from babel\n// https://github.com/babel/babel/blob/916429b516e6466fd06588ee820e40e025d7f3a3/packages/babel-helpers/src/helpers.js#L377-L393\nvar _$assign_11 = function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\n\n/* removed: var _$reduce_17 = require('./reduce'); */;\n\n// Array#map\nvar _$map_16 = function (arr, fn) {\n return _$reduce_17(arr, function (accum, item, i, arr) {\n return accum.concat(fn(item, i, arr));\n }, []);\n};\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nvar schema = _$config_5.schema;\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\nvar _$config_1 = {\n releaseStage: _$assign_11({}, schema.releaseStage, {\n defaultValue: function () {\n if (/^localhost(:\\d+)?$/.test(window.location.host)) return 'development';\n return 'production';\n }\n }),\n appType: _extends({}, schema.appType, {\n defaultValue: function () {\n return 'browser';\n }\n }),\n logger: _$assign_11({}, schema.logger, {\n defaultValue: function () {\n return (\n // set logger based on browser capability\n typeof console !== 'undefined' && typeof console.debug === 'function' ? getPrefixedConsole() : undefined\n );\n }\n })\n};\nvar getPrefixedConsole = function () {\n var logger = {};\n var consoleLog = console.log;\n _$map_16(['debug', 'info', 'warn', 'error'], function (method) {\n var consoleMethod = console[method];\n logger[method] = typeof consoleMethod === 'function' ? consoleMethod.bind(console, '[bugsnag]') : consoleLog.bind(console, '[bugsnag]');\n });\n return logger;\n};\n\nvar Breadcrumb = /*#__PURE__*/function () {\n function Breadcrumb(message, metadata, type, timestamp) {\n if (timestamp === void 0) {\n timestamp = new Date();\n }\n this.type = type;\n this.message = message;\n this.metadata = metadata;\n this.timestamp = timestamp;\n }\n var _proto = Breadcrumb.prototype;\n _proto.toJSON = function toJSON() {\n return {\n type: this.type,\n name: this.message,\n timestamp: this.timestamp,\n metaData: this.metadata\n };\n };\n return Breadcrumb;\n}();\nvar _$Breadcrumb_3 = Breadcrumb;\n\nvar _$stackframe_34 = {};\n(function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof _$stackframe_34 === 'object') {\n _$stackframe_34 = factory();\n } else {\n root.StackFrame = factory();\n }\n})(this, function () {\n 'use strict';\n\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n toString: function () {\n var functionName = this.getFunctionName() || '{anonymous}';\n var args = '(' + (this.getArgs() || []).join(',') + ')';\n var fileName = this.getFileName() ? '@' + this.getFileName() : '';\n var lineNumber = _isNumber(this.getLineNumber()) ? ':' + this.getLineNumber() : '';\n var columnNumber = _isNumber(this.getColumnNumber()) ? ':' + this.getColumnNumber() : '';\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n});\n\nvar _$errorStackParser_31 = {};\n(function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof _$errorStackParser_31 === 'object') {\n _$errorStackParser_31 = factory(_$stackframe_34);\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n})(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(');\n\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n var tokens = sanitizedLine.split(/\\s+/).slice(1);\n // if a location was matched, pass it to extractLocation() otherwise pop the last token\n var locationParts = this.extractLocation(location ? location[1] : tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function (line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || e.message.indexOf('\\n') > -1 && e.message.split('\\n').length > e.stacktrace.split('\\n').length) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function (line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = tokens.shift() || '';\n var functionName = functionCall.replace(//, '$2').replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = argsRaw === undefined || argsRaw === '[arguments not available]' ? undefined : argsRaw.split(',');\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n});\n\nvar _$errorStackParser_10 = _$errorStackParser_31;\n\nvar _$safeJsonStringify_30 = function (data, replacer, space, opts) {\n var redactedKeys = opts && opts.redactedKeys ? opts.redactedKeys : [];\n var redactedPaths = opts && opts.redactedPaths ? opts.redactedPaths : [];\n return JSON.stringify(prepareObjForSerialization(data, redactedKeys, redactedPaths), replacer, space);\n};\nvar MAX_DEPTH = 20;\nvar MAX_EDGES = 25000;\nvar MIN_PRESERVED_DEPTH = 8;\nvar REPLACEMENT_NODE = '...';\nfunction isError(o) {\n return o instanceof Error || /^\\[object (Error|(Dom)?Exception)\\]$/.test(Object.prototype.toString.call(o));\n}\nfunction throwsMessage(err) {\n return '[Throws: ' + (err ? err.message : '?') + ']';\n}\nfunction find(haystack, needle) {\n for (var i = 0, len = haystack.length; i < len; i++) {\n if (haystack[i] === needle) return true;\n }\n return false;\n}\n\n// returns true if the string `path` starts with any of the provided `paths`\nfunction isDescendent(paths, path) {\n for (var i = 0, len = paths.length; i < len; i++) {\n if (path.indexOf(paths[i]) === 0) return true;\n }\n return false;\n}\nfunction shouldRedact(patterns, key) {\n for (var i = 0, len = patterns.length; i < len; i++) {\n if (typeof patterns[i] === 'string' && patterns[i].toLowerCase() === key.toLowerCase()) return true;\n if (patterns[i] && typeof patterns[i].test === 'function' && patterns[i].test(key)) return true;\n }\n return false;\n}\nfunction __isArray_30(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\nfunction safelyGetProp(obj, prop) {\n try {\n return obj[prop];\n } catch (err) {\n return throwsMessage(err);\n }\n}\nfunction prepareObjForSerialization(obj, redactedKeys, redactedPaths) {\n var seen = []; // store references to objects we have seen before\n var edges = 0;\n function visit(obj, path) {\n function edgesExceeded() {\n return path.length > MIN_PRESERVED_DEPTH && edges > MAX_EDGES;\n }\n edges++;\n if (path.length > MAX_DEPTH) return REPLACEMENT_NODE;\n if (edgesExceeded()) return REPLACEMENT_NODE;\n if (obj === null || typeof obj !== 'object') return obj;\n if (find(seen, obj)) return '[Circular]';\n seen.push(obj);\n if (typeof obj.toJSON === 'function') {\n try {\n // we're not going to count this as an edge because it\n // replaces the value of the currently visited object\n edges--;\n var fResult = visit(obj.toJSON(), path);\n seen.pop();\n return fResult;\n } catch (err) {\n return throwsMessage(err);\n }\n }\n var er = isError(obj);\n if (er) {\n edges--;\n var eResult = visit({\n name: obj.name,\n message: obj.message\n }, path);\n seen.pop();\n return eResult;\n }\n if (__isArray_30(obj)) {\n var aResult = [];\n for (var i = 0, len = obj.length; i < len; i++) {\n if (edgesExceeded()) {\n aResult.push(REPLACEMENT_NODE);\n break;\n }\n aResult.push(visit(obj[i], path.concat('[]')));\n }\n seen.pop();\n return aResult;\n }\n var result = {};\n try {\n for (var prop in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) continue;\n if (isDescendent(redactedPaths, path.join('.')) && shouldRedact(redactedKeys, prop)) {\n result[prop] = '[REDACTED]';\n continue;\n }\n if (edgesExceeded()) {\n result[prop] = REPLACEMENT_NODE;\n break;\n }\n result[prop] = visit(safelyGetProp(obj, prop), path.concat(prop));\n }\n } catch (e) {}\n seen.pop();\n return result;\n }\n return visit(obj, []);\n}\n\n/* removed: var _$map_16 = require('./es-utils/map'); */;\n/* removed: var _$filter_12 = require('./es-utils/filter'); */;\n/* removed: var _$isArray_14 = require('./es-utils/is-array'); */;\n/* removed: var _$safeJsonStringify_30 = require('@bugsnag/safe-json-stringify'); */;\nfunction add(existingFeatures, existingFeatureKeys, name, variant) {\n if (typeof name !== 'string') {\n return;\n }\n if (variant === undefined) {\n variant = null;\n } else if (variant !== null && typeof variant !== 'string') {\n variant = _$safeJsonStringify_30(variant);\n }\n var existingIndex = existingFeatureKeys[name];\n if (typeof existingIndex === 'number') {\n existingFeatures[existingIndex] = {\n name: name,\n variant: variant\n };\n return;\n }\n existingFeatures.push({\n name: name,\n variant: variant\n });\n existingFeatureKeys[name] = existingFeatures.length - 1;\n}\nfunction merge(existingFeatures, newFeatures, existingFeatureKeys) {\n if (!_$isArray_14(newFeatures)) {\n return;\n }\n for (var i = 0; i < newFeatures.length; ++i) {\n var feature = newFeatures[i];\n if (feature === null || typeof feature !== 'object') {\n continue;\n }\n\n // 'add' will handle if 'name' doesn't exist & 'variant' is optional\n add(existingFeatures, existingFeatureKeys, feature.name, feature.variant);\n }\n return existingFeatures;\n}\n\n// convert feature flags from a map of 'name -> variant' into the format required\n// by the Bugsnag Event API:\n// [{ featureFlag: 'name', variant: 'variant' }, { featureFlag: 'name 2' }]\nfunction toEventApi(featureFlags) {\n return _$map_16(_$filter_12(featureFlags, Boolean), function (_ref) {\n var name = _ref.name,\n variant = _ref.variant;\n var flag = {\n featureFlag: name\n };\n\n // don't add a 'variant' property unless there's actually a value\n if (typeof variant === 'string') {\n flag.variant = variant;\n }\n return flag;\n });\n}\nfunction clear(features, featuresIndex, name) {\n var existingIndex = featuresIndex[name];\n if (typeof existingIndex === 'number') {\n features[existingIndex] = null;\n delete featuresIndex[name];\n }\n}\nvar _$featureFlagDelegate_18 = {\n add: add,\n clear: clear,\n merge: merge,\n toEventApi: toEventApi\n};\n\n// Given `err` which may be an error, does it have a stack property which is a string?\nvar _$hasStack_19 = function (err) {\n return !!err && (!!err.stack || !!err.stacktrace || !!err['opera#sourceloc']) && typeof (err.stack || err.stacktrace || err['opera#sourceloc']) === 'string' && err.stack !== err.name + \": \" + err.message;\n};\n\n/**\n * Expose `isError`.\n */\n\nvar _$isError_32 = __isError_32;\n\n/**\n * Test whether `value` is error object.\n *\n * @param {*} value\n * @returns {boolean}\n */\n\nfunction __isError_32(value) {\n switch (Object.prototype.toString.call(value)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return value instanceof Error;\n }\n}\n\nvar _$iserror_20 = _$isError_32;\n\n/* removed: var _$assign_11 = require('./es-utils/assign'); */;\nvar __add_22 = function (state, section, keyOrObj, maybeVal) {\n var _updates;\n if (!section) return;\n var updates;\n\n // addMetadata(\"section\", null) -> clears section\n if (keyOrObj === null) return __clear_22(state, section);\n\n // normalise the two supported input types into object form\n if (typeof keyOrObj === 'object') updates = keyOrObj;\n if (typeof keyOrObj === 'string') updates = (_updates = {}, _updates[keyOrObj] = maybeVal, _updates);\n\n // exit if we don't have an updates object at this point\n if (!updates) return;\n\n // preventing the __proto__ property from being used as a key\n if (section === '__proto__' || section === 'constructor' || section === 'prototype') {\n return;\n }\n\n // ensure a section with this name exists\n if (!state[section]) state[section] = {};\n\n // merge the updates with the existing section\n state[section] = _$assign_11({}, state[section], updates);\n};\nvar get = function (state, section, key) {\n if (typeof section !== 'string') return undefined;\n if (!key) {\n return state[section];\n }\n if (state[section]) {\n return state[section][key];\n }\n return undefined;\n};\nvar __clear_22 = function (state, section, key) {\n if (typeof section !== 'string') return;\n\n // clear an entire section\n if (!key) {\n delete state[section];\n return;\n }\n\n // preventing the __proto__ property from being used as a key\n if (section === '__proto__' || section === 'constructor' || section === 'prototype') {\n return;\n }\n\n // clear a single value from a section\n if (state[section]) {\n delete state[section][key];\n }\n};\nvar _$metadataDelegate_22 = {\n add: __add_22,\n get: get,\n clear: __clear_22\n};\n\nvar _$stackGenerator_33 = {};\n(function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof _$stackGenerator_33 === 'object') {\n _$stackGenerator_33 = factory(_$stackframe_34);\n } else {\n root.StackGenerator = factory(root.StackFrame);\n }\n})(this, function (StackFrame) {\n return {\n backtrace: function StackGenerator$$backtrace(opts) {\n var stack = [];\n var maxStackSize = 10;\n if (typeof opts === 'object' && typeof opts.maxStackSize === 'number') {\n maxStackSize = opts.maxStackSize;\n }\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize && curr['arguments']) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n for (var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({\n functionName: RegExp.$1 || undefined,\n args: args\n }));\n } else {\n stack.push(new StackFrame({\n args: args\n }));\n }\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n return stack;\n }\n };\n});\n\nfunction ___extends_6() { ___extends_6 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return ___extends_6.apply(this, arguments); }\n/* removed: var _$errorStackParser_10 = require('./lib/error-stack-parser'); */;\n/* removed: var _$stackGenerator_33 = require('stack-generator'); */;\n/* removed: var _$hasStack_19 = require('./lib/has-stack'); */;\n/* removed: var _$map_16 = require('./lib/es-utils/map'); */;\n/* removed: var _$reduce_17 = require('./lib/es-utils/reduce'); */;\n/* removed: var _$filter_12 = require('./lib/es-utils/filter'); */;\n/* removed: var _$assign_11 = require('./lib/es-utils/assign'); */;\n/* removed: var _$metadataDelegate_22 = require('./lib/metadata-delegate'); */;\n/* removed: var _$featureFlagDelegate_18 = require('./lib/feature-flag-delegate'); */;\n/* removed: var _$iserror_20 = require('./lib/iserror'); */;\nvar Event = /*#__PURE__*/function () {\n function Event(errorClass, errorMessage, stacktrace, handledState, originalError) {\n if (stacktrace === void 0) {\n stacktrace = [];\n }\n if (handledState === void 0) {\n handledState = defaultHandledState();\n }\n this.apiKey = undefined;\n this.context = undefined;\n this.groupingHash = undefined;\n this.originalError = originalError;\n this._handledState = handledState;\n this.severity = this._handledState.severity;\n this.unhandled = this._handledState.unhandled;\n this.app = {};\n this.device = {};\n this.request = {};\n this.breadcrumbs = [];\n this.threads = [];\n this._metadata = {};\n this._features = [];\n this._featuresIndex = {};\n this._user = {};\n this._session = undefined;\n this._correlation = undefined;\n this.errors = [createBugsnagError(errorClass, errorMessage, Event.__type, stacktrace)];\n\n // Flags.\n // Note these are not initialised unless they are used\n // to save unnecessary bytes in the browser bundle\n\n /* this.attemptImmediateDelivery, default: true */\n }\n var _proto = Event.prototype;\n _proto.addMetadata = function addMetadata(section, keyOrObj, maybeVal) {\n return _$metadataDelegate_22.add(this._metadata, section, keyOrObj, maybeVal);\n }\n\n /**\n * Associate this event with a specific trace. This is usually done automatically when\n * using bugsnag-js-performance, but can also be set manually if required.\n *\n * @param traceId the ID of the trace the event occurred within\n * @param spanId the ID of the span that the event occurred within\n */;\n _proto.setTraceCorrelation = function setTraceCorrelation(traceId, spanId) {\n if (typeof traceId === 'string') {\n this._correlation = ___extends_6({\n traceId: traceId\n }, typeof spanId === 'string' ? {\n spanId: spanId\n } : {});\n }\n };\n _proto.getMetadata = function getMetadata(section, key) {\n return _$metadataDelegate_22.get(this._metadata, section, key);\n };\n _proto.clearMetadata = function clearMetadata(section, key) {\n return _$metadataDelegate_22.clear(this._metadata, section, key);\n };\n _proto.addFeatureFlag = function addFeatureFlag(name, variant) {\n if (variant === void 0) {\n variant = null;\n }\n _$featureFlagDelegate_18.add(this._features, this._featuresIndex, name, variant);\n };\n _proto.addFeatureFlags = function addFeatureFlags(featureFlags) {\n _$featureFlagDelegate_18.merge(this._features, featureFlags, this._featuresIndex);\n };\n _proto.getFeatureFlags = function getFeatureFlags() {\n return _$featureFlagDelegate_18.toEventApi(this._features);\n };\n _proto.clearFeatureFlag = function clearFeatureFlag(name) {\n _$featureFlagDelegate_18.clear(this._features, this._featuresIndex, name);\n };\n _proto.clearFeatureFlags = function clearFeatureFlags() {\n this._features = [];\n this._featuresIndex = {};\n };\n _proto.getUser = function getUser() {\n return this._user;\n };\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n _proto.toJSON = function toJSON() {\n return {\n payloadVersion: '4',\n exceptions: _$map_16(this.errors, function (er) {\n return _$assign_11({}, er, {\n message: er.errorMessage\n });\n }),\n severity: this.severity,\n unhandled: this._handledState.unhandled,\n severityReason: this._handledState.severityReason,\n app: this.app,\n device: this.device,\n request: this.request,\n breadcrumbs: this.breadcrumbs,\n context: this.context,\n groupingHash: this.groupingHash,\n metaData: this._metadata,\n user: this._user,\n session: this._session,\n featureFlags: this.getFeatureFlags(),\n correlation: this._correlation\n };\n };\n return Event;\n}(); // takes a stacktrace.js style stackframe (https://github.com/stacktracejs/stackframe)\n// and returns a Bugsnag compatible stackframe (https://docs.bugsnag.com/api/error-reporting/#json-payload)\nvar formatStackframe = function (frame) {\n var f = {\n file: frame.fileName,\n method: normaliseFunctionName(frame.functionName),\n lineNumber: frame.lineNumber,\n columnNumber: frame.columnNumber,\n code: undefined,\n inProject: undefined\n };\n // Some instances result in no file:\n // - calling notify() from chrome's terminal results in no file/method.\n // - non-error exception thrown from global code in FF\n // This adds one.\n if (f.lineNumber > -1 && !f.file && !f.method) {\n f.file = 'global code';\n }\n return f;\n};\nvar normaliseFunctionName = function (name) {\n return /^global code$/i.test(name) ? 'global code' : name;\n};\nvar defaultHandledState = function () {\n return {\n unhandled: false,\n severity: 'warning',\n severityReason: {\n type: 'handledException'\n }\n };\n};\nvar ensureString = function (str) {\n return typeof str === 'string' ? str : '';\n};\nfunction createBugsnagError(errorClass, errorMessage, type, stacktrace) {\n return {\n errorClass: ensureString(errorClass),\n errorMessage: ensureString(errorMessage),\n type: type,\n stacktrace: _$reduce_17(stacktrace, function (accum, frame) {\n var f = formatStackframe(frame);\n // don't include a stackframe if none of its properties are defined\n try {\n if (JSON.stringify(f) === '{}') return accum;\n return accum.concat(f);\n } catch (e) {\n return accum;\n }\n }, [])\n };\n}\nfunction getCauseStack(error) {\n if (error.cause) {\n return [error].concat(getCauseStack(error.cause));\n } else {\n return [error];\n }\n}\n\n// Helpers\n\nEvent.getStacktrace = function (error, errorFramesToSkip, backtraceFramesToSkip) {\n if (_$hasStack_19(error)) return _$errorStackParser_10.parse(error).slice(errorFramesToSkip);\n // error wasn't provided or didn't have a stacktrace so try to walk the callstack\n try {\n return _$filter_12(_$stackGenerator_33.backtrace(), function (frame) {\n return (frame.functionName || '').indexOf('StackGenerator$$') === -1;\n }).slice(1 + backtraceFramesToSkip);\n } catch (e) {\n return [];\n }\n};\nEvent.create = function (maybeError, tolerateNonErrors, handledState, component, errorFramesToSkip, logger) {\n if (errorFramesToSkip === void 0) {\n errorFramesToSkip = 0;\n }\n var _normaliseError = normaliseError(maybeError, tolerateNonErrors, component, logger),\n error = _normaliseError[0],\n internalFrames = _normaliseError[1];\n var event;\n try {\n var stacktrace = Event.getStacktrace(error,\n // if an error was created/throw in the normaliseError() function, we need to\n // tell the getStacktrace() function to skip the number of frames we know will\n // be from our own functions. This is added to the number of frames deep we\n // were told about\n internalFrames > 0 ? 1 + internalFrames + errorFramesToSkip : 0,\n // if there's no stacktrace, the callstack may be walked to generated one.\n // this is how many frames should be removed because they come from our library\n 1 + errorFramesToSkip);\n event = new Event(error.name, error.message, stacktrace, handledState, maybeError);\n } catch (e) {\n event = new Event(error.name, error.message, [], handledState, maybeError);\n }\n if (error.name === 'InvalidError') {\n event.addMetadata(\"\" + component, 'non-error parameter', makeSerialisable(maybeError));\n }\n if (error.cause) {\n var _event$errors;\n var causes = getCauseStack(error).slice(1);\n var normalisedCauses = _$map_16(causes, function (cause) {\n // Only get stacktrace for error causes that are a valid JS Error and already have a stack\n var stacktrace = _$iserror_20(cause) && _$hasStack_19(cause) ? _$errorStackParser_10.parse(cause) : [];\n var _normaliseError2 = normaliseError(cause, true, 'error cause'),\n error = _normaliseError2[0];\n if (error.name === 'InvalidError') event.addMetadata('error cause', makeSerialisable(cause));\n return createBugsnagError(error.name, error.message, Event.__type, stacktrace);\n });\n (_event$errors = event.errors).push.apply(_event$errors, normalisedCauses);\n }\n return event;\n};\nvar makeSerialisable = function (err) {\n if (err === null) return 'null';\n if (err === undefined) return 'undefined';\n return err;\n};\nvar normaliseError = function (maybeError, tolerateNonErrors, component, logger) {\n var error;\n var internalFrames = 0;\n var createAndLogInputError = function (reason) {\n var verb = component === 'error cause' ? 'was' : 'received';\n if (logger) logger.warn(component + \" \" + verb + \" a non-error: \\\"\" + reason + \"\\\"\");\n var err = new Error(component + \" \" + verb + \" a non-error. See \\\"\" + component + \"\\\" tab for more detail.\");\n err.name = 'InvalidError';\n return err;\n };\n\n // In some cases:\n //\n // - the promise rejection handler (both in the browser and node)\n // - the node uncaughtException handler\n //\n // We are really limited in what we can do to get a stacktrace. So we use the\n // tolerateNonErrors option to ensure that the resulting error communicates as\n // such.\n if (!tolerateNonErrors) {\n if (_$iserror_20(maybeError)) {\n error = maybeError;\n } else {\n error = createAndLogInputError(typeof maybeError);\n internalFrames += 2;\n }\n } else {\n switch (typeof maybeError) {\n case 'string':\n case 'number':\n case 'boolean':\n error = new Error(String(maybeError));\n internalFrames += 1;\n break;\n case 'function':\n error = createAndLogInputError('function');\n internalFrames += 2;\n break;\n case 'object':\n if (maybeError !== null && _$iserror_20(maybeError)) {\n error = maybeError;\n } else if (maybeError !== null && hasNecessaryFields(maybeError)) {\n error = new Error(maybeError.message || maybeError.errorMessage);\n error.name = maybeError.name || maybeError.errorClass;\n internalFrames += 1;\n } else {\n error = createAndLogInputError(maybeError === null ? 'null' : 'unsupported object');\n internalFrames += 2;\n }\n break;\n default:\n error = createAndLogInputError('nothing');\n internalFrames += 2;\n }\n }\n if (!_$hasStack_19(error)) {\n // in IE10/11 a new Error() doesn't have a stacktrace until you throw it, so try that here\n try {\n throw error;\n } catch (e) {\n if (_$hasStack_19(e)) {\n error = e;\n // if the error only got a stacktrace after we threw it here, we know it\n // will only have one extra internal frame from this function, regardless\n // of whether it went through createAndLogInputError() or not\n internalFrames = 1;\n }\n }\n }\n return [error, internalFrames];\n};\n\n// default value for stacktrace.type\nEvent.__type = 'browserjs';\nvar hasNecessaryFields = function (error) {\n return (typeof error.name === 'string' || typeof error.errorClass === 'string') && (typeof error.message === 'string' || typeof error.errorMessage === 'string');\n};\nvar _$Event_6 = Event;\n\n// This is a heavily modified/simplified version of\n// https://github.com/othiym23/async-some\n// with the logic flipped so that it is akin to the\n// synchronous \"every\" method instead of \"some\".\n\n// run the asynchronous test function (fn) over each item in the array (arr)\n// in series until:\n// - fn(item, cb) => calls cb(null, false)\n// - or the end of the array is reached\n// the callback (cb) will be passed (null, false) if any of the items in arr\n// caused fn to call back with false, otherwise it will be passed (null, true)\nvar _$asyncEvery_7 = function (arr, fn, cb) {\n var index = 0;\n var next = function () {\n if (index >= arr.length) return cb(null, true);\n fn(arr[index], function (err, result) {\n if (err) return cb(err);\n if (result === false) return cb(null, false);\n index++;\n next();\n });\n };\n next();\n};\n\n/* removed: var _$asyncEvery_7 = require('./async-every'); */;\nvar _$callbackRunner_9 = function (callbacks, event, onCallbackError, cb) {\n // This function is how we support different kinds of callback:\n // - synchronous - return value\n // - node-style async with callback - cb(err, value)\n // - promise/thenable - resolve(value)\n // It normalises each of these into the lowest common denominator – a node-style callback\n var runMaybeAsyncCallback = function (fn, cb) {\n if (typeof fn !== 'function') return cb(null);\n try {\n // if function appears sync…\n if (fn.length !== 2) {\n var ret = fn(event);\n // check if it returned a \"thenable\" (promise)\n if (ret && typeof ret.then === 'function') {\n return ret.then(\n // resolve\n function (val) {\n return setTimeout(function () {\n return cb(null, val);\n });\n },\n // reject\n function (err) {\n setTimeout(function () {\n onCallbackError(err);\n return cb(null, true);\n });\n });\n }\n return cb(null, ret);\n }\n // if function is async…\n fn(event, function (err, result) {\n if (err) {\n onCallbackError(err);\n return cb(null);\n }\n cb(null, result);\n });\n } catch (e) {\n onCallbackError(e);\n cb(null);\n }\n };\n _$asyncEvery_7(callbacks, runMaybeAsyncCallback, cb);\n};\n\nvar _$syncCallbackRunner_23 = function (callbacks, callbackArg, callbackType, logger) {\n var ignore = false;\n var cbs = callbacks.slice();\n while (!ignore) {\n if (!cbs.length) break;\n try {\n ignore = cbs.pop()(callbackArg) === false;\n } catch (e) {\n logger.error(\"Error occurred in \" + callbackType + \" callback, continuing anyway\\u2026\");\n logger.error(e);\n }\n }\n return ignore;\n};\n\nvar _$pad_29 = function pad(num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n};\n\n/* removed: var _$pad_29 = require('./pad.js'); */;\nvar env = typeof window === 'object' ? window : self;\nvar globalCount = 0;\nfor (var prop in env) {\n if (Object.hasOwnProperty.call(env, prop)) globalCount++;\n}\nvar mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar clientId = _$pad_29((mimeTypesLength + navigator.userAgent.length).toString(36) + globalCount.toString(36), 4);\nvar _$fingerprint_28 = function fingerprint() {\n return clientId;\n};\n\n/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\n/* removed: var _$fingerprint_28 = require('./lib/fingerprint.js'); */;\n/* removed: var _$pad_29 = require('./lib/pad.js'); */;\nvar c = 0,\n blockSize = 4,\n base = 36,\n discreteValues = Math.pow(base, blockSize);\nfunction randomBlock() {\n return _$pad_29((Math.random() * discreteValues << 0).toString(base), blockSize);\n}\nfunction safeCounter() {\n c = c < discreteValues ? c : 0;\n c++; // this is not subliminal\n return c - 1;\n}\nfunction cuid() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c',\n // hard-coded allows for sequential access\n\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = new Date().getTime().toString(base),\n // Prevent same-machine collisions.\n counter = _$pad_29(safeCounter().toString(base), blockSize),\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n print = _$fingerprint_28(),\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n return letter + timestamp + counter + print + random;\n}\ncuid.fingerprint = _$fingerprint_28;\nvar _$cuid_27 = cuid;\n\n/* removed: var _$cuid_27 = require('@bugsnag/cuid'); */;\nvar Session = /*#__PURE__*/function () {\n function Session() {\n this.id = _$cuid_27();\n this.startedAt = new Date();\n this._handled = 0;\n this._unhandled = 0;\n this._user = {};\n this.app = {};\n this.device = {};\n }\n var _proto = Session.prototype;\n _proto.getUser = function getUser() {\n return this._user;\n };\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n _proto.toJSON = function toJSON() {\n return {\n id: this.id,\n startedAt: this.startedAt,\n events: {\n handled: this._handled,\n unhandled: this._unhandled\n }\n };\n };\n _proto._track = function _track(event) {\n this[event._handledState.unhandled ? '_unhandled' : '_handled'] += 1;\n };\n return Session;\n}();\nvar _$Session_35 = Session;\n\n/* removed: var _$config_5 = require('./config'); */;\n/* removed: var _$Event_6 = require('./event'); */;\n/* removed: var _$Breadcrumb_3 = require('./breadcrumb'); */;\n/* removed: var _$Session_35 = require('./session'); */;\n/* removed: var _$map_16 = require('./lib/es-utils/map'); */;\n/* removed: var _$includes_13 = require('./lib/es-utils/includes'); */;\n/* removed: var _$filter_12 = require('./lib/es-utils/filter'); */;\n/* removed: var _$reduce_17 = require('./lib/es-utils/reduce'); */;\n/* removed: var _$keys_15 = require('./lib/es-utils/keys'); */;\n/* removed: var _$assign_11 = require('./lib/es-utils/assign'); */;\n/* removed: var _$callbackRunner_9 = require('./lib/callback-runner'); */;\n/* removed: var _$metadataDelegate_22 = require('./lib/metadata-delegate'); */;\n/* removed: var _$syncCallbackRunner_23 = require('./lib/sync-callback-runner'); */;\n/* removed: var _$breadcrumbTypes_8 = require('./lib/breadcrumb-types'); */;\nvar __add_4 = _$featureFlagDelegate_18.add,\n __clear_4 = _$featureFlagDelegate_18.clear,\n __merge_4 = _$featureFlagDelegate_18.merge;\nvar noop = function () {};\nvar Client = /*#__PURE__*/function () {\n function Client(configuration, schema, internalPlugins, notifier) {\n var _this = this;\n if (schema === void 0) {\n schema = _$config_5.schema;\n }\n if (internalPlugins === void 0) {\n internalPlugins = [];\n }\n // notifier id\n this._notifier = notifier;\n\n // intialise opts and config\n this._config = {};\n this._schema = schema;\n\n // i/o\n this._delivery = {\n sendSession: noop,\n sendEvent: noop\n };\n this._logger = {\n debug: noop,\n info: noop,\n warn: noop,\n error: noop\n };\n\n // plugins\n this._plugins = {};\n\n // state\n this._breadcrumbs = [];\n this._session = null;\n this._metadata = {};\n this._featuresIndex = {};\n this._features = [];\n this._context = undefined;\n this._user = {};\n\n // callbacks:\n // e: onError\n // s: onSession\n // sp: onSessionPayload\n // b: onBreadcrumb\n // (note these names are minified by hand because object\n // properties are not safe to minify automatically)\n this._cbs = {\n e: [],\n s: [],\n sp: [],\n b: []\n };\n\n // expose internal constructors\n this.Client = Client;\n this.Event = _$Event_6;\n this.Breadcrumb = _$Breadcrumb_3;\n this.Session = _$Session_35;\n this._config = this._configure(configuration, internalPlugins);\n _$map_16(internalPlugins.concat(this._config.plugins), function (pl) {\n if (pl) _this._loadPlugin(pl);\n });\n\n // when notify() is called we need to know how many frames are from our own source\n // this inital value is 1 not 0 because we wrap notify() to ensure it is always\n // bound to have the client as its `this` value – see below.\n this._depth = 1;\n var self = this;\n var notify = this.notify;\n this.notify = function () {\n return notify.apply(self, arguments);\n };\n }\n var _proto = Client.prototype;\n _proto.addMetadata = function addMetadata(section, keyOrObj, maybeVal) {\n return _$metadataDelegate_22.add(this._metadata, section, keyOrObj, maybeVal);\n };\n _proto.getMetadata = function getMetadata(section, key) {\n return _$metadataDelegate_22.get(this._metadata, section, key);\n };\n _proto.clearMetadata = function clearMetadata(section, key) {\n return _$metadataDelegate_22.clear(this._metadata, section, key);\n };\n _proto.addFeatureFlag = function addFeatureFlag(name, variant) {\n if (variant === void 0) {\n variant = null;\n }\n __add_4(this._features, this._featuresIndex, name, variant);\n };\n _proto.addFeatureFlags = function addFeatureFlags(featureFlags) {\n __merge_4(this._features, featureFlags, this._featuresIndex);\n };\n _proto.clearFeatureFlag = function clearFeatureFlag(name) {\n __clear_4(this._features, this._featuresIndex, name);\n };\n _proto.clearFeatureFlags = function clearFeatureFlags() {\n this._features = [];\n this._featuresIndex = {};\n };\n _proto.getContext = function getContext() {\n return this._context;\n };\n _proto.setContext = function setContext(c) {\n this._context = c;\n };\n _proto._configure = function _configure(opts, internalPlugins) {\n var schema = _$reduce_17(internalPlugins, function (schema, plugin) {\n if (plugin && plugin.configSchema) return _$assign_11({}, schema, plugin.configSchema);\n return schema;\n }, this._schema);\n\n // accumulate configuration and error messages\n var _reduce = _$reduce_17(_$keys_15(schema), function (accum, key) {\n var defaultValue = schema[key].defaultValue(opts[key]);\n if (opts[key] !== undefined) {\n var valid = schema[key].validate(opts[key]);\n if (!valid) {\n accum.errors[key] = schema[key].message;\n accum.config[key] = defaultValue;\n } else {\n if (schema[key].allowPartialObject) {\n accum.config[key] = _$assign_11(defaultValue, opts[key]);\n } else {\n accum.config[key] = opts[key];\n }\n }\n } else {\n accum.config[key] = defaultValue;\n }\n return accum;\n }, {\n errors: {},\n config: {}\n }),\n errors = _reduce.errors,\n config = _reduce.config;\n if (schema.apiKey) {\n // missing api key is the only fatal error\n if (!config.apiKey) throw new Error('No Bugsnag API Key set');\n // warn about an apikey that is not of the expected format\n if (!/^[0-9a-f]{32}$/i.test(config.apiKey)) errors.apiKey = 'should be a string of 32 hexadecimal characters';\n }\n\n // update and elevate some options\n this._metadata = _$assign_11({}, config.metadata);\n __merge_4(this._features, config.featureFlags, this._featuresIndex);\n this._user = _$assign_11({}, config.user);\n this._context = config.context;\n if (config.logger) this._logger = config.logger;\n\n // add callbacks\n if (config.onError) this._cbs.e = this._cbs.e.concat(config.onError);\n if (config.onBreadcrumb) this._cbs.b = this._cbs.b.concat(config.onBreadcrumb);\n if (config.onSession) this._cbs.s = this._cbs.s.concat(config.onSession);\n\n // finally warn about any invalid config where we fell back to the default\n if (_$keys_15(errors).length) {\n this._logger.warn(generateConfigErrorMessage(errors, opts));\n }\n return config;\n };\n _proto.getUser = function getUser() {\n return this._user;\n };\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n _proto._loadPlugin = function _loadPlugin(plugin) {\n var result = plugin.load(this);\n // JS objects are not the safest way to store arbitrarily keyed values,\n // so bookend the key with some characters that prevent tampering with\n // stuff like __proto__ etc. (only store the result if the plugin had a\n // name)\n if (plugin.name) this._plugins[\"~\" + plugin.name + \"~\"] = result;\n return this;\n };\n _proto.getPlugin = function getPlugin(name) {\n return this._plugins[\"~\" + name + \"~\"];\n };\n _proto._setDelivery = function _setDelivery(d) {\n this._delivery = d(this);\n };\n _proto.startSession = function startSession() {\n var session = new _$Session_35();\n session.app.releaseStage = this._config.releaseStage;\n session.app.version = this._config.appVersion;\n session.app.type = this._config.appType;\n session._user = _$assign_11({}, this._user);\n\n // run onSession callbacks\n var ignore = _$syncCallbackRunner_23(this._cbs.s, session, 'onSession', this._logger);\n if (ignore) {\n this._logger.debug('Session not started due to onSession callback');\n return this;\n }\n return this._sessionDelegate.startSession(this, session);\n };\n _proto.addOnError = function addOnError(fn, front) {\n if (front === void 0) {\n front = false;\n }\n this._cbs.e[front ? 'unshift' : 'push'](fn);\n };\n _proto.removeOnError = function removeOnError(fn) {\n this._cbs.e = _$filter_12(this._cbs.e, function (f) {\n return f !== fn;\n });\n };\n _proto._addOnSessionPayload = function _addOnSessionPayload(fn) {\n this._cbs.sp.push(fn);\n };\n _proto.addOnSession = function addOnSession(fn) {\n this._cbs.s.push(fn);\n };\n _proto.removeOnSession = function removeOnSession(fn) {\n this._cbs.s = _$filter_12(this._cbs.s, function (f) {\n return f !== fn;\n });\n };\n _proto.addOnBreadcrumb = function addOnBreadcrumb(fn, front) {\n if (front === void 0) {\n front = false;\n }\n this._cbs.b[front ? 'unshift' : 'push'](fn);\n };\n _proto.removeOnBreadcrumb = function removeOnBreadcrumb(fn) {\n this._cbs.b = _$filter_12(this._cbs.b, function (f) {\n return f !== fn;\n });\n };\n _proto.pauseSession = function pauseSession() {\n return this._sessionDelegate.pauseSession(this);\n };\n _proto.resumeSession = function resumeSession() {\n return this._sessionDelegate.resumeSession(this);\n };\n _proto.leaveBreadcrumb = function leaveBreadcrumb(message, metadata, type) {\n // coerce bad values so that the defaults get set\n message = typeof message === 'string' ? message : '';\n type = typeof type === 'string' && _$includes_13(_$breadcrumbTypes_8, type) ? type : 'manual';\n metadata = typeof metadata === 'object' && metadata !== null ? metadata : {};\n\n // if no message, discard\n if (!message) return;\n var crumb = new _$Breadcrumb_3(message, metadata, type);\n\n // run onBreadcrumb callbacks\n var ignore = _$syncCallbackRunner_23(this._cbs.b, crumb, 'onBreadcrumb', this._logger);\n if (ignore) {\n this._logger.debug('Breadcrumb not attached due to onBreadcrumb callback');\n return;\n }\n\n // push the valid crumb onto the queue and maintain the length\n this._breadcrumbs.push(crumb);\n if (this._breadcrumbs.length > this._config.maxBreadcrumbs) {\n this._breadcrumbs = this._breadcrumbs.slice(this._breadcrumbs.length - this._config.maxBreadcrumbs);\n }\n };\n _proto._isBreadcrumbTypeEnabled = function _isBreadcrumbTypeEnabled(type) {\n var types = this._config.enabledBreadcrumbTypes;\n return types === null || _$includes_13(types, type);\n };\n _proto.notify = function notify(maybeError, onError, postReportCallback) {\n if (postReportCallback === void 0) {\n postReportCallback = noop;\n }\n var event = _$Event_6.create(maybeError, true, undefined, 'notify()', this._depth + 1, this._logger);\n this._notify(event, onError, postReportCallback);\n };\n _proto._notify = function _notify(event, onError, postReportCallback) {\n var _this2 = this;\n if (postReportCallback === void 0) {\n postReportCallback = noop;\n }\n event.app = _$assign_11({}, event.app, {\n releaseStage: this._config.releaseStage,\n version: this._config.appVersion,\n type: this._config.appType\n });\n event.context = event.context || this._context;\n event._metadata = _$assign_11({}, event._metadata, this._metadata);\n event._user = _$assign_11({}, event._user, this._user);\n event.breadcrumbs = this._breadcrumbs.slice();\n __merge_4(event._features, this._features, event._featuresIndex);\n\n // exit early if events should not be sent on the current releaseStage\n if (this._config.enabledReleaseStages !== null && !_$includes_13(this._config.enabledReleaseStages, this._config.releaseStage)) {\n this._logger.warn('Event not sent due to releaseStage/enabledReleaseStages configuration');\n return postReportCallback(null, event);\n }\n var originalSeverity = event.severity;\n var onCallbackError = function (err) {\n // errors in callbacks are tolerated but we want to log them out\n _this2._logger.error('Error occurred in onError callback, continuing anyway…');\n _this2._logger.error(err);\n };\n var callbacks = [].concat(this._cbs.e).concat(onError);\n _$callbackRunner_9(callbacks, event, onCallbackError, function (err, shouldSend) {\n if (err) onCallbackError(err);\n if (!shouldSend) {\n _this2._logger.debug('Event not sent due to onError callback');\n return postReportCallback(null, event);\n }\n if (_this2._isBreadcrumbTypeEnabled('error')) {\n // only leave a crumb for the error if actually got sent\n Client.prototype.leaveBreadcrumb.call(_this2, event.errors[0].errorClass, {\n errorClass: event.errors[0].errorClass,\n errorMessage: event.errors[0].errorMessage,\n severity: event.severity\n }, 'error');\n }\n if (originalSeverity !== event.severity) {\n event._handledState.severityReason = {\n type: 'userCallbackSetSeverity'\n };\n }\n if (event.unhandled !== event._handledState.unhandled) {\n event._handledState.severityReason.unhandledOverridden = true;\n event._handledState.unhandled = event.unhandled;\n }\n if (_this2._session) {\n _this2._session._track(event);\n event._session = _this2._session;\n }\n _this2._delivery.sendEvent({\n apiKey: event.apiKey || _this2._config.apiKey,\n notifier: _this2._notifier,\n events: [event]\n }, function (err) {\n return postReportCallback(err, event);\n });\n });\n };\n return Client;\n}();\nvar generateConfigErrorMessage = function (errors, rawInput) {\n var er = new Error(\"Invalid configuration\\n\" + _$map_16(_$keys_15(errors), function (key) {\n return \" - \" + key + \" \" + errors[key] + \", got \" + stringify(rawInput[key]);\n }).join('\\n\\n'));\n return er;\n};\nvar stringify = function (val) {\n switch (typeof val) {\n case 'string':\n case 'number':\n case 'object':\n return JSON.stringify(val);\n default:\n return String(val);\n }\n};\nvar _$Client_4 = Client;\n\nvar _$jsonPayload_21 = {};\n/* removed: var _$safeJsonStringify_30 = require('@bugsnag/safe-json-stringify'); */;\nvar EVENT_REDACTION_PATHS = ['events.[].metaData', 'events.[].breadcrumbs.[].metaData', 'events.[].request'];\n_$jsonPayload_21.event = function (event, redactedKeys) {\n var payload = _$safeJsonStringify_30(event, null, null, {\n redactedPaths: EVENT_REDACTION_PATHS,\n redactedKeys: redactedKeys\n });\n if (payload.length > 10e5) {\n event.events[0]._metadata = {\n notifier: \"WARNING!\\nSerialized payload was \" + payload.length / 10e5 + \"MB (limit = 1MB)\\nmetadata was removed\"\n };\n payload = _$safeJsonStringify_30(event, null, null, {\n redactedPaths: EVENT_REDACTION_PATHS,\n redactedKeys: redactedKeys\n });\n }\n return payload;\n};\n_$jsonPayload_21.session = function (session, redactedKeys) {\n var payload = _$safeJsonStringify_30(session, null, null);\n return payload;\n};\n\nvar _$delivery_36 = {};\n/* removed: var _$jsonPayload_21 = require('@bugsnag/core/lib/json-payload'); */;\n_$delivery_36 = function (client, win) {\n if (win === void 0) {\n win = window;\n }\n return {\n sendEvent: function (event, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n var url = getApiUrl(client._config, 'notify', '4', win);\n var body = _$jsonPayload_21.event(event, client._config.redactedKeys);\n var req = new win.XDomainRequest();\n req.onload = function () {\n cb(null);\n };\n req.onerror = function () {\n var err = new Error('Event failed to send');\n client._logger.error('Event failed to send…', err);\n if (body.length > 10e5) {\n client._logger.warn(\"Event oversized (\" + (body.length / 10e5).toFixed(2) + \" MB)\");\n }\n cb(err);\n };\n req.open('POST', url);\n setTimeout(function () {\n try {\n req.send(body);\n } catch (e) {\n client._logger.error(e);\n cb(e);\n }\n }, 0);\n },\n sendSession: function (session, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n var url = getApiUrl(client._config, 'sessions', '1', win);\n var req = new win.XDomainRequest();\n req.onload = function () {\n cb(null);\n };\n req.open('POST', url);\n setTimeout(function () {\n try {\n req.send(_$jsonPayload_21.session(session, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n cb(e);\n }\n }, 0);\n }\n };\n};\nvar getApiUrl = function (config, endpoint, version, win) {\n // IE8 doesn't support Date.prototype.toISOstring(), but it does convert a date\n // to an ISO string when you use JSON stringify. Simply parsing the result of\n // JSON.stringify is smaller than using a toISOstring() polyfill.\n var isoDate = JSON.parse(JSON.stringify(new Date()));\n var url = matchPageProtocol(config.endpoints[endpoint], win.location.protocol);\n return url + \"?apiKey=\" + encodeURIComponent(config.apiKey) + \"&payloadVersion=\" + version + \"&sentAt=\" + encodeURIComponent(isoDate);\n};\nvar matchPageProtocol = _$delivery_36._matchPageProtocol = function (endpoint, pageProtocol) {\n return pageProtocol === 'http:' ? endpoint.replace(/^https:/, 'http:') : endpoint;\n};\n\n/* removed: var _$jsonPayload_21 = require('@bugsnag/core/lib/json-payload'); */;\nvar _$delivery_37 = function (client, win) {\n if (win === void 0) {\n win = window;\n }\n return {\n sendEvent: function (event, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n try {\n var url = client._config.endpoints.notify;\n var req = new win.XMLHttpRequest();\n var body = _$jsonPayload_21.event(event, client._config.redactedKeys);\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) {\n var status = req.status;\n if (status === 0 || status >= 400) {\n var err = new Error(\"Request failed with status \" + status);\n client._logger.error('Event failed to send…', err);\n if (body.length > 10e5) {\n client._logger.warn(\"Event oversized (\" + (body.length / 10e5).toFixed(2) + \" MB)\");\n }\n cb(err);\n } else {\n cb(null);\n }\n }\n };\n req.open('POST', url);\n req.setRequestHeader('Content-Type', 'application/json');\n req.setRequestHeader('Bugsnag-Api-Key', event.apiKey || client._config.apiKey);\n req.setRequestHeader('Bugsnag-Payload-Version', '4');\n req.setRequestHeader('Bugsnag-Sent-At', new Date().toISOString());\n req.send(body);\n } catch (e) {\n client._logger.error(e);\n }\n },\n sendSession: function (session, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n try {\n var url = client._config.endpoints.sessions;\n var req = new win.XMLHttpRequest();\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) {\n var status = req.status;\n if (status === 0 || status >= 400) {\n var err = new Error(\"Request failed with status \" + status);\n client._logger.error('Session failed to send…', err);\n cb(err);\n } else {\n cb(null);\n }\n }\n };\n req.open('POST', url);\n req.setRequestHeader('Content-Type', 'application/json');\n req.setRequestHeader('Bugsnag-Api-Key', client._config.apiKey);\n req.setRequestHeader('Bugsnag-Payload-Version', '1');\n req.setRequestHeader('Bugsnag-Sent-At', new Date().toISOString());\n req.send(_$jsonPayload_21.session(session, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n }\n }\n };\n};\n\nvar appStart = new Date();\nvar reset = function () {\n appStart = new Date();\n};\nvar _$app_38 = {\n name: 'appDuration',\n load: function (client) {\n client.addOnError(function (event) {\n var now = new Date();\n event.app.duration = now - appStart;\n }, true);\n return {\n reset: reset\n };\n }\n};\n\n/*\n * Sets the default context to be the current URL\n */\nvar _$context_39 = function (win) {\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n client.addOnError(function (event) {\n if (event.context !== undefined) return;\n event.context = win.location.pathname;\n }, true);\n }\n };\n};\n\nvar _$pad_43 = function pad(num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n};\n\n/* removed: var _$pad_43 = require('./pad.js'); */;\nvar __env_42 = typeof window === 'object' ? window : self;\nvar __globalCount_42 = 0;\nfor (var __prop_42 in __env_42) {\n if (Object.hasOwnProperty.call(__env_42, __prop_42)) __globalCount_42++;\n}\nvar __mimeTypesLength_42 = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar __clientId_42 = _$pad_43((__mimeTypesLength_42 + navigator.userAgent.length).toString(36) + __globalCount_42.toString(36), 4);\nvar _$fingerprint_42 = function fingerprint() {\n return __clientId_42;\n};\n\n/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\n/* removed: var _$fingerprint_42 = require('./lib/fingerprint.js'); */;\n/* removed: var _$pad_43 = require('./lib/pad.js'); */;\nvar __c_41 = 0,\n __blockSize_41 = 4,\n __base_41 = 36,\n __discreteValues_41 = Math.pow(__base_41, __blockSize_41);\nfunction __randomBlock_41() {\n return _$pad_43((Math.random() * __discreteValues_41 << 0).toString(__base_41), __blockSize_41);\n}\nfunction __safeCounter_41() {\n __c_41 = __c_41 < __discreteValues_41 ? __c_41 : 0;\n __c_41++; // this is not subliminal\n return __c_41 - 1;\n}\nfunction __cuid_41() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c',\n // hard-coded allows for sequential access\n\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = new Date().getTime().toString(__base_41),\n // Prevent same-machine collisions.\n counter = _$pad_43(__safeCounter_41().toString(__base_41), __blockSize_41),\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n print = _$fingerprint_42(),\n // Grab some more chars from Math.random()\n random = __randomBlock_41() + __randomBlock_41();\n return letter + timestamp + counter + print + random;\n}\n__cuid_41.fingerprint = _$fingerprint_42;\nvar _$cuid_41 = __cuid_41;\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\nvar BUGSNAG_ANONYMOUS_ID_KEY = 'bugsnag-anonymous-id';\nvar getDeviceId = function (win) {\n try {\n var storage = win.localStorage;\n var id = storage.getItem(BUGSNAG_ANONYMOUS_ID_KEY);\n\n // If we get an ID, make sure it looks like a valid cuid. The length can\n // fluctuate slightly, so some leeway is built in\n if (id && /^c[a-z0-9]{20,32}$/.test(id)) {\n return id;\n }\n /* removed: var _$cuid_41 = require('@bugsnag/cuid'); */;\n id = _$cuid_41();\n storage.setItem(BUGSNAG_ANONYMOUS_ID_KEY, id);\n return id;\n } catch (err) {\n // If localStorage is not available (e.g. because it's disabled) then give up\n }\n};\n\n/*\n * Automatically detects browser device details\n */\nvar _$device_40 = function (nav, win) {\n if (nav === void 0) {\n nav = navigator;\n }\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n var device = {\n locale: nav.browserLanguage || nav.systemLanguage || nav.userLanguage || nav.language,\n userAgent: nav.userAgent\n };\n if (win && win.screen && win.screen.orientation && win.screen.orientation.type) {\n device.orientation = win.screen.orientation.type;\n } else if (win && win.document) {\n device.orientation = win.document.documentElement.clientWidth > win.document.documentElement.clientHeight ? 'landscape' : 'portrait';\n }\n if (client._config.generateAnonymousId) {\n device.id = getDeviceId(win);\n }\n client.addOnSession(function (session) {\n session.device = _$assign_11({}, session.device, device);\n // only set device id if collectUserIp is false\n if (!client._config.collectUserIp) setDefaultUserId(session);\n });\n\n // add time just as the event is sent\n client.addOnError(function (event) {\n event.device = _$assign_11({}, event.device, device, {\n time: new Date()\n });\n if (!client._config.collectUserIp) setDefaultUserId(event);\n }, true);\n },\n configSchema: {\n generateAnonymousId: {\n validate: function (value) {\n return value === true || value === false;\n },\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false'\n }\n }\n };\n};\nvar setDefaultUserId = function (eventOrSession) {\n // device id is also used to populate the user id field, if it's not already set\n var user = eventOrSession.getUser();\n if (!user || !user.id) {\n eventOrSession.setUser(eventOrSession.device.id);\n }\n};\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n\n/*\n * Sets the event request: { url } to be the current href\n */\nvar _$request_44 = function (win) {\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n client.addOnError(function (event) {\n if (event.request && event.request.url) return;\n event.request = _$assign_11({}, event.request, {\n url: win.location.href\n });\n }, true);\n }\n };\n};\n\n/* removed: var _$includes_13 = require('@bugsnag/core/lib/es-utils/includes'); */;\nvar _$session_45 = {\n load: function (client) {\n client._sessionDelegate = sessionDelegate;\n }\n};\nvar sessionDelegate = {\n startSession: function (client, session) {\n var sessionClient = client;\n sessionClient._session = session;\n sessionClient._pausedSession = null;\n\n // exit early if the current releaseStage is not enabled\n if (sessionClient._config.enabledReleaseStages !== null && !_$includes_13(sessionClient._config.enabledReleaseStages, sessionClient._config.releaseStage)) {\n sessionClient._logger.warn('Session not sent due to releaseStage/enabledReleaseStages configuration');\n return sessionClient;\n }\n sessionClient._delivery.sendSession({\n notifier: sessionClient._notifier,\n device: session.device,\n app: session.app,\n sessions: [{\n id: session.id,\n startedAt: session.startedAt,\n user: session._user\n }]\n });\n return sessionClient;\n },\n resumeSession: function (client) {\n // Do nothing if there's already an active session\n if (client._session) {\n return client;\n }\n\n // If we have a paused session then make it the active session\n if (client._pausedSession) {\n client._session = client._pausedSession;\n client._pausedSession = null;\n return client;\n }\n\n // Otherwise start a new session\n return client.startSession();\n },\n pauseSession: function (client) {\n client._pausedSession = client._session;\n client._session = null;\n }\n};\n\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n\n/*\n * Prevent collection of user IPs\n */\nvar _$clientIp_46 = {\n load: function (client) {\n if (client._config.collectUserIp) return;\n client.addOnError(function (event) {\n // If user.id is explicitly undefined, it will be missing from the payload. It needs\n // removing so that the following line replaces it\n if (event._user && typeof event._user.id === 'undefined') delete event._user.id;\n event._user = _$assign_11({\n id: '[REDACTED]'\n }, event._user);\n event.request = _$assign_11({\n clientIp: '[REDACTED]'\n }, event.request);\n });\n },\n configSchema: {\n collectUserIp: {\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n }\n }\n};\n\nvar _$consoleBreadcrumbs_47 = {};\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n/* removed: var _$reduce_17 = require('@bugsnag/core/lib/es-utils/reduce'); */;\n/* removed: var _$filter_12 = require('@bugsnag/core/lib/es-utils/filter'); */;\n\n/*\n * Leaves breadcrumbs when console log methods are called\n */\n_$consoleBreadcrumbs_47.load = function (client) {\n var isDev = /^(local-)?dev(elopment)?$/.test(client._config.releaseStage);\n if (isDev || !client._isBreadcrumbTypeEnabled('log')) return;\n _$map_16(CONSOLE_LOG_METHODS, function (method) {\n var original = console[method];\n console[method] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n client.leaveBreadcrumb('Console output', _$reduce_17(args, function (accum, arg, i) {\n // do the best/simplest stringification of each argument\n var stringified = '[Unknown value]';\n // this may fail if the input is:\n // - an object whose [[Prototype]] is null (no toString)\n // - an object with a broken toString or @@toPrimitive implementation\n try {\n stringified = String(arg);\n } catch (e) {}\n // if it stringifies to [object Object] attempt to JSON stringify\n if (stringified === '[object Object]') {\n // catch stringify errors and fallback to [object Object]\n try {\n stringified = JSON.stringify(arg);\n } catch (e) {}\n }\n accum[\"[\" + i + \"]\"] = stringified;\n return accum;\n }, {\n severity: method.indexOf('group') === 0 ? 'log' : method\n }), 'log');\n original.apply(console, args);\n };\n console[method]._restore = function () {\n console[method] = original;\n };\n });\n};\nif (\"production\" !== 'production') {\n _$consoleBreadcrumbs_47.destroy = function () {\n return CONSOLE_LOG_METHODS.forEach(function (method) {\n if (typeof console[method]._restore === 'function') console[method]._restore();\n });\n };\n}\nvar CONSOLE_LOG_METHODS = _$filter_12(['log', 'debug', 'info', 'warn', 'error'], function (method) {\n return typeof console !== 'undefined' && typeof console[method] === 'function';\n});\n\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n/* removed: var _$reduce_17 = require('@bugsnag/core/lib/es-utils/reduce'); */;\n/* removed: var _$filter_12 = require('@bugsnag/core/lib/es-utils/filter'); */;\nvar MAX_LINE_LENGTH = 200;\nvar MAX_SCRIPT_LENGTH = 500000;\nvar _$inlineScriptContent_48 = function (doc, win) {\n if (doc === void 0) {\n doc = document;\n }\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n if (!client._config.trackInlineScripts) return;\n var originalLocation = win.location.href;\n var html = '';\n\n // in IE8-10 the 'interactive' state can fire too soon (before scripts have finished executing), so in those\n // we wait for the 'complete' state before assuming that synchronous scripts are no longer executing\n var isOldIe = !!doc.attachEvent;\n var DOMContentLoaded = isOldIe ? doc.readyState === 'complete' : doc.readyState !== 'loading';\n var getHtml = function () {\n return doc.documentElement.outerHTML;\n };\n\n // get whatever HTML exists at this point in time\n html = getHtml();\n var prev = doc.onreadystatechange;\n // then update it when the DOM content has loaded\n doc.onreadystatechange = function () {\n // IE8 compatible alternative to document#DOMContentLoaded\n if (doc.readyState === 'interactive') {\n html = getHtml();\n DOMContentLoaded = true;\n }\n try {\n prev.apply(this, arguments);\n } catch (e) {}\n };\n var _lastScript = null;\n var updateLastScript = function (script) {\n _lastScript = script;\n };\n var getCurrentScript = function () {\n var script = doc.currentScript || _lastScript;\n if (!script && !DOMContentLoaded) {\n var scripts = doc.scripts || doc.getElementsByTagName('script');\n script = scripts[scripts.length - 1];\n }\n return script;\n };\n var addSurroundingCode = function (lineNumber) {\n // get whatever html has rendered at this point\n if (!DOMContentLoaded || !html) html = getHtml();\n // simulate the raw html\n var htmlLines = [''].concat(html.split('\\n'));\n var zeroBasedLine = lineNumber - 1;\n var start = Math.max(zeroBasedLine - 3, 0);\n var end = Math.min(zeroBasedLine + 3, htmlLines.length);\n return _$reduce_17(htmlLines.slice(start, end), function (accum, line, i) {\n accum[start + 1 + i] = line.length <= MAX_LINE_LENGTH ? line : line.substr(0, MAX_LINE_LENGTH);\n return accum;\n }, {});\n };\n client.addOnError(function (event) {\n // remove any of our own frames that may be part the stack this\n // happens before the inline script check as it happens for all errors\n event.errors[0].stacktrace = _$filter_12(event.errors[0].stacktrace, function (f) {\n return !/__trace__$/.test(f.method);\n });\n var frame = event.errors[0].stacktrace[0];\n\n // remove hash and query string from url\n var cleanUrl = function (url) {\n return url.replace(/#.*$/, '').replace(/\\?.*$/, '');\n };\n\n // if frame.file exists and is not the original location of the page, this can't be an inline script\n if (frame && frame.file && cleanUrl(frame.file) !== cleanUrl(originalLocation)) return;\n\n // grab the last script known to have run\n var currentScript = getCurrentScript();\n if (currentScript) {\n var content = currentScript.innerHTML;\n event.addMetadata('script', 'content', content.length <= MAX_SCRIPT_LENGTH ? content : content.substr(0, MAX_SCRIPT_LENGTH));\n\n // only attempt to grab some surrounding code if we have a line number\n if (frame && frame.lineNumber) {\n frame.code = addSurroundingCode(frame.lineNumber);\n }\n }\n }, true);\n\n // Proxy all the timer functions whose callback is their 0th argument.\n // Keep a reference to the original setTimeout because we need it later\n var _map = _$map_16(['setTimeout', 'setInterval', 'setImmediate', 'requestAnimationFrame'], function (fn) {\n return __proxy(win, fn, function (original) {\n return __traceOriginalScript(original, function (args) {\n return {\n get: function () {\n return args[0];\n },\n replace: function (fn) {\n args[0] = fn;\n }\n };\n });\n });\n }),\n _setTimeout = _map[0];\n\n // Proxy all the host objects whose prototypes have an addEventListener function\n _$map_16(['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'], function (o) {\n if (!win[o] || !win[o].prototype || !Object.prototype.hasOwnProperty.call(win[o].prototype, 'addEventListener')) return;\n __proxy(win[o].prototype, 'addEventListener', function (original) {\n return __traceOriginalScript(original, eventTargetCallbackAccessor);\n });\n __proxy(win[o].prototype, 'removeEventListener', function (original) {\n return __traceOriginalScript(original, eventTargetCallbackAccessor, true);\n });\n });\n function __traceOriginalScript(fn, callbackAccessor, alsoCallOriginal) {\n if (alsoCallOriginal === void 0) {\n alsoCallOriginal = false;\n }\n return function () {\n // this is required for removeEventListener to remove anything added with\n // addEventListener before the functions started being wrapped by Bugsnag\n var args = [].slice.call(arguments);\n try {\n var cba = callbackAccessor(args);\n var cb = cba.get();\n if (alsoCallOriginal) fn.apply(this, args);\n if (typeof cb !== 'function') return fn.apply(this, args);\n if (cb.__trace__) {\n cba.replace(cb.__trace__);\n } else {\n var script = getCurrentScript();\n // this function mustn't be annonymous due to a bug in the stack\n // generation logic, meaning it gets tripped up\n // see: https://github.com/stacktracejs/stack-generator/issues/6\n cb.__trace__ = function __trace__() {\n // set the script that called this function\n updateLastScript(script);\n // immediately unset the currentScript synchronously below, however\n // if this cb throws an error the line after will not get run so schedule\n // an almost-immediate aysnc update too\n _setTimeout(function () {\n updateLastScript(null);\n }, 0);\n var ret = cb.apply(this, arguments);\n updateLastScript(null);\n return ret;\n };\n cb.__trace__.__trace__ = cb.__trace__;\n cba.replace(cb.__trace__);\n }\n } catch (e) {\n // swallow these errors on Selenium:\n // Permission denied to access property '__trace__'\n // WebDriverException: Message: Permission denied to access property \"handleEvent\"\n }\n // IE8 doesn't let you call .apply() on setTimeout/setInterval\n if (fn.apply) return fn.apply(this, args);\n switch (args.length) {\n case 1:\n return fn(args[0]);\n case 2:\n return fn(args[0], args[1]);\n default:\n return fn();\n }\n };\n }\n },\n configSchema: {\n trackInlineScripts: {\n validate: function (value) {\n return value === true || value === false;\n },\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false'\n }\n }\n };\n};\nfunction __proxy(host, name, replacer) {\n var original = host[name];\n if (!original) return original;\n var replacement = replacer(original);\n host[name] = replacement;\n return original;\n}\nfunction eventTargetCallbackAccessor(args) {\n var isEventHandlerObj = !!args[1] && typeof args[1].handleEvent === 'function';\n return {\n get: function () {\n return isEventHandlerObj ? args[1].handleEvent : args[1];\n },\n replace: function (fn) {\n if (isEventHandlerObj) {\n args[1].handleEvent = fn;\n } else {\n args[1] = fn;\n }\n }\n };\n}\n\n/*\n * Leaves breadcrumbs when the user interacts with the DOM\n */\nvar _$interactionBreadcrumbs_49 = function (win) {\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n if (!('addEventListener' in win)) return;\n if (!client._isBreadcrumbTypeEnabled('user')) return;\n win.addEventListener('click', function (event) {\n var targetText, targetSelector;\n try {\n targetText = getNodeText(event.target);\n targetSelector = getNodeSelector(event.target, win);\n } catch (e) {\n targetText = '[hidden]';\n targetSelector = '[hidden]';\n client._logger.error('Cross domain error when tracking click event. See docs: https://tinyurl.com/yy3rn63z');\n }\n client.leaveBreadcrumb('UI click', {\n targetText: targetText,\n targetSelector: targetSelector\n }, 'user');\n }, true);\n }\n };\n};\nvar trim = /^\\s*([^\\s][\\s\\S]{0,139}[^\\s])?\\s*/;\nfunction getNodeText(el) {\n var text = el.textContent || el.innerText || '';\n if (!text && (el.type === 'submit' || el.type === 'button')) {\n text = el.value;\n }\n text = text.replace(trim, '$1');\n if (text.length > 140) {\n return text.slice(0, 135) + '(...)';\n }\n return text;\n}\n\n// Create a label from tagname, id and css class of the element\nfunction getNodeSelector(el, win) {\n var parts = [el.tagName];\n if (el.id) parts.push('#' + el.id);\n if (el.className && el.className.length) parts.push(\".\" + el.className.split(' ').join('.'));\n // Can't get much more advanced with the current browser\n if (!win.document.querySelectorAll || !Array.prototype.indexOf) return parts.join('');\n try {\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('');\n } catch (e) {\n // Sometimes the query selector can be invalid just return it as-is\n return parts.join('');\n }\n // try to get a more specific selector if this one matches more than one element\n if (el.parentNode.childNodes.length > 1) {\n var index = Array.prototype.indexOf.call(el.parentNode.childNodes, el) + 1;\n parts.push(\":nth-child(\" + index + \")\");\n }\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('');\n // try prepending the parent node selector\n if (el.parentNode) return getNodeSelector(el.parentNode, win) + \" > \" + parts.join('');\n return parts.join('');\n}\n\nvar _$navigationBreadcrumbs_50 = {};\n/*\n* Leaves breadcrumbs when navigation methods are called or events are emitted\n*/\n_$navigationBreadcrumbs_50 = function (win) {\n if (win === void 0) {\n win = window;\n }\n var plugin = {\n load: function (client) {\n if (!('addEventListener' in win)) return;\n if (!client._isBreadcrumbTypeEnabled('navigation')) return;\n\n // returns a function that will drop a breadcrumb with a given name\n var drop = function (name) {\n return function () {\n return client.leaveBreadcrumb(name, {}, 'navigation');\n };\n };\n\n // simple drops – just names, no meta\n win.addEventListener('pagehide', drop('Page hidden'), true);\n win.addEventListener('pageshow', drop('Page shown'), true);\n win.addEventListener('load', drop('Page loaded'), true);\n win.document.addEventListener('DOMContentLoaded', drop('DOMContentLoaded'), true);\n // some browsers like to emit popstate when the page loads, so only add the popstate listener after that\n win.addEventListener('load', function () {\n return win.addEventListener('popstate', drop('Navigated back'), true);\n });\n\n // hashchange has some metadata that we care about\n win.addEventListener('hashchange', function (event) {\n var metadata = event.oldURL ? {\n from: relativeLocation(event.oldURL, win),\n to: relativeLocation(event.newURL, win),\n state: getCurrentState(win)\n } : {\n to: relativeLocation(win.location.href, win)\n };\n client.leaveBreadcrumb('Hash changed', metadata, 'navigation');\n }, true);\n\n // the only way to know about replaceState/pushState is to wrap them… >_<\n\n if (win.history.replaceState) wrapHistoryFn(client, win.history, 'replaceState', win);\n if (win.history.pushState) wrapHistoryFn(client, win.history, 'pushState', win);\n }\n };\n if (\"production\" !== 'production') {\n plugin.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n win.history.replaceState._restore();\n win.history.pushState._restore();\n };\n }\n return plugin;\n};\nif (\"production\" !== 'production') {\n _$navigationBreadcrumbs_50.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n win.history.replaceState._restore();\n win.history.pushState._restore();\n };\n}\n\n// takes a full url like http://foo.com:1234/pages/01.html?yes=no#section-2 and returns\n// just the path and hash parts, e.g. /pages/01.html?yes=no#section-2\nvar relativeLocation = function (url, win) {\n var a = win.document.createElement('A');\n a.href = url;\n return \"\" + a.pathname + a.search + a.hash;\n};\nvar stateChangeToMetadata = function (win, state, title, url) {\n var currentPath = relativeLocation(win.location.href, win);\n return {\n title: title,\n state: state,\n prevState: getCurrentState(win),\n to: url || currentPath,\n from: currentPath\n };\n};\nvar wrapHistoryFn = function (client, target, fn, win) {\n var orig = target[fn];\n target[fn] = function (state, title, url) {\n client.leaveBreadcrumb(\"History \" + fn, stateChangeToMetadata(win, state, title, url), 'navigation');\n // if throttle plugin is in use, reset the event sent count\n if (typeof client.resetEventCount === 'function') client.resetEventCount();\n // if the client is operating in auto session-mode, a new route should trigger a new session\n if (client._config.autoTrackSessions) client.startSession();\n // Internet Explorer will convert `undefined` to a string when passed, causing an unintended redirect\n // to '/undefined'. therefore we only pass the url if it's not undefined.\n orig.apply(target, [state, title].concat(url !== undefined ? url : []));\n };\n if (\"production\" !== 'production') {\n target[fn]._restore = function () {\n target[fn] = orig;\n };\n }\n};\nvar getCurrentState = function (win) {\n try {\n return win.history.state;\n } catch (e) {}\n};\n\nvar BREADCRUMB_TYPE = 'request';\n/* removed: var _$includes_13 = require('@bugsnag/core/lib/es-utils/includes'); */;\n\n/*\n * Leaves breadcrumbs when network requests occur\n */\nvar _$networkBreadcrumbs_51 = function (_ignoredUrls, win) {\n if (_ignoredUrls === void 0) {\n _ignoredUrls = [];\n }\n if (win === void 0) {\n win = window;\n }\n var restoreFunctions = [];\n var plugin = {\n load: function (client) {\n if (!client._isBreadcrumbTypeEnabled('request')) return;\n var ignoredUrls = [client._config.endpoints.notify, client._config.endpoints.sessions].concat(_ignoredUrls);\n monkeyPatchXMLHttpRequest();\n monkeyPatchFetch();\n\n // XMLHttpRequest monkey patch\n function monkeyPatchXMLHttpRequest() {\n if (!('addEventListener' in win.XMLHttpRequest.prototype)) return;\n var nativeOpen = win.XMLHttpRequest.prototype.open;\n\n // override native open()\n win.XMLHttpRequest.prototype.open = function open(method, url) {\n var _this = this;\n var requestSetupKey = false;\n var error = function () {\n return handleXHRError(method, url);\n };\n var load = function () {\n return handleXHRLoad(method, url, _this.status);\n };\n\n // if we have already setup listeners, it means open() was called twice, we need to remove\n // the listeners and recreate them\n if (requestSetupKey) {\n this.removeEventListener('load', load);\n this.removeEventListener('error', error);\n }\n\n // attach load event listener\n this.addEventListener('load', load);\n // attach error event listener\n this.addEventListener('error', error);\n requestSetupKey = true;\n nativeOpen.apply(this, arguments);\n };\n if (\"production\" !== 'production') {\n restoreFunctions.push(function () {\n win.XMLHttpRequest.prototype.open = nativeOpen;\n });\n }\n }\n function handleXHRLoad(method, url, status) {\n if (url === undefined) {\n client._logger.warn('The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.');\n return;\n }\n\n // an XMLHttpRequest's URL can be an object as long as its 'toString'\n // returns a URL, e.g. a HTMLAnchorElement\n if (typeof url === 'string' && _$includes_13(ignoredUrls, url.replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return;\n }\n var metadata = {\n status: status,\n request: method + \" \" + url\n };\n if (status >= 400) {\n // contacted server but got an error response\n client.leaveBreadcrumb('XMLHttpRequest failed', metadata, BREADCRUMB_TYPE);\n } else {\n client.leaveBreadcrumb('XMLHttpRequest succeeded', metadata, BREADCRUMB_TYPE);\n }\n }\n function handleXHRError(method, url) {\n if (url === undefined) {\n client._logger.warn('The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.');\n return;\n }\n if (typeof url === 'string' && _$includes_13(ignoredUrls, url.replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return;\n }\n\n // failed to contact server\n client.leaveBreadcrumb('XMLHttpRequest error', {\n request: method + \" \" + url\n }, BREADCRUMB_TYPE);\n }\n\n // window.fetch monkey patch\n function monkeyPatchFetch() {\n // only patch it if it exists and if it is not a polyfill (patching a polyfilled\n // fetch() results in duplicate breadcrumbs for the same request because the\n // implementation uses XMLHttpRequest which is also patched)\n if (!('fetch' in win) || win.fetch.polyfill) return;\n var oldFetch = win.fetch;\n win.fetch = function fetch() {\n var _arguments = arguments;\n var urlOrRequest = arguments[0];\n var options = arguments[1];\n var method;\n var url = null;\n if (urlOrRequest && typeof urlOrRequest === 'object') {\n url = urlOrRequest.url;\n if (options && 'method' in options) {\n method = options.method;\n } else if (urlOrRequest && 'method' in urlOrRequest) {\n method = urlOrRequest.method;\n }\n } else {\n url = urlOrRequest;\n if (options && 'method' in options) {\n method = options.method;\n }\n }\n if (method === undefined) {\n method = 'GET';\n }\n return new Promise(function (resolve, reject) {\n // pass through to native fetch\n oldFetch.apply(void 0, _arguments).then(function (response) {\n handleFetchSuccess(response, method, url);\n resolve(response);\n })[\"catch\"](function (error) {\n handleFetchError(method, url);\n reject(error);\n });\n });\n };\n if (\"production\" !== 'production') {\n restoreFunctions.push(function () {\n win.fetch = oldFetch;\n });\n }\n }\n var handleFetchSuccess = function (response, method, url) {\n var metadata = {\n status: response.status,\n request: method + \" \" + url\n };\n if (response.status >= 400) {\n // when the request comes back with a 4xx or 5xx status it does not reject the fetch promise,\n client.leaveBreadcrumb('fetch() failed', metadata, BREADCRUMB_TYPE);\n } else {\n client.leaveBreadcrumb('fetch() succeeded', metadata, BREADCRUMB_TYPE);\n }\n };\n var handleFetchError = function (method, url) {\n client.leaveBreadcrumb('fetch() error', {\n request: method + \" \" + url\n }, BREADCRUMB_TYPE);\n };\n }\n };\n if (\"production\" !== 'production') {\n plugin.destroy = function () {\n restoreFunctions.forEach(function (fn) {\n return fn();\n });\n restoreFunctions = [];\n };\n }\n return plugin;\n};\n\n/* removed: var _$intRange_24 = require('@bugsnag/core/lib/validators/int-range'); */;\n\n/*\n * Throttles and dedupes events\n */\n\nvar _$throttle_52 = {\n load: function (client) {\n // track sent events for each init of the plugin\n var n = 0;\n\n // add onError hook\n client.addOnError(function (event) {\n // have max events been sent already?\n if (n >= client._config.maxEvents) {\n client._logger.warn(\"Cancelling event send due to maxEvents per session limit of \" + client._config.maxEvents + \" being reached\");\n return false;\n }\n n++;\n });\n client.resetEventCount = function () {\n n = 0;\n };\n },\n configSchema: {\n maxEvents: {\n defaultValue: function () {\n return 10;\n },\n message: 'should be a positive integer ≤100',\n validate: function (val) {\n return _$intRange_24(1, 100)(val);\n }\n }\n }\n};\n\nvar _$stripQueryString_53 = {};\n/*\n * Remove query strings (and fragments) from stacktraces\n */\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n/* removed: var _$reduce_17 = require('@bugsnag/core/lib/es-utils/reduce'); */;\n_$stripQueryString_53 = {\n load: function (client) {\n client.addOnError(function (event) {\n var allFrames = _$reduce_17(event.errors, function (accum, er) {\n return accum.concat(er.stacktrace);\n }, []);\n _$map_16(allFrames, function (frame) {\n frame.file = strip(frame.file);\n });\n });\n }\n};\nvar strip = _$stripQueryString_53._strip = function (str) {\n return typeof str === 'string' ? str.replace(/\\?.*$/, '').replace(/#.*$/, '') : str;\n};\n\n/*\n * Automatically notifies Bugsnag when window.onerror is called\n */\n\nvar _$onerror_54 = function (win, component) {\n if (win === void 0) {\n win = window;\n }\n if (component === void 0) {\n component = 'window onerror';\n }\n return {\n load: function (client) {\n if (!client._config.autoDetectErrors) return;\n if (!client._config.enabledErrorTypes.unhandledExceptions) return;\n function onerror(messageOrEvent, url, lineNo, charNo, error) {\n // Ignore errors with no info due to CORS settings\n if (lineNo === 0 && /Script error\\.?/.test(messageOrEvent)) {\n client._logger.warn('Ignoring cross-domain or eval script error. See docs: https://tinyurl.com/yy3rn63z');\n } else {\n // any error sent to window.onerror is unhandled and has severity=error\n var handledState = {\n severity: 'error',\n unhandled: true,\n severityReason: {\n type: 'unhandledException'\n }\n };\n var event;\n\n // window.onerror can be called in a number of ways. This big if-else is how we\n // figure out which arguments were supplied, and what kind of values it received.\n\n if (error) {\n // if the last parameter (error) was supplied, this is a modern browser's\n // way of saying \"this value was thrown and not caught\"\n event = client.Event.create(error, true, handledState, component, 1);\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo);\n } else if (\n // This complex case detects \"error\" events that are typically synthesised\n // by jquery's trigger method (although can be created in other ways). In\n // order to detect this:\n // - the first argument (message) must exist and be an object (most likely it's a jQuery event)\n // - the second argument (url) must either not exist or be something other than a string (if it\n // exists and is not a string, it'll be the extraParameters argument from jQuery's trigger()\n // function)\n // - the third, fourth and fifth arguments must not exist (lineNo, charNo and error)\n typeof messageOrEvent === 'object' && messageOrEvent !== null && (!url || typeof url !== 'string') && !lineNo && !charNo && !error) {\n // The jQuery event may have a \"type\" property, if so use it as part of the error message\n var name = messageOrEvent.type ? \"Event: \" + messageOrEvent.type : 'Error';\n // attempt to find a message from one of the conventional properties, but\n // default to empty string (the event will fill it with a placeholder)\n var message = messageOrEvent.message || messageOrEvent.detail || '';\n event = client.Event.create({\n name: name,\n message: message\n }, true, handledState, component, 1);\n\n // provide the original thing onerror received – not our error-like object we passed to _notify\n event.originalError = messageOrEvent;\n\n // include the raw input as metadata – it might contain more info than we extracted\n event.addMetadata(component, {\n event: messageOrEvent,\n extraParameters: url\n });\n } else {\n // Lastly, if there was no \"error\" parameter this event was probably from an old\n // browser that doesn't support that. Instead we need to generate a stacktrace.\n event = client.Event.create(messageOrEvent, true, handledState, component, 1);\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo);\n }\n client._notify(event);\n }\n if (typeof prevOnError === 'function') prevOnError.apply(this, arguments);\n }\n var prevOnError = win.onerror;\n win.onerror = onerror;\n }\n };\n};\n\n// Sometimes the stacktrace has less information than was passed to window.onerror.\n// This function will augment the first stackframe with any useful info that was\n// received as arguments to the onerror callback.\nvar decorateStack = function (stack, url, lineNo, charNo) {\n if (!stack[0]) stack.push({});\n var culprit = stack[0];\n if (!culprit.file && typeof url === 'string') culprit.file = url;\n if (!culprit.lineNumber && isActualNumber(lineNo)) culprit.lineNumber = lineNo;\n if (!culprit.columnNumber) {\n if (isActualNumber(charNo)) {\n culprit.columnNumber = charNo;\n } else if (window.event && isActualNumber(window.event.errorCharacter)) {\n culprit.columnNumber = window.event.errorCharacter;\n }\n }\n};\nvar isActualNumber = function (n) {\n return typeof n === 'number' && String.call(n) !== 'NaN';\n};\n\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n/* removed: var _$iserror_20 = require('@bugsnag/core/lib/iserror'); */;\nvar _listener;\n/*\n * Automatically notifies Bugsnag when window.onunhandledrejection is called\n */\nvar _$unhandledRejection_55 = function (win) {\n if (win === void 0) {\n win = window;\n }\n var plugin = {\n load: function (client) {\n if (!client._config.autoDetectErrors || !client._config.enabledErrorTypes.unhandledRejections) return;\n var listener = function (evt) {\n var error = evt.reason;\n var isBluebird = false;\n\n // accessing properties on evt.detail can throw errors (see #394)\n try {\n if (evt.detail && evt.detail.reason) {\n error = evt.detail.reason;\n isBluebird = true;\n }\n } catch (e) {}\n var event = client.Event.create(error, false, {\n severity: 'error',\n unhandled: true,\n severityReason: {\n type: 'unhandledPromiseRejection'\n }\n }, 'unhandledrejection handler', 1, client._logger);\n if (isBluebird) {\n _$map_16(event.errors[0].stacktrace, fixBluebirdStacktrace(error));\n }\n client._notify(event, function (event) {\n if (_$iserror_20(event.originalError) && !event.originalError.stack) {\n var _event$addMetadata;\n event.addMetadata('unhandledRejection handler', (_event$addMetadata = {}, _event$addMetadata[Object.prototype.toString.call(event.originalError)] = {\n name: event.originalError.name,\n message: event.originalError.message,\n code: event.originalError.code\n }, _event$addMetadata));\n }\n });\n };\n if ('addEventListener' in win) {\n win.addEventListener('unhandledrejection', listener);\n } else {\n win.onunhandledrejection = function (reason, promise) {\n listener({\n detail: {\n reason: reason,\n promise: promise\n }\n });\n };\n }\n _listener = listener;\n }\n };\n if (\"production\" !== 'production') {\n plugin.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n if (_listener) {\n if ('addEventListener' in win) {\n win.removeEventListener('unhandledrejection', _listener);\n } else {\n win.onunhandledrejection = null;\n }\n }\n _listener = null;\n };\n }\n return plugin;\n};\n\n// The stack parser on bluebird stacks in FF get a suprious first frame:\n//\n// Error: derp\n// b@http://localhost:5000/bluebird.html:22:24\n// a@http://localhost:5000/bluebird.html:18:9\n// @http://localhost:5000/bluebird.html:14:9\n//\n// results in\n// […]\n// 0: Object { file: \"Error: derp\", method: undefined, lineNumber: undefined, … }\n// 1: Object { file: \"http://localhost:5000/bluebird.html\", method: \"b\", lineNumber: 22, … }\n// 2: Object { file: \"http://localhost:5000/bluebird.html\", method: \"a\", lineNumber: 18, … }\n// 3: Object { file: \"http://localhost:5000/bluebird.html\", lineNumber: 14, columnNumber: 9, … }\n//\n// so the following reduce/accumulator function removes such frames\n//\n// Bluebird pads method names with spaces so trim that too…\n// https://github.com/petkaantonov/bluebird/blob/b7f21399816d02f979fe434585334ce901dcaf44/src/debuggability.js#L568-L571\nvar fixBluebirdStacktrace = function (error) {\n return function (frame) {\n if (frame.file === error.toString()) return;\n if (frame.method) {\n frame.method = frame.method.replace(/^\\s+/, '');\n }\n };\n};\n\nvar _$notifier_2 = {};\nvar name = 'Bugsnag JavaScript';\nvar version = '7.25.0';\nvar url = 'https://github.com/bugsnag/bugsnag-js';\n/* removed: var _$Client_4 = require('@bugsnag/core/client'); */;\n/* removed: var _$Event_6 = require('@bugsnag/core/event'); */;\n/* removed: var _$Session_35 = require('@bugsnag/core/session'); */;\n/* removed: var _$Breadcrumb_3 = require('@bugsnag/core/breadcrumb'); */;\n/* removed: var _$map_16 = require('@bugsnag/core/lib/es-utils/map'); */;\n/* removed: var _$keys_15 = require('@bugsnag/core/lib/es-utils/keys'); */;\n/* removed: var _$assign_11 = require('@bugsnag/core/lib/es-utils/assign'); */;\n\n// extend the base config schema with some browser-specific options\nvar __schema_2 = _$assign_11({}, _$config_5.schema, _$config_1);\n/* removed: var _$onerror_54 = require('@bugsnag/plugin-window-onerror'); */;\n/* removed: var _$unhandledRejection_55 = require('@bugsnag/plugin-window-unhandled-rejection'); */;\n/* removed: var _$app_38 = require('@bugsnag/plugin-app-duration'); */;\n/* removed: var _$device_40 = require('@bugsnag/plugin-browser-device'); */;\n/* removed: var _$context_39 = require('@bugsnag/plugin-browser-context'); */;\n/* removed: var _$request_44 = require('@bugsnag/plugin-browser-request'); */;\n/* removed: var _$throttle_52 = require('@bugsnag/plugin-simple-throttle'); */;\n/* removed: var _$consoleBreadcrumbs_47 = require('@bugsnag/plugin-console-breadcrumbs'); */;\n/* removed: var _$networkBreadcrumbs_51 = require('@bugsnag/plugin-network-breadcrumbs'); */;\n/* removed: var _$navigationBreadcrumbs_50 = require('@bugsnag/plugin-navigation-breadcrumbs'); */;\n/* removed: var _$interactionBreadcrumbs_49 = require('@bugsnag/plugin-interaction-breadcrumbs'); */;\n/* removed: var _$inlineScriptContent_48 = require('@bugsnag/plugin-inline-script-content'); */;\n/* removed: var _$session_45 = require('@bugsnag/plugin-browser-session'); */;\n/* removed: var _$clientIp_46 = require('@bugsnag/plugin-client-ip'); */;\n/* removed: var _$stripQueryString_53 = require('@bugsnag/plugin-strip-query-string'); */;\n\n// delivery mechanisms\n/* removed: var _$delivery_36 = require('@bugsnag/delivery-x-domain-request'); */;\n/* removed: var _$delivery_37 = require('@bugsnag/delivery-xml-http-request'); */;\nvar Bugsnag = {\n _client: null,\n createClient: function (opts) {\n // handle very simple use case where user supplies just the api key as a string\n if (typeof opts === 'string') opts = {\n apiKey: opts\n };\n if (!opts) opts = {};\n var internalPlugins = [\n // add browser-specific plugins\n _$app_38, _$device_40(), _$context_39(), _$request_44(), _$throttle_52, _$session_45, _$clientIp_46, _$stripQueryString_53, _$onerror_54(), _$unhandledRejection_55(), _$navigationBreadcrumbs_50(), _$interactionBreadcrumbs_49(), _$networkBreadcrumbs_51(), _$consoleBreadcrumbs_47,\n // this one added last to avoid wrapping functionality before bugsnag uses it\n _$inlineScriptContent_48()];\n\n // configure a client with user supplied options\n var bugsnag = new _$Client_4(opts, __schema_2, internalPlugins, {\n name: name,\n version: version,\n url: url\n });\n\n // set delivery based on browser capability (IE 8+9 have an XDomainRequest object)\n bugsnag._setDelivery(window.XDomainRequest ? _$delivery_36 : _$delivery_37);\n bugsnag._logger.debug('Loaded!');\n bugsnag.leaveBreadcrumb('Bugsnag loaded', {}, 'state');\n return bugsnag._config.autoTrackSessions ? bugsnag.startSession() : bugsnag;\n },\n start: function (opts) {\n if (Bugsnag._client) {\n Bugsnag._client._logger.warn('Bugsnag.start() was called more than once. Ignoring.');\n return Bugsnag._client;\n }\n Bugsnag._client = Bugsnag.createClient(opts);\n return Bugsnag._client;\n },\n isStarted: function () {\n return Bugsnag._client != null;\n }\n};\n_$map_16(['resetEventCount'].concat(_$keys_15(_$Client_4.prototype)), function (m) {\n if (/^_/.test(m)) return;\n Bugsnag[m] = function () {\n if (!Bugsnag._client) return console.log(\"Bugsnag.\" + m + \"() was called before Bugsnag.start()\");\n Bugsnag._client._depth += 1;\n var ret = Bugsnag._client[m].apply(Bugsnag._client, arguments);\n Bugsnag._client._depth -= 1;\n return ret;\n };\n});\n_$notifier_2 = Bugsnag;\n_$notifier_2.Client = _$Client_4;\n_$notifier_2.Event = _$Event_6;\n_$notifier_2.Session = _$Session_35;\n_$notifier_2.Breadcrumb = _$Breadcrumb_3;\n\n// Export a \"default\" property for compatibility with ESM imports\n_$notifier_2[\"default\"] = Bugsnag;\n\nreturn _$notifier_2;\n\n});\n//# sourceMappingURL=bugsnag.js.map\n","module.exports = require('@bugsnag/browser')\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.BugsnagPluginReact = f()}})(function(){var define,module,exports;\nvar _$src_1 = {};\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n_$src_1 = /*#__PURE__*/function () {\n function BugsnagPluginReact() {\n // Fetch React from the window object, if it exists\n var globalReact = typeof window !== 'undefined' && window.React;\n this.name = 'react';\n this.lazy = arguments.length === 0 && !globalReact;\n if (!this.lazy) {\n this.React = (arguments.length <= 0 ? undefined : arguments[0]) || globalReact;\n if (!this.React) throw new Error('@bugsnag/plugin-react reference to `React` was undefined');\n }\n }\n var _proto = BugsnagPluginReact.prototype;\n _proto.load = function load(client) {\n if (!this.lazy) {\n var ErrorBoundary = createClass(this.React, client);\n ErrorBoundary.createErrorBoundary = function () {\n return ErrorBoundary;\n };\n return ErrorBoundary;\n }\n var BugsnagPluginReactLazyInitializer = function () {\n throw new Error(\"@bugsnag/plugin-react was used incorrectly. Valid usage is as follows:\\nPass React to the plugin constructor\\n\\n `Bugsnag.start({ plugins: [new BugsnagPluginReact(React)] })`\\nand then call `const ErrorBoundary = Bugsnag.getPlugin('react').createErrorBoundary()`\\n\\nOr if React is not available until after Bugsnag has started,\\nconstruct the plugin with no arguments\\n `Bugsnag.start({ plugins: [new BugsnagPluginReact()] })`,\\nthen pass in React when available to construct your error boundary\\n `const ErrorBoundary = Bugsnag.getPlugin('react').createErrorBoundary(React)`\");\n };\n BugsnagPluginReactLazyInitializer.createErrorBoundary = function (React) {\n if (!React) throw new Error('@bugsnag/plugin-react reference to `React` was undefined');\n return createClass(React, client);\n };\n return BugsnagPluginReactLazyInitializer;\n };\n return BugsnagPluginReact;\n}();\nvar formatComponentStack = function (str) {\n var lines = str.split(/\\n/g);\n var ret = '';\n for (var line = 0, len = lines.length; line < len; line++) {\n if (lines[line].length) ret += \"\" + (ret.length ? '\\n' : '') + lines[line].trim();\n }\n return ret;\n};\nvar createClass = function (React, client) {\n return /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ErrorBoundary, _React$Component);\n function ErrorBoundary(props) {\n var _this;\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n error: null,\n info: null\n };\n _this.handleClearError = _this.handleClearError.bind(_assertThisInitialized(_this));\n return _this;\n }\n var _proto2 = ErrorBoundary.prototype;\n _proto2.handleClearError = function handleClearError() {\n this.setState({\n error: null,\n info: null\n });\n };\n _proto2.componentDidCatch = function componentDidCatch(error, info) {\n var onError = this.props.onError;\n var handledState = {\n severity: 'error',\n unhandled: true,\n severityReason: {\n type: 'unhandledException'\n }\n };\n var event = client.Event.create(error, true, handledState, 1);\n if (info && info.componentStack) info.componentStack = formatComponentStack(info.componentStack);\n event.addMetadata('react', info);\n client._notify(event, onError);\n this.setState({\n error: error,\n info: info\n });\n };\n _proto2.render = function render() {\n var error = this.state.error;\n if (error) {\n var FallbackComponent = this.props.FallbackComponent;\n if (FallbackComponent) return React.createElement(FallbackComponent, _extends({}, this.state, {\n clearError: this.handleClearError\n }));\n return null;\n }\n return this.props.children;\n };\n return ErrorBoundary;\n }(React.Component);\n};\n_$src_1.formatComponentStack = formatComponentStack;\n_$src_1[\"default\"] = _$src_1;\n\nreturn _$src_1;\n\n});\n//# sourceMappingURL=bugsnag-react.js.map\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\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","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${encode(object.fragmentIdentifier, options)}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\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\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\n/**\n * We need to support the deprecated `KeyboardEvent.keyCode` in addition to\n * `KeyboardEvent.code` for apps that still support IE11. Can be removed when\n * `react-modal` only supports React >18 (which dropped IE support).\n */\nvar isTabKey = function isTabKey(event) {\n return event.code === \"Tab\" || event.keyCode === 9;\n};\nvar isEscKey = function isEscKey(event) {\n return event.code === \"Escape\" || event.keyCode === 27;\n};\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName,\n parentSelector = _this$props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Remove classes.\n bodyOpenClassName && classList.remove(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (isTabKey(event)) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && isEscKey(event)) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName,\n parentSelector = _props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Add classes.\n bodyOpenClassName && classList.add(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n parentSelector: _propTypes2.default.func,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar DISPLAY_NONE = \"none\";\nvar DISPLAY_CONTENTS = \"contents\";\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction isNotOverflowing(element, style) {\n return style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0;\n}\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n var displayValue = style.getPropertyValue(\"display\");\n return zeroSize ? displayValue !== DISPLAY_CONTENTS && isNotOverflowing(element, style) : displayValue === DISPLAY_NONE;\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _pt = require('prop-types');\nvar React = require('react');\nvar Modal = require('react-modal');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _pt__default = /*#__PURE__*/_interopDefaultLegacy(_pt);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);\n\nvar CLOSE_TIMEOUT = 500;\n\nfunction useUpdateStateIfMounted(initialValue) {\n var isMountedRef = React.useRef(true);\n React.useEffect(function () {\n isMountedRef.current = true;\n return function () {\n isMountedRef.current = false;\n };\n }, []);\n var useStateResult = React.useState(initialValue);\n var state = useStateResult[0];\n var setState = useStateResult[1];\n\n var setStateIfMounted = function setStateIfMounted(value) {\n if (isMountedRef.current === true) {\n setState(value);\n }\n };\n\n return [state, setStateIfMounted];\n}\n\nfunction ReactSlidingPane(_ref) {\n var isOpen = _ref.isOpen,\n title = _ref.title,\n subtitle = _ref.subtitle,\n onRequestClose = _ref.onRequestClose,\n onAfterOpen = _ref.onAfterOpen,\n onAfterClose = _ref.onAfterClose,\n children = _ref.children,\n className = _ref.className,\n overlayClassName = _ref.overlayClassName,\n closeIcon = _ref.closeIcon,\n _ref$from = _ref.from,\n from = _ref$from === void 0 ? \"right\" : _ref$from,\n width = _ref.width,\n shouldCloseOnEsc = _ref.shouldCloseOnEsc,\n _ref$hideHeader = _ref.hideHeader,\n hideHeader = _ref$hideHeader === void 0 ? false : _ref$hideHeader;\n var directionClass = \"slide-pane_from_\".concat(from); // Not usign array destruction to reduce bundle size by not introducing polyfill\n\n var state = useUpdateStateIfMounted(false);\n var wasOpen = state[0];\n var setWasOpen = state[1];\n\n var handleAfterOpen = function handleAfterOpen() {\n // Timeout fixes animation in Safari\n onAfterOpen === null || onAfterOpen === void 0 ? void 0 : onAfterOpen();\n setTimeout(function () {\n setWasOpen(true);\n }, 0);\n };\n\n var handleAfterClose = function handleAfterClose() {\n onAfterClose === null || onAfterClose === void 0 ? void 0 : onAfterClose();\n setTimeout(function () {\n setWasOpen(false);\n }, 0);\n };\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Modal__default[\"default\"], {\n ariaHideApp: false,\n overlayClassName: {\n base: \"slide-pane__overlay \".concat(overlayClassName || \"\"),\n afterOpen: wasOpen ? \"overlay-after-open\" : \"\",\n beforeClose: \"overlay-before-close\"\n },\n className: {\n base: \"slide-pane \".concat(directionClass, \" \").concat(className || \"\"),\n afterOpen: wasOpen ? \"content-after-open\" : \"\",\n beforeClose: \"content-before-close\"\n },\n style: {\n content: {\n width: width || \"80%\"\n }\n },\n closeTimeoutMS: CLOSE_TIMEOUT,\n isOpen: isOpen !== null && isOpen !== void 0 ? isOpen : false,\n shouldCloseOnEsc: shouldCloseOnEsc,\n onAfterOpen: handleAfterOpen,\n onAfterClose: handleAfterClose,\n onRequestClose: onRequestClose,\n contentLabel: \"Modal \\\"\".concat(title || \"\", \"\\\"\")\n }, !hideHeader && /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"slide-pane__header\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"slide-pane__close\",\n onClick: onRequestClose,\n role: \"button\",\n tabIndex: 0\n }, closeIcon || /*#__PURE__*/React__default[\"default\"].createElement(IconClose, null)), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"slide-pane__title-wrapper\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"h2\", {\n className: \"slide-pane__title\"\n }, title), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"slide-pane__subtitle\"\n }, subtitle))), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"slide-pane__content\"\n }, children));\n}\nReactSlidingPane.propTypes = {\n isOpen: _pt__default[\"default\"].bool,\n title: _pt__default[\"default\"].node,\n subtitle: _pt__default[\"default\"].node,\n from: _pt__default[\"default\"].oneOf([\"left\", \"right\", \"bottom\"]),\n children: _pt__default[\"default\"].node.isRequired,\n className: _pt__default[\"default\"].string,\n overlayClassName: _pt__default[\"default\"].string,\n width: _pt__default[\"default\"].string,\n closeIcon: _pt__default[\"default\"].node,\n shouldCloseOnEsc: _pt__default[\"default\"].bool,\n hideHeader: _pt__default[\"default\"].bool,\n onRequestClose: _pt__default[\"default\"].func.isRequired,\n onAfterOpen: _pt__default[\"default\"].func,\n onAfterClose: _pt__default[\"default\"].func\n};\n\nfunction IconClose() {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 13 22\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4 11l8 8c.6.5.6 1.5 0 2-.5.6-1.5.6-2 0l-9-9c-.6-.5-.6-1.5 0-2l9-9c.5-.6 1.5-.6 2 0 .6.5.6 1.5 0 2l-8 8z\"\n }));\n}\n\nexports.ReactSlidingPane = ReactSlidingPane;\nexports[\"default\"] = ReactSlidingPane;\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","/**\n * Copyright (c) 2014-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\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n"],"names":["module","exports","define","_$breadcrumbTypes_8","_$reduce_17","arr","fn","accum","val","i","len","length","_$filter_12","item","concat","_$includes_13","x","_$isArray_14","obj","Object","prototype","toString","call","_hasDontEnumBug","propertyIsEnumerable","_dontEnums","_$keys_15","prop","result","hasOwnProperty","push","_$intRange_24","min","max","Infinity","value","parseInt","_$listOfFunctions_25","f","_$stringWithLength_26","_$config_5","defaultErrorTypes","unhandledExceptions","unhandledRejections","schema","apiKey","defaultValue","message","validate","appVersion","undefined","appType","autoDetectErrors","enabledErrorTypes","allowPartialObject","providedKeys","defaultKeys","k","onError","onSession","onBreadcrumb","endpoints","notify","sessions","autoTrackSessions","enabledReleaseStages","releaseStage","maxBreadcrumbs","enabledBreadcrumbTypes","join","maybeType","context","user","key","metadata","logger","method","redactedKeys","s","test","plugins","p","load","featureFlags","feature","name","_$assign_11","target","arguments","source","_$map_16","_extends","assign","bind","apply","this","_$config_1","window","location","host","console","debug","getPrefixedConsole","consoleLog","log","consoleMethod","_$Breadcrumb_3","Breadcrumb","type","timestamp","Date","toJSON","metaData","_$stackframe_34","root","factory","amd","StackFrame","_isNumber","n","isNaN","parseFloat","isFinite","_capitalize","str","charAt","toUpperCase","substring","_getter","booleanProps","numericProps","stringProps","arrayProps","props","getArgs","args","setArgs","v","TypeError","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","getFileName","getLineNumber","getColumnNumber","Boolean","j","Number","String","_$errorStackParser_31","ErrorStackParser","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","parse","error","stacktrace","parseOpera","stack","match","parseV8OrIE","parseFFOrSafari","Error","extractLocation","urlLike","indexOf","parts","exec","replace","split","filter","line","map","sanitizedLine","tokens","slice","locationParts","pop","functionName","fileName","lineNumber","columnNumber","functionNameRegex","matches","e","parseOpera9","parseOpera11","parseOpera10","lineRE","lines","argsRaw","functionCall","shift","_$errorStackParser_10","_$safeJsonStringify_30","data","replacer","space","opts","redactedPaths","JSON","stringify","prepareObjForSerialization","MAX_DEPTH","MAX_EDGES","MIN_PRESERVED_DEPTH","REPLACEMENT_NODE","isError","o","throwsMessage","err","find","haystack","needle","isDescendent","paths","path","shouldRedact","patterns","toLowerCase","__isArray_30","safelyGetProp","seen","edges","visit","edgesExceeded","fResult","eResult","aResult","add","existingFeatures","existingFeatureKeys","variant","existingIndex","merge","newFeatures","toEventApi","_ref","flag","featureFlag","clear","features","featuresIndex","_$featureFlagDelegate_18","_$hasStack_19","__isError_32","_$iserror_20","__add_22","state","section","keyOrObj","maybeVal","_updates","updates","__clear_22","_$metadataDelegate_22","get","_$stackGenerator_33","___extends_6","StackGenerator","backtrace","maxStackSize","curr","callee","Array","RegExp","$1","caller","Event","errorClass","errorMessage","handledState","originalError","defaultHandledState","groupingHash","_handledState","severity","unhandled","app","device","request","breadcrumbs","threads","_metadata","_features","_featuresIndex","_user","_session","_correlation","errors","createBugsnagError","__type","_proto","addMetadata","setTraceCorrelation","traceId","spanId","getMetadata","clearMetadata","addFeatureFlag","addFeatureFlags","getFeatureFlags","clearFeatureFlag","clearFeatureFlags","getUser","setUser","id","email","payloadVersion","exceptions","er","severityReason","session","correlation","formatStackframe","frame","file","normaliseFunctionName","code","inProject","ensureString","getCauseStack","cause","getStacktrace","errorFramesToSkip","backtraceFramesToSkip","create","maybeError","tolerateNonErrors","component","event","_normaliseError","normaliseError","internalFrames","makeSerialisable","_event$errors","causes","normalisedCauses","createAndLogInputError","reason","verb","warn","hasNecessaryFields","_$Event_6","_$asyncEvery_7","cb","index","next","_$callbackRunner_9","callbacks","onCallbackError","runMaybeAsyncCallback","ret","then","setTimeout","_$syncCallbackRunner_23","callbackArg","callbackType","ignore","cbs","_$pad_29","num","size","substr","env","self","globalCount","mimeTypesLength","navigator","mimeTypes","clientId","userAgent","_$fingerprint_28","c","blockSize","base","discreteValues","Math","pow","randomBlock","random","safeCounter","cuid","getTime","fingerprint","_$cuid_27","_$Session_35","Session","startedAt","_handled","_unhandled","events","handled","_track","__add_4","__clear_4","__merge_4","noop","Client","configuration","internalPlugins","notifier","_this","_notifier","_config","_schema","_delivery","sendSession","sendEvent","_logger","info","_plugins","_breadcrumbs","_context","_cbs","sp","b","_configure","pl","_loadPlugin","_depth","getContext","setContext","plugin","configSchema","_reduce","config","generateConfigErrorMessage","getPlugin","_setDelivery","d","startSession","version","_sessionDelegate","addOnError","front","removeOnError","_addOnSessionPayload","addOnSession","removeOnSession","addOnBreadcrumb","removeOnBreadcrumb","pauseSession","resumeSession","leaveBreadcrumb","crumb","_isBreadcrumbTypeEnabled","types","postReportCallback","_notify","_this2","originalSeverity","shouldSend","unhandledOverridden","rawInput","_$Client_4","_$jsonPayload_21","EVENT_REDACTION_PATHS","payload","_$delivery_36","client","win","url","getApiUrl","body","req","XDomainRequest","onload","onerror","toFixed","open","send","endpoint","isoDate","matchPageProtocol","protocol","encodeURIComponent","_matchPageProtocol","pageProtocol","_$delivery_37","XMLHttpRequest","onreadystatechange","readyState","DONE","status","setRequestHeader","toISOString","appStart","reset","_$app_38","now","duration","_$context_39","pathname","_$pad_43","__env_42","__globalCount_42","__prop_42","__mimeTypesLength_42","__clientId_42","_$fingerprint_42","__c_41","__blockSize_41","__base_41","__discreteValues_41","__randomBlock_41","__safeCounter_41","__cuid_41","_$cuid_41","BUGSNAG_ANONYMOUS_ID_KEY","getDeviceId","storage","localStorage","getItem","setItem","_$device_40","nav","locale","browserLanguage","systemLanguage","userLanguage","language","screen","orientation","document","documentElement","clientWidth","clientHeight","generateAnonymousId","collectUserIp","setDefaultUserId","time","eventOrSession","_$request_44","href","_$session_45","sessionDelegate","sessionClient","_pausedSession","_$clientIp_46","clientIp","_$consoleBreadcrumbs_47","CONSOLE_LOG_METHODS","original","_len","_key","arg","stringified","_restore","MAX_LINE_LENGTH","MAX_SCRIPT_LENGTH","_$inlineScriptContent_48","doc","trackInlineScripts","originalLocation","html","DOMContentLoaded","attachEvent","getHtml","outerHTML","prev","_lastScript","updateLastScript","script","getCurrentScript","currentScript","scripts","getElementsByTagName","addSurroundingCode","htmlLines","zeroBasedLine","start","end","cleanUrl","content","innerHTML","_setTimeout","__proxy","__traceOriginalScript","eventTargetCallbackAccessor","callbackAccessor","alsoCallOriginal","cba","__trace__","replacement","isEventHandlerObj","handleEvent","_$interactionBreadcrumbs_49","addEventListener","targetText","targetSelector","getNodeText","getNodeSelector","trim","el","text","textContent","innerText","tagName","className","querySelectorAll","parentNode","childNodes","_$navigationBreadcrumbs_50","drop","oldURL","from","relativeLocation","to","newURL","getCurrentState","history","replaceState","wrapHistoryFn","pushState","a","createElement","search","hash","stateChangeToMetadata","title","currentPath","prevState","orig","resetEventCount","BREADCRUMB_TYPE","_$networkBreadcrumbs_51","_ignoredUrls","ignoredUrls","monkeyPatchXMLHttpRequest","monkeyPatchFetch","handleFetchSuccess","response","handleFetchError","nativeOpen","requestSetupKey","handleXHRError","handleXHRLoad","removeEventListener","fetch","polyfill","oldFetch","_arguments","urlOrRequest","options","Promise","resolve","reject","_$throttle_52","maxEvents","_$stripQueryString_53","strip","allFrames","_strip","_$onerror_54","prevOnError","messageOrEvent","lineNo","charNo","decorateStack","detail","extraParameters","culprit","isActualNumber","errorCharacter","_$unhandledRejection_55","listener","evt","isBluebird","fixBluebirdStacktrace","_event$addMetadata","onunhandledrejection","promise","_$notifier_2","__schema_2","Bugsnag","_client","createClient","bugsnag","isStarted","m","_$src_1","_assertThisInitialized","ReferenceError","_inheritsLoose","subClass","superClass","constructor","_setPrototypeOf","setPrototypeOf","__proto__","BugsnagPluginReact","globalReact","React","lazy","ErrorBoundary","createClass","createErrorBoundary","BugsnagPluginReactLazyInitializer","formatComponentStack","_React$Component","handleClearError","_proto2","setState","componentDidCatch","componentStack","render","FallbackComponent","clearError","children","Component","token","singleMatcher","multiMatcher","decodeComponents","components","decodeURIComponent","left","right","decode","input","encodedURI","replaceMap","entries","keys","customDecodeURIComponent","canUseDOM","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","predicate","isArr","isArray","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","strictUriEncode","decodeComponent","splitOnFirst","filterObject","validateArrayFormatSeparator","encode","strict","keysSorter","sort","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","parseBooleans","query","arrayFormat","arrayFormatSeparator","formatter","accumulator","includes","isEncodedArray","newValue","parserForArrayFormat","param","reduce","shouldFilter","skipNull","skipEmptyString","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","nextProps","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","defineProperty","bodyOpenClassName","portalClassName","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","__esModule","newObj","default","_interopRequireWildcard","_safeHTMLElement","_safeHTMLElement2","_reactLifecyclesCompat","_possibleConstructorReturn","isReact16","createPortal","createHTMLElement","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","Modal","_Component","_temp","instance","_classCallCheck","getPrototypeOf","removePortal","unmountComponentAtNode","parent","contains","removeChild","portalRef","ref","portal","renderPortal","defaultStyles","_inherits","appendChild","prevParent","nextParent","_","_props","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","setElement","propTypes","style","overlay","htmlOpenClassName","afterOpen","overlayClassName","appElement","SafeHTMLCollection","SafeNodeList","onAfterOpen","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","aria","role","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","overlayElement","contentElement","defaultProps","contentEl","position","top","bottom","backgroundColor","border","background","overflow","WebkitOverflowScrolling","borderRadius","outline","padding","_typeof","Symbol","iterator","focusManager","_scopeTab2","classList","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","parentDocument","ownerDocument","remove","show","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","beforeOpen","clearTimeout","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","requestAnimationFrame","overlayEl","close","closeWithoutTimeout","focusContent","contentHasFocus","focus","handleKeyDown","keyCode","isTabKey","isEscKey","stopPropagation","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","preventDefault","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","activeElement","buildClassName","which","additional","classNames","attributesFromObject","prefix","items","acc","moveFromContentToOverlay","cancelAnimationFrame","hide","register","_props2","contentStyles","overlayStyles","overlayProps","onClick","onMouseDown","contentProps","tabIndex","onKeyDown","onMouseUp","modal","testId","resetState","globalElement","removeAttribute","forEach","assertNodeList","useElement","validateElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","done","setAttribute","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","selector","HTMLCollection","NodeList","_arr","before","after","_i","instances","_arr2","_i2","check","nodeName","_portalOpenInstances","subscribe","eventType","openInstances","opacity","cloneNode","firstChild","insertBefore","lastChild","parentElement","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","at","classString","classListRef","poll","incrementReference","decrementReference","focusLaterElements","handleBlur","handleFocus","toFocus","modalElement","detachEvent","_tabbable","_tabbable2","needToFocus","portalOpenInstances","PortalOpenInstances","openInstance","emit","splice","callback","subscribers","subscriber","_exenv","EE","SafeHTMLElement","HTMLElement","tabbable","shiftKey","head","tail","getActiveElement","checkSafari","shadowRoot","findTabbableDescendants","descendants","finished","DISPLAY_NONE","DISPLAY_CONTENTS","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","getComputedStyle","displayValue","getPropertyValue","scrollWidth","scrollHeight","isNotOverflowing","exception","focusable","isTabIndexNotNaN","disabled","rootNode","getRootNode","visible","getAttribute","isTabIndexNaN","_Modal","_Modal2","_pt","_interopDefaultLegacy","_pt__default","React__default","Modal__default","ReactSlidingPane","subtitle","closeIcon","_ref$from","width","_ref$hideHeader","hideHeader","directionClass","initialValue","isMountedRef","useRef","useEffect","current","useStateResult","useState","useUpdateStateIfMounted","wasOpen","setWasOpen","IconClose","xmlns","viewBox","fill","fillRule","separator","separatorIndex","charCodeAt","warning"],"sourceRoot":""}