{"version":3,"file":"app.s2018-final.min.js","mappings":"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","sources":["/node_modules/@bugsnag/browser/dist/bugsnag.js","/node_modules/@bugsnag/js/browser/notifier.js","/node_modules/core-js/internals/a-callable.js","/node_modules/core-js/internals/a-constructor.js","/node_modules/core-js/internals/a-possible-prototype.js","/node_modules/core-js/internals/add-to-unscopables.js","/node_modules/core-js/internals/an-instance.js","/node_modules/core-js/internals/an-object.js","/node_modules/core-js/internals/array-includes.js","/node_modules/core-js/internals/array-method-is-strict.js","/node_modules/core-js/internals/array-set-length.js","/node_modules/core-js/internals/array-slice.js","/node_modules/core-js/internals/array-sort.js","/node_modules/core-js/internals/check-correctness-of-iteration.js","/node_modules/core-js/internals/classof-raw.js","/node_modules/core-js/internals/classof.js","/node_modules/core-js/internals/copy-constructor-properties.js","/node_modules/core-js/internals/correct-prototype-getter.js","/node_modules/core-js/internals/create-iter-result-object.js","/node_modules/core-js/internals/create-non-enumerable-property.js","/node_modules/core-js/internals/create-property-descriptor.js","/node_modules/core-js/internals/define-built-in-accessor.js","/node_modules/core-js/internals/define-built-in.js","/node_modules/core-js/internals/define-global-property.js","/node_modules/core-js/internals/delete-property-or-throw.js","/node_modules/core-js/internals/descriptors.js","/node_modules/core-js/internals/document-create-element.js","/node_modules/core-js/internals/does-not-exceed-safe-integer.js","/node_modules/core-js/internals/engine-ff-version.js","/node_modules/core-js/internals/engine-is-browser.js","/node_modules/core-js/internals/engine-is-deno.js","/node_modules/core-js/internals/engine-is-ie-or-edge.js","/node_modules/core-js/internals/engine-is-ios-pebble.js","/node_modules/core-js/internals/engine-is-ios.js","/node_modules/core-js/internals/engine-is-node.js","/node_modules/core-js/internals/engine-is-webos-webkit.js","/node_modules/core-js/internals/engine-user-agent.js","/node_modules/core-js/internals/engine-v8-version.js","/node_modules/core-js/internals/engine-webkit-version.js","/node_modules/core-js/internals/enum-bug-keys.js","/node_modules/core-js/internals/error-stack-clear.js","/node_modules/core-js/internals/error-stack-install.js","/node_modules/core-js/internals/error-stack-installable.js","/node_modules/core-js/internals/export.js","/node_modules/core-js/internals/fails.js","/node_modules/core-js/internals/function-apply.js","/node_modules/core-js/internals/function-bind-context.js","/node_modules/core-js/internals/function-bind-native.js","/node_modules/core-js/internals/function-call.js","/node_modules/core-js/internals/function-name.js","/node_modules/core-js/internals/function-uncurry-this-accessor.js","/node_modules/core-js/internals/function-uncurry-this-clause.js","/node_modules/core-js/internals/function-uncurry-this.js","/node_modules/core-js/internals/get-built-in.js","/node_modules/core-js/internals/get-iterator-method.js","/node_modules/core-js/internals/get-iterator.js","/node_modules/core-js/internals/get-method.js","/node_modules/core-js/internals/global.js","/node_modules/core-js/internals/has-own-property.js","/node_modules/core-js/internals/hidden-keys.js","/node_modules/core-js/internals/host-report-errors.js","/node_modules/core-js/internals/html.js","/node_modules/core-js/internals/ie8-dom-define.js","/node_modules/core-js/internals/indexed-object.js","/node_modules/core-js/internals/inherit-if-required.js","/node_modules/core-js/internals/inspect-source.js","/node_modules/core-js/internals/install-error-cause.js","/node_modules/core-js/internals/internal-state.js","/node_modules/core-js/internals/is-array-iterator-method.js","/node_modules/core-js/internals/is-array.js","/node_modules/core-js/internals/is-callable.js","/node_modules/core-js/internals/is-constructor.js","/node_modules/core-js/internals/is-forced.js","/node_modules/core-js/internals/is-null-or-undefined.js","/node_modules/core-js/internals/is-object.js","/node_modules/core-js/internals/is-possible-prototype.js","/node_modules/core-js/internals/is-pure.js","/node_modules/core-js/internals/is-regexp.js","/node_modules/core-js/internals/is-symbol.js","/node_modules/core-js/internals/iterate.js","/node_modules/core-js/internals/iterator-close.js","/node_modules/core-js/internals/iterator-create-constructor.js","/node_modules/core-js/internals/iterator-define.js","/node_modules/core-js/internals/iterators-core.js","/node_modules/core-js/internals/iterators.js","/node_modules/core-js/internals/length-of-array-like.js","/node_modules/core-js/internals/make-built-in.js","/node_modules/core-js/internals/math-trunc.js","/node_modules/core-js/internals/microtask.js","/node_modules/core-js/internals/new-promise-capability.js","/node_modules/core-js/internals/normalize-string-argument.js","/node_modules/core-js/internals/object-create.js","/node_modules/core-js/internals/object-define-properties.js","/node_modules/core-js/internals/object-define-property.js","/node_modules/core-js/internals/object-get-own-property-descriptor.js","/node_modules/core-js/internals/object-get-own-property-names.js","/node_modules/core-js/internals/object-get-own-property-symbols.js","/node_modules/core-js/internals/object-get-prototype-of.js","/node_modules/core-js/internals/object-is-prototype-of.js","/node_modules/core-js/internals/object-keys-internal.js","/node_modules/core-js/internals/object-keys.js","/node_modules/core-js/internals/object-property-is-enumerable.js","/node_modules/core-js/internals/object-set-prototype-of.js","/node_modules/core-js/internals/ordinary-to-primitive.js","/node_modules/core-js/internals/own-keys.js","/node_modules/core-js/internals/perform.js","/node_modules/core-js/internals/promise-constructor-detection.js","/node_modules/core-js/internals/promise-native-constructor.js","/node_modules/core-js/internals/promise-resolve.js","/node_modules/core-js/internals/promise-statics-incorrect-iteration.js","/node_modules/core-js/internals/proxy-accessor.js","/node_modules/core-js/internals/queue.js","/node_modules/core-js/internals/regexp-exec.js","/node_modules/core-js/internals/regexp-flags.js","/node_modules/core-js/internals/regexp-get-flags.js","/node_modules/core-js/internals/regexp-sticky-helpers.js","/node_modules/core-js/internals/regexp-unsupported-dot-all.js","/node_modules/core-js/internals/regexp-unsupported-ncg.js","/node_modules/core-js/internals/require-object-coercible.js","/node_modules/core-js/internals/safe-get-built-in.js","/node_modules/core-js/internals/set-species.js","/node_modules/core-js/internals/set-to-string-tag.js","/node_modules/core-js/internals/shared-key.js","/node_modules/core-js/internals/shared-store.js","/node_modules/core-js/internals/shared.js","/node_modules/core-js/internals/species-constructor.js","/node_modules/core-js/internals/symbol-constructor-detection.js","/node_modules/core-js/internals/task.js","/node_modules/core-js/internals/to-absolute-index.js","/node_modules/core-js/internals/to-indexed-object.js","/node_modules/core-js/internals/to-integer-or-infinity.js","/node_modules/core-js/internals/to-length.js","/node_modules/core-js/internals/to-object.js","/node_modules/core-js/internals/to-primitive.js","/node_modules/core-js/internals/to-property-key.js","/node_modules/core-js/internals/to-string-tag-support.js","/node_modules/core-js/internals/to-string.js","/node_modules/core-js/internals/try-to-string.js","/node_modules/core-js/internals/uid.js","/node_modules/core-js/internals/use-symbol-as-uid.js","/node_modules/core-js/internals/v8-prototype-define-bug.js","/node_modules/core-js/internals/validate-arguments-length.js","/node_modules/core-js/internals/weak-map-basic-detection.js","/node_modules/core-js/internals/well-known-symbol.js","/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","/node_modules/core-js/modules/es.array.includes.js","/node_modules/core-js/modules/es.array.iterator.js","/node_modules/core-js/modules/es.array.push.js","/node_modules/core-js/modules/es.array.sort.js","/node_modules/core-js/modules/es.array.unshift.js","/node_modules/core-js/modules/es.error.cause.js","/node_modules/core-js/modules/es.global-this.js","/node_modules/core-js/modules/es.promise.all.js","/node_modules/core-js/modules/es.promise.catch.js","/node_modules/core-js/modules/es.promise.constructor.js","/node_modules/core-js/modules/es.promise.js","/node_modules/core-js/modules/es.promise.race.js","/node_modules/core-js/modules/es.promise.reject.js","/node_modules/core-js/modules/es.promise.resolve.js","/node_modules/core-js/modules/es.regexp.constructor.js","/node_modules/core-js/modules/es.regexp.dot-all.js","/node_modules/core-js/modules/es.regexp.exec.js","/node_modules/core-js/modules/web.self.js","webpack/bootstrap","webpack/runtime/amd options","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","/packages/bugsnag-config/lib/bugsnag-config.ts","/node_modules/@mrhenry/core-web/modules/IntersectionObserver.js","/node_modules/@mrhenry/core-web/modules/MediaQueryList.prototype.addEventListener.js","/packages/autoplay-in-view/lib/autoplay-in-view.ts","/packages/mr-interactive/lib/cookie/cookie.ts","/packages/mr-interactive/lib/privacy-controls/embeds/embeds.ts","/node_modules/@mrhenry/core-web/modules/~custom-elements.js","/packages/mr-interactive/lib/mr-input-sink/mr-input-sink.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/input-sink.ts","/node_modules/@mrhenry/core-web/modules/HTMLElement.prototype.inert.js","/packages/mr-interactive/lib/mr-accordion/mr-accordion.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/mr-accordion.ts","/node_modules/@mrhenry/core-web/modules/ResizeObserver.js","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/mr-hotspot.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/mr-video.ts","/packages/prefers-reduced-motion/lib/prefers-reduced-motion.ts","/packages/play-all-animations/lib/play-all-animations.ts","/packages/mr-interactive/lib/mr-dialog/mr-dialog.ts","/packages/mr-interactive/lib/mr-modal-dialog/mr-modal-dialog.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/mr-video-overlay.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/navigation-overlay.ts","/packages/mr-interactive/lib/media/playback/play-pause-toggle.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/play-pause-toggle.ts","/wp-content/themes/designs-of-the-time/gulp/assets/js/modules/track-link-clicks.ts","/packages/mr-interactive/lib/privacy-controls/embeds/embeds-setup.ts","/packages/mr-interactive/lib/privacy-controls/do-not-track/do-not-track.ts"],"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 // 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 // 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\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.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 _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 };\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 trimStart = /^\\s+/;\nvar trimEnd = /(^|[^\\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(trimStart, '').replace(trimEnd, '$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.22.4';\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","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = new Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.36.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\n\n// IE8-\nvar INCORRECT_RESULT = [].unshift(0) !== 1;\n\n// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).unshift();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength();\n\n// `Array.prototype.unshift` method\n// https://tc39.es/ecma262/#sec-array.prototype.unshift\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n unshift: function unshift(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n if (argCount) {\n doesNotExceedSafeInteger(len + argCount);\n var k = len;\n while (k--) {\n var to = k + argCount;\n if (k in O) O[to] = O[k];\n else deletePropertyOrThrow(O, to);\n }\n for (var j = 0; j < argCount; j++) {\n O[j] = arguments[j];\n }\n } return setArrayLength(O, len + argCount);\n }\n});\n","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\n// eslint-disable-next-line es/no-error-cause -- feature detection\nvar FORCED = new Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: global.globalThis !== global }, {\n globalThis: global\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(global, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar classof = require('../internals/classof-raw');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar $TypeError = TypeError;\n\n// `RegExp.prototype.dotAll` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall\nif (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {\n defineBuiltInAccessor(RegExpPrototype, 'dotAll', {\n configurable: true,\n get: function dotAll() {\n if (this === RegExpPrototype) return;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).dotAll;\n }\n throw new $TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar INCORRECT_VALUE = global.self !== global;\n\n// `self` getter\n// https://html.spec.whatwg.org/multipage/window-object.html#dom-self\ntry {\n if (DESCRIPTORS) {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var descriptor = Object.getOwnPropertyDescriptor(global, 'self');\n // some engines have `self`, but with incorrect descriptor\n // https://github.com/denoland/deno/issues/15765\n if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) {\n defineBuiltInAccessor(global, 'self', {\n get: function self() {\n return global;\n },\n set: function self(value) {\n if (this !== global) throw new $TypeError('Illegal invocation');\n defineProperty(global, 'self', {\n value: value,\n writable: true,\n configurable: true,\n enumerable: true\n });\n },\n configurable: true,\n enumerable: true\n });\n }\n } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, {\n self: global\n });\n} catch (error) { /* empty */ }\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Bugsnag, { Client } from '@bugsnag/js';\n\ndeclare global {\n\tinterface Window {\n\t\tbugsnagClient: Client\n\t}\n}\n\nconst metaValue = ( name: string ): string | null => {\n\tif ( !document || !document.head ) {\n\t\treturn null;\n\t}\n\n\tconst metaTag: HTMLMetaElement | null = document.head.querySelector( 'meta[name=\"' + name + '\"][content]' );\n\tif ( !metaTag || !metaTag.content ) {\n\t\treturn null;\n\t}\n\n\treturn metaTag.content;\n};\n\nexport const bugsnagClient = Bugsnag.createClient( {\n\tapiKey: metaValue( 'mrh:bugsnag' ) || '',\n\tappType: metaValue( 'mrh:theme' ) || 'unknown theme',\n\tautoTrackSessions: false,\n\tcollectUserIp: false,\n\tenabledReleaseStages: [\n\t\t'production',\n\t],\n\tgenerateAnonymousId: true,\n\treleaseStage: metaValue( 'mrh:stage' ) || 'production',\n\tonError: ( event ) => {\n\t\t// Update Context\n\t\tconst theme = metaValue( 'mrh:theme' );\n\t\tif ( theme ) {\n\t\t\tevent.context = event.context + ' - ' + theme;\n\t\t}\n\n\t\t// Update Meta Data\n\t\tconst id = metaValue( 'mrh:id' );\n\t\tif ( id && theme ) {\n\t\t\tevent.addMetadata( 'site', {\n\t\t\t\tid: id,\n\t\t\t\ttheme: theme,\n\t\t\t} );\n\t\t}\n\n\t\tconst target = metaValue( 'mrh:browser-target' );\n\t\tif ( target ) {\n\t\t\tevent.addMetadata( 'js-bundle', {\n\t\t\t\ttarget: metaValue( 'mrh:browser-target' ),\n\t\t\t} );\n\t\t}\n\t},\n} );\n\nwindow.bugsnagClient = bugsnagClient;\n","(function(undefined) {\nif (!(\"IntersectionObserver\"in window&&\"IntersectionObserverEntry\"in window&&\"intersectionRatio\"in window.IntersectionObserverEntry.prototype\n)) {\n// IntersectionObserver\n/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n\n(function(window, document) {\n'use strict';\n\nvar supportedNatively = 'IntersectionObserver' in window &&\n'IntersectionObserverEntry' in window &&\n'intersectionRatio' in window.IntersectionObserverEntry.prototype;\n\nif (supportedNatively) {\n\treturn;\n}\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n\tthis.time = entry.time;\n\tthis.target = entry.target;\n\tthis.rootBounds = entry.rootBounds;\n\tthis.boundingClientRect = entry.boundingClientRect;\n\tthis.intersectionRect = entry.intersectionRect || getEmptyRect();\n\ttry {\n\t\tthis.isIntersecting = !!entry.intersectionRect;\n\t} catch (err) {\n\t\t// This means we are using the IntersectionObserverEntry polyfill which has only defined a getter\n\t}\n\n\t// Calculates the intersection ratio.\n\tvar targetRect = this.boundingClientRect;\n\tvar targetArea = targetRect.width * targetRect.height;\n\tvar intersectionRect = this.intersectionRect;\n\tvar intersectionArea = intersectionRect.width * intersectionRect.height;\n\n\t// Sets intersection ratio.\n\tif (targetArea) {\n\t\t// Round the intersection ratio to avoid floating point math issues:\n\t\t// https://github.com/w3c/IntersectionObserver/issues/324\n\t\tthis.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n\t} else {\n\t\t// If area is zero and is intersecting, sets to 1, otherwise to 0\n\t\tthis.intersectionRatio = this.isIntersecting ? 1 : 0;\n\t}\n}\n\nIntersectionObserverEntry.prototype.intersectionRatio = 0;\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n\tvar options = opt_options || {};\n\n\tif (typeof callback != 'function') {\n\t\tthrow new Error('callback must be a function');\n\t}\n\n\tif (options.root && options.root.nodeType != 1) {\n\t\tthrow new Error('root must be an Element');\n\t}\n\n\t// Binds and throttles `this._checkForIntersections`.\n\tthis._checkForIntersections = throttle(\n\t\t\tthis._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n\t// Private properties.\n\tthis._callback = callback;\n\tthis._observationTargets = [];\n\tthis._queuedEntries = [];\n\tthis._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n\t// Public properties.\n\tthis.thresholds = this._initThresholds(options.threshold);\n\tthis.root = options.root || null;\n\tthis.rootMargin = this._rootMarginValues.map(function(margin) {\n\t\treturn margin.value + margin.unit;\n\t}).join(' ');\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n\tvar isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n\t\treturn item.element == target;\n\t});\n\n\tif (isTargetAlreadyObserved) {\n\t\treturn;\n\t}\n\n\tif (!(target && target.nodeType == 1)) {\n\t\tthrow new Error('target must be an Element');\n\t}\n\n\tthis._registerInstance();\n\tthis._observationTargets.push({element: target, entry: null});\n\tthis._monitorIntersections();\n\tthis._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n\tthis._observationTargets =\n\t\t\tthis._observationTargets.filter(function(item) {\n\n\t\treturn item.element != target;\n\t});\n\tif (!this._observationTargets.length) {\n\t\tthis._unmonitorIntersections();\n\t\tthis._unregisterInstance();\n\t}\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n\tthis._observationTargets = [];\n\tthis._unmonitorIntersections();\n\tthis._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n\tvar records = this._queuedEntries.slice();\n\tthis._queuedEntries = [];\n\treturn records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n\tvar threshold = opt_threshold || [0];\n\tif (!Array.isArray(threshold)) threshold = [threshold];\n\n\treturn threshold.sort().filter(function(t, i, a) {\n\t\tif (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n\t\t\tthrow new Error('threshold must be a number between 0 and 1 inclusively');\n\t\t}\n\t\treturn t !== a[i - 1];\n\t});\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n\tvar marginString = opt_rootMargin || '0px';\n\tvar margins = marginString.split(/\\s+/).map(function(margin) {\n\t\tvar parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n\t\tif (!parts) {\n\t\t\tthrow new Error('rootMargin must be specified in pixels or percent');\n\t\t}\n\t\treturn {value: parseFloat(parts[1]), unit: parts[2]};\n\t});\n\n\t// Handles shorthand.\n\tmargins[1] = margins[1] || margins[0];\n\tmargins[2] = margins[2] || margins[0];\n\tmargins[3] = margins[3] || margins[1];\n\n\treturn margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function() {\n\tif (!this._monitoringIntersections) {\n\t\tthis._monitoringIntersections = true;\n\n\t\t// If a poll interval is set, use polling instead of listening to\n\t\t// resize and scroll events or DOM mutations.\n\t\tif (this.POLL_INTERVAL) {\n\t\t\tthis._monitoringInterval = setInterval(\n\t\t\t\t\tthis._checkForIntersections, this.POLL_INTERVAL);\n\t\t}\n\t\telse {\n\t\t\taddEvent(window, 'resize', this._checkForIntersections, true);\n\t\t\taddEvent(document, 'scroll', this._checkForIntersections, true);\n\n\t\t\tif (this.USE_MUTATION_OBSERVER && 'MutationObserver' in window) {\n\t\t\t\tthis._domObserver = new MutationObserver(this._checkForIntersections);\n\t\t\t\tthis._domObserver.observe(document, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function() {\n\tif (this._monitoringIntersections) {\n\t\tthis._monitoringIntersections = false;\n\n\t\tclearInterval(this._monitoringInterval);\n\t\tthis._monitoringInterval = null;\n\n\t\tremoveEvent(window, 'resize', this._checkForIntersections, true);\n\t\tremoveEvent(document, 'scroll', this._checkForIntersections, true);\n\n\t\tif (this._domObserver) {\n\t\t\tthis._domObserver.disconnect();\n\t\t\tthis._domObserver = null;\n\t\t}\n\t}\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n\tvar rootIsInDom = this._rootIsInDom();\n\tvar rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n\tthis._observationTargets.forEach(function(item) {\n\t\tvar target = item.element;\n\t\tvar targetRect = getBoundingClientRect(target);\n\t\tvar rootContainsTarget = this._rootContainsTarget(target);\n\t\tvar oldEntry = item.entry;\n\t\tvar intersectionRect = rootIsInDom && rootContainsTarget &&\n\t\t\t\tthis._computeTargetAndRootIntersection(target, rootRect);\n\n\t\tvar newEntry = item.entry = new IntersectionObserverEntry({\n\t\t\ttime: now(),\n\t\t\ttarget: target,\n\t\t\tboundingClientRect: targetRect,\n\t\t\trootBounds: rootRect,\n\t\t\tintersectionRect: intersectionRect\n\t\t});\n\n\t\tif (!oldEntry) {\n\t\t\tthis._queuedEntries.push(newEntry);\n\t\t} else if (rootIsInDom && rootContainsTarget) {\n\t\t\t// If the new entry intersection ratio has crossed any of the\n\t\t\t// thresholds, add a new entry.\n\t\t\tif (this._hasCrossedThreshold(oldEntry, newEntry)) {\n\t\t\t\tthis._queuedEntries.push(newEntry);\n\t\t\t}\n\t\t} else {\n\t\t\t// If the root is not in the DOM or target is not contained within\n\t\t\t// root but the previous entry for this target had an intersection,\n\t\t\t// add a new record indicating removal.\n\t\t\tif (oldEntry && oldEntry.isIntersecting) {\n\t\t\t\tthis._queuedEntries.push(newEntry);\n\t\t\t}\n\t\t}\n\t}, this);\n\n\tif (this._queuedEntries.length) {\n\t\tthis._callback(this.takeRecords(), this);\n\t}\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n\t\tfunction(target, rootRect) {\n\n\t// If the element isn't displayed, an intersection can't happen.\n\tif (window.getComputedStyle(target).display == 'none') return;\n\n\tvar targetRect = getBoundingClientRect(target);\n\tvar intersectionRect = targetRect;\n\tvar parent = getParentNode(target);\n\tvar atRoot = false;\n\n\twhile (!atRoot) {\n\t\tvar parentRect = null;\n\t\tvar parentComputedStyle = parent.nodeType == 1 ?\n\t\t\t\twindow.getComputedStyle(parent) : {};\n\n\t\t// If the parent isn't displayed, an intersection can't happen.\n\t\tif (parentComputedStyle.display == 'none') return;\n\n\t\tif (parent == this.root || parent == document) {\n\t\t\tatRoot = true;\n\t\t\tparentRect = rootRect;\n\t\t} else {\n\t\t\t// If the element has a non-visible overflow, and it's not the \n\t\t\t// or element, update the intersection rect.\n\t\t\t// Note: and cannot be clipped to a rect that's not also\n\t\t\t// the document rect, so no need to compute a new intersection.\n\t\t\tif (parent != document.body &&\n\t\t\t\t\tparent != document.documentElement &&\n\t\t\t\t\tparentComputedStyle.overflow != 'visible') {\n\t\t\t\tparentRect = getBoundingClientRect(parent);\n\t\t\t}\n\t\t}\n\n\t\t// If either of the above conditionals set a new parentRect,\n\t\t// calculate new intersection data.\n\t\tif (parentRect) {\n\t\t\tintersectionRect = computeRectIntersection(parentRect, intersectionRect);\n\n\t\t\tif (!intersectionRect) break;\n\t\t}\n\t\tparent = getParentNode(parent);\n\t}\n\treturn intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {Object} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n\tvar rootRect;\n\tif (this.root) {\n\t\trootRect = getBoundingClientRect(this.root);\n\t} else {\n\t\t// Use / instead of window since scroll bars affect size.\n\t\tvar html = document.documentElement;\n\t\tvar body = document.body;\n\t\trootRect = {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t\tright: html.clientWidth || body.clientWidth,\n\t\t\twidth: html.clientWidth || body.clientWidth,\n\t\t\tbottom: html.clientHeight || body.clientHeight,\n\t\t\theight: html.clientHeight || body.clientHeight\n\t\t};\n\t}\n\treturn this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {Object} rect The rect object to expand.\n * @return {Object} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n\tvar margins = this._rootMarginValues.map(function(margin, i) {\n\t\treturn margin.unit == 'px' ? margin.value :\n\t\t\t\tmargin.value * (i % 2 ? rect.width : rect.height) / 100;\n\t});\n\tvar newRect = {\n\t\ttop: rect.top - margins[0],\n\t\tright: rect.right + margins[1],\n\t\tbottom: rect.bottom + margins[2],\n\t\tleft: rect.left - margins[3]\n\t};\n\tnewRect.width = newRect.right - newRect.left;\n\tnewRect.height = newRect.bottom - newRect.top;\n\tnewRect.x = newRect.left;\n\tnewRect.y = newRect.top;\n\n\treturn newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n\t\tfunction(oldEntry, newEntry) {\n\n\t// To make comparing easier, an entry that has a ratio of 0\n\t// but does not actually intersect is given a value of -1\n\tvar oldRatio = oldEntry && oldEntry.isIntersecting ?\n\t\t\toldEntry.intersectionRatio || 0 : -1;\n\tvar newRatio = newEntry.isIntersecting ?\n\t\t\tnewEntry.intersectionRatio || 0 : -1;\n\n\t// Ignore unchanged ratios\n\tif (oldRatio === newRatio) return;\n\n\tfor (var i = 0; i < this.thresholds.length; i++) {\n\t\tvar threshold = this.thresholds[i];\n\n\t\t// Return true if an entry matches a threshold or if the new ratio\n\t\t// and the old ratio are on the opposite sides of a threshold.\n\t\tif (threshold == oldRatio || threshold == newRatio ||\n\t\t\t\tthreshold < oldRatio !== threshold < newRatio) {\n\t\t\treturn true;\n\t\t}\n\t}\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n\treturn !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n\treturn containsDeep(this.root || document, target);\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n\tif (registry.indexOf(this) < 0) {\n\t\tregistry.push(this);\n\t}\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n\tvar index = registry.indexOf(this);\n\tif (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n\treturn window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n\tvar timer = null;\n\treturn function () {\n\t\tif (!timer) {\n\t\t\ttimer = setTimeout(function() {\n\t\t\t\tfn();\n\t\t\t\ttimer = null;\n\t\t\t}, timeout);\n\t\t}\n\t};\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n\tif (typeof node.addEventListener == 'function') {\n\t\tnode.addEventListener(event, fn, opt_useCapture || false);\n\t}\n\telse if (typeof node.attachEvent == 'function') {\n\t\tnode.attachEvent('on' + event, fn);\n\t}\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n\tif (typeof node.removeEventListener == 'function') {\n\t\tnode.removeEventListener(event, fn, opt_useCapture || false);\n\t}\n\telse if (typeof node.detatchEvent == 'function') {\n\t\tnode.detatchEvent('on' + event, fn);\n\t}\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object} The intersection rect or undefined if no intersection\n * is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n\tvar top = Math.max(rect1.top, rect2.top);\n\tvar bottom = Math.min(rect1.bottom, rect2.bottom);\n\tvar left = Math.max(rect1.left, rect2.left);\n\tvar right = Math.min(rect1.right, rect2.right);\n\tvar width = right - left;\n\tvar height = bottom - top;\n\n\treturn (width >= 0 && height >= 0) && {\n\t\tx: left,\n\t\ty: top,\n\t\ttop: top,\n\t\tbottom: bottom,\n\t\tleft: left,\n\t\tright: right,\n\t\twidth: width,\n\t\theight: height\n\t};\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {Object} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n\tvar rect;\n\n\ttry {\n\t\trect = el.getBoundingClientRect();\n\t} catch (err) {\n\t\t// Ignore Windows 7 IE11 \"Unspecified error\"\n\t\t// https://github.com/w3c/IntersectionObserver/pull/205\n\t}\n\n\tif (!rect) return getEmptyRect();\n\n\t// Older IE\n\tif (!(rect.width && rect.height && rect.x && rect.y)) {\n\t\trect = {\n\t\t\tx: rect.left,\n\t\t\ty: rect.top,\n\t\t\ttop: rect.top,\n\t\t\tright: rect.right,\n\t\t\tbottom: rect.bottom,\n\t\t\tleft: rect.left,\n\t\t\twidth: rect.right - rect.left,\n\t\t\theight: rect.bottom - rect.top\n\t\t};\n\t}\n\treturn rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {Object} The empty rect.\n */\nfunction getEmptyRect() {\n\treturn {\n\t\tx: 0,\n\t\ty: 0,\n\t\ttop: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\twidth: 0,\n\t\theight: 0\n\t};\n}\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n\tvar node = child;\n\twhile (node) {\n\t\tif (node == parent) return true;\n\n\t\tnode = getParentNode(node);\n\t}\n\treturn false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n\tvar parent = node.parentNode;\n\n\tif (parent && parent.nodeType == 11 && parent.host) {\n\t\t// If the parent is a shadow root, return the host element.\n\t\treturn parent.host;\n\t}\n\n\tif (parent && parent.assignedSlot) {\n\t\t// If the parent is distributed in a , return the parent of a slot.\n\t\treturn parent.assignedSlot.parentNode;\n\t}\n\n\treturn parent;\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}(window, document));\n}}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","(function(undefined) {\nif (!(\"matchMedia\"in self&&\"addEventListener\"in self.matchMedia(\"all\")\n)) {\n// MediaQueryList.prototype.addEventListener\n(function(global) {\n\t\"use strict\";\n\n\tfunction addEventListener(type, listener) {\n\t\tif (type === 'change') {\n\t\t\tthis.removeListener(listener);\n\t\t\tthis.addListener(listener);\n\t\t}\n\n\t\tif (arguments[2] && arguments[2].once) {\n\t\t\tvar _this = this;\n\t\t\tvar remover = function () {\n\t\t\t\t_this.removeListener(remover);\n\t\t\t\t_this.removeListener(listener);\n\t\t\t}\n\t\t\tthis.addListener(remover);\n\t\t}\n\t}\n\n\tfunction removeEventListener(type, listener) {\n\t\tif (type === 'change') {\n\t\t\tthis.removeListener(listener);\n\t\t}\n\t}\n\n\tvar onchangeDescriptor = {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: function () {\n\t\t\treturn this._onchangeHandler || null;\n\t\t},\n\t\tset: function (listener) {\n\t\t\tvar _this = this;\n\t\t\tif (!_this._onchangeListener) {\n\t\t\t\t_this._onchangeListener = function () {\n\t\t\t\t\tif (typeof _this._onchangeHandler !== 'function') {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t_this._onchangeHandler.call(_this, arguments[0]);\n\t\t\t\t};\n\n\t\t\t\t_this.addEventListener('change', _this._onchangeListener);\n\t\t\t}\n\n\t\t\t_this._onchangeHandler = listener;\n\t\t}\n\t};\n\n\tif ('MediaQueryList' in global) { /* Most browsers expose \"MediaQueryList\" globally */\n\t\tvar _addListener = global.MediaQueryList.prototype.addListener;\n\t\tvar _removeListener = global.MediaQueryList.prototype.removeListener;\n\n\t\tglobal.MediaQueryList.prototype.addListener = function addListener(listener) {\n\t\t\tvar handler = listener;\n\t\t\tif (handler.handleEvent) {\n\t\t\t\thandler = handler.handleEvent;\n\t\t\t}\n\n\t\t\t_addListener.call(this, handler);\n\t\t};\n\n\t\tglobal.MediaQueryList.prototype.removeListener = function removeListener(listener) {\n\t\t\tvar handler = listener;\n\t\t\tif (handler.handleEvent) {\n\t\t\t\thandler = handler.handleEvent;\n\t\t\t}\n\n\t\t\t_removeListener.call(this, handler);\n\t\t};\n\n\t\tglobal.MediaQueryList.prototype.addEventListener = addEventListener;\n\n\t\tglobal.MediaQueryList.prototype.removeEventListener = removeEventListener;\n\n\t\tglobal.Object.defineProperty(global.MediaQueryList.prototype, \"onchange\", onchangeDescriptor);\n\t} else { /* Safari does not expose \"MediaQueryList\" globally */\n\t\tvar _matchMedia = self.matchMedia;\n\n\t\tself.matchMedia = function matchMedia(media) {\n\t\t\tvar _mql = _matchMedia(media);\n\n\t\t\tvar _addListener = _mql.addListener;\n\t\t\tvar _removeListener = _mql.removeListener;\n\n\t\t\t_mql.addListener = function addListener(listener) {\n\t\t\t\tvar handler = listener;\n\t\t\t\tif (handler.handleEvent) {\n\t\t\t\t\thandler = handler.handleEvent;\n\t\t\t\t}\n\n\t\t\t\t_addListener.call(this, handler);\n\t\t\t};\n\n\t\t\t_mql.removeListener = function removeListener(listener) {\n\t\t\t\tvar handler = listener;\n\t\t\t\tif (handler.handleEvent) {\n\t\t\t\t\thandler = handler.handleEvent;\n\t\t\t\t}\n\n\t\t\t\t_removeListener.call(this, handler);\n\t\t\t};\n\n\t\t\t_mql.addEventListener = addEventListener;\n\n\t\t\t_mql.removeEventListener = removeEventListener;\n\n\t\t\tglobal.Object.defineProperty(_mql, \"onchange\", onchangeDescriptor);\n\n\t\t\treturn _mql;\n\t\t}\n\t}\n}(self));\n}}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","let observer: IntersectionObserver | null = null;\nif ( 'IntersectionObserver' in window ) {\n\tobserver = new IntersectionObserver( ( entries ) => {\n\t\tfor ( const entry of entries ) {\n\t\t\tif ( !( entry.target instanceof HTMLVideoElement ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\tplay( entry.target );\n\t\t\t} else {\n\t\t\t\tpause( entry.target );\n\t\t\t}\n\t\t}\n\t} );\n}\n\n// Respect the user's choice to reduce motion\nconst userPrefersReducedMotion = window.matchMedia( '(prefers-reduced-motion: reduce)' );\nuserPrefersReducedMotion.addEventListener( 'change', () => {\n\tif ( userPrefersReducedMotion.matches ) {\n\t\tgetVideos().forEach( ( video ) => {\n\t\t\tif ( videoClaimsToSupportPrefersReducedMotion( video ) ) {\n\t\t\t\tpause( video );\n\t\t\t}\n\t\t} );\n\n\t\treturn;\n\t}\n} );\n\n// You shall not waste things from the background!\n// Stop video playback when the page is hidden (user went to another tab)\ndocument.addEventListener( 'visibilitychange', () => {\n\n\t// pause all videos\n\tif ( 'hidden' === document.visibilityState ) {\n\t\tgetVideos().forEach( ( video ) => {\n\t\t\tpause( video );\n\t\t} );\n\n\t\treturn;\n\t}\n\n\tif ( 'visible' === document.visibilityState ) {\n\t\tif ( observer ) {\n\t\t\t// unpause all visible videos\n\t\t\tfor ( const entry of observer.takeRecords() ) {\n\t\t\t\tif ( !( entry.target instanceof HTMLVideoElement ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ( entry.isIntersecting ) {\n\t\t\t\t\tplay( entry.target );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// unpause all videos on Legacy browsers\n\t\t\tgetVideos().forEach( ( video ) => {\n\t\t\t\tplay( video );\n\t\t\t} );\n\t\t}\n\t}\n\n}, false );\n\ninit();\ndocument.addEventListener( 'readystatechange', init, false );\ndocument.addEventListener( 'autoplay-in-view:do-init', init, false );\n\nfunction init(): void {\n\tgetVideos().forEach( ( video ) => {\n\t\tif ( observer ) {\n\t\t\tobserver.observe( video );\n\n\t\t\treturn;\n\t\t}\n\n\t\tvideo.setAttribute( 'autoplay', '' );\n\t\tplay( video );\n\t} );\n}\n\n/** Unpause the video element\n *\n * IE may not return a promise. we assume it will Just Work (tm)(c)(r)\n * */\nasync function play( video: HTMLVideoElement ): Promise {\n\tif ( !video.src && !video.currentSrc ) {\n\t\treturn;\n\t}\n\tif ( !video.paused ) {\n\t\treturn;\n\t}\n\n\tif ( userPrefersReducedMotion.matches && videoClaimsToSupportPrefersReducedMotion( video ) ) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tawait video.play();\n\n\t\t// When the \"controls\" attribute is present the theme author is using these as a fallback for autoplay.\n\t\t// If we can start playback we remove these.\n\t\tvideo.removeAttribute( 'controls' );\n\n\t\t// If we suddenly can start playback, remove the network/ready state tracking.\n\t\thidePlaybackableState( video );\n\n\t} catch ( err ) {\n\t\tlet videoError = null;\n\t\tif ( video.error ) {\n\t\t\tvideoError = {\n\t\t\t\tcode: video.error.code,\n\t\t\t\tmessage: video.error.message,\n\t\t\t};\n\t\t}\n\n\t\tconsole.log( {\n\t\t\tmodule: '@mrhenry/wp--autoplay-in-view',\n\t\t\tmessage: 'start playback for video in viewport failed',\n\t\t\tvideoSrc: video.src,\n\t\t\terror: videoError,\n\t\t\treadyState: video.readyState,\n\t\t\tnetworkState: video.networkState,\n\t\t} );\n\n\t\texposePlaybackableState( video );\n\n\t\tvideo.removeEventListener( 'click', clickAfterFailedPlayAttemptEventHandler );\n\t\tvideo.addEventListener( 'click', clickAfterFailedPlayAttemptEventHandler, {\n\t\t\tonce: true,\n\t\t} );\n\n\t\tif ( isUnexpectedError( err ) && ( 'bugsnagClient' in window ) ) {\n\t\t\twindow.bugsnagClient.notify( err );\n\t\t} else {\n\t\t\tconsole.warn( err );\n\t\t}\n\t}\n}\n\nfunction getVideos(): NodeListOf {\n\treturn document.querySelectorAll( 'video[data-autoplay-in-view]' );\n}\n\nfunction pause( video: HTMLVideoElement ): void {\n\tif ( video.paused ) {\n\t\treturn;\n\t}\n\n\tvideo.pause();\n}\n\n// Some errors do not indicate a code bug.\n// They are the result of expected device settings, user interactions or a broken video.\n// We do not report this, but output as console.warn\nfunction isUnexpectedError( err: Error ): boolean {\n\tif ( err ) {\n\t\tswitch ( err.name ) {\n\t\t\tcase 'AbortError':\n\t\t\tcase 'PlayInterrupted':\n\t\t\tcase 'NotAllowedError':\n\t\t\tcase 'NotSupportedError':\n\t\t\t\treturn false;\n\t\t\tdefault:\n\t\t\t// docs are vague on error type/class checking.\n\t\t\t// add a log to collect some data\n\t\t\t\tconsole.log( err.name );\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction exposePlaybackableState( video: HTMLVideoElement ): void {\n\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState\n\tif ( 2 <= video.readyState ) {\n\t\t// We at minimum need \"HAVE_CURRENT_DATA\" which has a value of 2\n\t\treturn;\n\t}\n\n\t// \"readyState\" and \"networkState\" are exposed on error.\n\tvideo.setAttribute( 'data-aiv-ready-state', video.readyState.toString() );\n\tvideo.setAttribute( 'data-aiv-network-state', video.networkState.toString() );\n\n\t// Only add one event listener\n\tif ( !video.hasAttribute( 'data-aiv-tracking-ready-state' ) ) {\n\t\tvideo.setAttribute( 'data-aiv-tracking-ready-state', '' );\n\n\t\t// If the video element starts loading data we update state.\n\t\tvideo.addEventListener( 'loadeddata', playbackableStateEventHandler );\n\t}\n}\n\n// \"readyState\" and \"networkState\" are exposed on error.\n// If we can start playback we remove these.\nfunction hidePlaybackableState( video: HTMLVideoElement ): void {\n\tvideo.removeAttribute( 'data-aiv-ready-state' );\n\tvideo.removeAttribute( 'data-aiv-network-state' );\n\tvideo.removeAttribute( 'data-aiv-tracking-ready-state' );\n\tvideo.removeEventListener( 'loadeddata', playbackableStateEventHandler );\n}\n\nfunction playbackableStateEventHandler( this: HTMLVideoElement ) {\n\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState\n\tif ( 2 > this.readyState ) {\n\t\t// We at minimum need \"HAVE_CURRENT_DATA\" which has a value of 2\n\t\tthis.setAttribute( 'data-aiv-ready-state', this.readyState.toString() );\n\t\tthis.setAttribute( 'data-aiv-network-state', this.networkState.toString() );\n\n\t\treturn;\n\t}\n\n\thidePlaybackableState( this );\n}\n\nasync function clickAfterFailedPlayAttemptEventHandler( this: HTMLVideoElement, event: Event ) {\n\tif ( !event.isTrusted ) {\n\t\treturn;\n\t}\n\n\tif ( this.controls ) {\n\t\treturn;\n\t}\n\n\tif ( !this.paused ) {\n\t\treturn;\n\t}\n\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\n\ttry {\n\t\tawait this.play();\n\n\t\t// If we suddenly can start playback, remove the network/ready state tracking.\n\t\thidePlaybackableState( this );\n\n\t} catch ( err ) {\n\t\t// second attempt to start playback failed.\n\t\t// we do not report this, but output as console.warn\n\t\tconsole.warn( err );\n\t}\n}\n\nfunction videoClaimsToSupportPrefersReducedMotion( video: HTMLVideoElement ): boolean {\n\t// Only video's that have a play/pause button should claim this.\n\treturn video.matches( '[data-autoplay-in-view~=\"ignore-when-prefers-reduced-motion\"]' );\n}\n","// Naive implementation of key/value object packing for cookies used by Google/Youtube/...\n// - url safe\n// - compact\n//\n// Note : doesn't do any input validation.\n// If your inputs are bad this will bite you and I am ok with that.\n\nexport function unpackRecords( str: string ): Array<{ key: string, value: string }> {\n\tconst records: Array<{key: string, value:string}> = [];\n\n\tstr.split( '.' ).forEach( ( record ) => {\n\t\tconst pair = record.split( '+' );\n\t\tif ( !pair || !pair.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\trecords.push( {\n\t\t\tkey: pair[0],\n\t\t\tvalue: pair[1] || '',\n\t\t} );\n\t} );\n\n\treturn records;\n}\n\nexport function packRecords( records: Array<{ key: string, value: string }> ): string {\n\tconst out: Array = [];\n\n\trecords.forEach( ( record ) => {\n\t\tout.push( record.key + '+' + record.value );\n\t} );\n\n\treturn out.join( '.' );\n}\n","import * as Cookie from '../../cookie/cookie';\n\nexport function embedderIsEnabled( key: string ): boolean {\n\tconst match = document.cookie.match( new RegExp( '(^| )mr_prv_embedders=([^;]+)' ) );\n\tlet records: Array<{ key: string, value: string }> = [];\n\tif ( match && match[2] ) {\n\t\trecords = Cookie.unpackRecords( match[2] );\n\t}\n\n\trecords = records.filter( ( record ) => {\n\t\treturn record.key === key && '1' === record.value;\n\t} );\n\n\treturn 0 < records.length;\n}\n\nexport function enableEmbedder( key: string ): void {\n\tconst match = document.cookie.match( new RegExp( '(^| )mr_prv_embedders=([^;]+)' ) );\n\tlet records: Array<{ key: string, value: string }> = [];\n\tif ( match && match[2] ) {\n\t\trecords = Cookie.unpackRecords( match[2] );\n\t}\n\n\trecords = records.filter( ( record ) => {\n\t\treturn record.key !== key;\n\t} );\n\n\trecords.push( {\n\t\tkey: key,\n\t\tvalue: '1',\n\t} );\n\n\tconst expires = window.Mr_Prv_Embedder_Helpers.cookieExpiration();\n\n\tif ( window.Mr_Prv_Embedder_Helpers.cookieDomain() ) {\n\t\tdocument.cookie = `mr_prv_embedders=${Cookie.packRecords( records )}; domain=${window.Mr_Prv_Embedder_Helpers.cookieDomain()}; path=/; secure; samesite=lax; expires=` + expires.toUTCString();\n\t} else {\n\t\tdocument.cookie = `mr_prv_embedders=${Cookie.packRecords( records )}; path=/; secure; samesite=lax; expires=` + expires.toUTCString();\n\t}\n}\n\nexport function disableEmbedder( key: string ): void {\n\tconst match = document.cookie.match( new RegExp( '(^| )mr_prv_embedders=([^;]+)' ) );\n\tlet records: Array<{ key: string, value: string }> = [];\n\tif ( match && match[2] ) {\n\t\trecords = Cookie.unpackRecords( match[2] );\n\t}\n\n\trecords = records.filter( ( record ) => {\n\t\treturn record.key !== key;\n\t} );\n\n\trecords.push( {\n\t\tkey: key,\n\t\tvalue: '-1',\n\t} );\n\n\tconst expires = window.Mr_Prv_Embedder_Helpers.cookieExpiration();\n\n\tif ( window.Mr_Prv_Embedder_Helpers.cookieDomain() ) {\n\t\tdocument.cookie = `mr_prv_embedders=${Cookie.packRecords( records )}; domain=${window.Mr_Prv_Embedder_Helpers.cookieDomain()}; path=/; secure; samesite=lax; expires=` + expires.toUTCString();\n\t} else {\n\t\tdocument.cookie = `mr_prv_embedders=${Cookie.packRecords( records )}; path=/; secure; samesite=lax; expires=` + expires.toUTCString();\n\t}\n}\n",";(function(){ try { var _reflectConstructHack = Reflect.construct } catch(err) {} })();\n(function(){\n/*\n\n Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n This code may only be used under the BSD style license found at\n http://polymer.github.io/LICENSE.txt The complete set of authors may be found\n at http://polymer.github.io/AUTHORS.txt The complete set of contributors may\n be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by\n Google as part of the polymer project is also subject to an additional IP\n rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n'use strict';var n=window.Document.prototype.createElement,p=window.Document.prototype.createElementNS,aa=window.Document.prototype.importNode,ba=window.Document.prototype.prepend,ca=window.Document.prototype.append,da=window.DocumentFragment.prototype.prepend,ea=window.DocumentFragment.prototype.append,q=window.Node.prototype.cloneNode,r=window.Node.prototype.appendChild,t=window.Node.prototype.insertBefore,u=window.Node.prototype.removeChild,v=window.Node.prototype.replaceChild,w=Object.getOwnPropertyDescriptor(window.Node.prototype,\n\"textContent\"),y=window.Element.prototype.attachShadow,z=Object.getOwnPropertyDescriptor(window.Element.prototype,\"innerHTML\"),A=window.Element.prototype.getAttribute,B=window.Element.prototype.setAttribute,C=window.Element.prototype.removeAttribute,D=window.Element.prototype.toggleAttribute,E=window.Element.prototype.getAttributeNS,F=window.Element.prototype.setAttributeNS,G=window.Element.prototype.removeAttributeNS,H=window.Element.prototype.insertAdjacentElement,fa=window.Element.prototype.insertAdjacentHTML,\nha=window.Element.prototype.prepend,ia=window.Element.prototype.append,ja=window.Element.prototype.before,ka=window.Element.prototype.after,la=window.Element.prototype.replaceWith,ma=window.Element.prototype.remove,na=window.HTMLElement,I=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,\"innerHTML\"),oa=window.HTMLElement.prototype.insertAdjacentElement,pa=window.HTMLElement.prototype.insertAdjacentHTML;var qa=new Set;\"annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph\".split(\" \").forEach(function(a){return qa.add(a)});function ra(a){var b=qa.has(a);a=/^[a-z][.0-9_a-z]*-[-.0-9_a-z]*$/.test(a);return!b&&a}var sa=document.contains?document.contains.bind(document):document.documentElement.contains.bind(document.documentElement);\nfunction J(a){var b=a.isConnected;if(void 0!==b)return b;if(sa(a))return!0;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}function K(a){var b=a.children;if(b)return Array.prototype.slice.call(b);b=[];for(a=a.firstChild;a;a=a.nextSibling)a.nodeType===Node.ELEMENT_NODE&&b.push(a);return b}\nfunction L(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}\nfunction M(a,b,d){for(var f=a;f;){if(f.nodeType===Node.ELEMENT_NODE){var c=f;b(c);var e=c.localName;if(\"link\"===e&&\"import\"===c.getAttribute(\"rel\")){f=c.import;void 0===d&&(d=new Set);if(f instanceof Node&&!d.has(f))for(d.add(f),f=f.firstChild;f;f=f.nextSibling)M(f,b,d);f=L(a,c);continue}else if(\"template\"===e){f=L(a,c);continue}if(c=c.__CE_shadowRoot)for(c=c.firstChild;c;c=c.nextSibling)M(c,b,d)}f=f.firstChild?f.firstChild:L(a,f)}};function N(){var a=!(null===O||void 0===O||!O.noDocumentConstructionObserver),b=!(null===O||void 0===O||!O.shadyDomFastWalk);this.m=[];this.g=[];this.j=!1;this.shadyDomFastWalk=b;this.I=!a}function P(a,b,d,f){var c=window.ShadyDOM;if(a.shadyDomFastWalk&&c&&c.inUse){if(b.nodeType===Node.ELEMENT_NODE&&d(b),b.querySelectorAll)for(a=c.nativeMethods.querySelectorAll.call(b,\"*\"),b=0;b {\n\t\treturn [\n\t\t\t'data-directive',\n\t\t\t'disabled',\n\t\t\t'data-for',\n\t\t\t'data-keys',\n\t\t\t'data-directive-focusin',\n\t\t\t'data-directive-focusout',\n\t\t];\n\t}\n\n\t// Event Handlers\n\t#clickHandler = ( e: MouseEvent ): void => {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( e && e.metaKey ) { // ignore clicks with modifier keys : shift, ctrl, alt,...\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tthis.trigger( this.directive );\n\t};\n\n\t#focusinHandler = (): void => {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.trigger( this.directiveFocusin );\n\t};\n\n\t#focusoutHandler = (): void => {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.trigger( this.directiveFocusout );\n\t};\n\n\t#keydownHandler = ( e: KeyboardEvent ): void => {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !e.key ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst keysMiss = -1 === ( this.keys.indexOf( e.key.toString() ) );\n\t\tif ( keysMiss ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst forEl = this.forEl;\n\t\tif ( !forEl ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( document.activeElement !== forEl ) && ( !forEl.contains( document.activeElement ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tthis.trigger( this.directive );\n\t};\n\n\tconstructor() {\n\t\t// If you define a constructor, always call super() first!\n\t\t// This is specific to CE and required by the spec.\n\t\tsuper();\n\t}\n\n\t// Life cycle\n\tconnectedCallback(): void {\n\t\tthis._addEventListeners();\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tthis._removeEventListeners();\n\t}\n\n\t// Attributes\n\toverride setAttribute( attr: string, value: string ): void {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.setAttribute( attr, value );\n\t}\n\n\toverride removeAttribute( attr: string ): void {\n\t\tif ( this.disabled && 'disabled' !== attr ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.removeAttribute( attr );\n\t}\n\n\tget directive(): string|null {\n\t\treturn this.getAttribute( 'data-directive' );\n\t}\n\n\tset directive( value: string|null ) {\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'data-directive', value );\n\t\t} else {\n\t\t\tthis.removeAttribute( 'data-directive' );\n\t\t}\n\t}\n\n\tget directiveFocusin(): string|null {\n\t\treturn this.getAttribute( 'data-directive-focusin' );\n\t}\n\n\tset directiveFocusin( value: string|null ) {\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'data-directive-focusin', value );\n\t\t} else {\n\t\t\tthis.removeAttribute( 'data-directive-focusin' );\n\t\t}\n\t}\n\n\tget directiveFocusout(): string|null {\n\t\treturn this.getAttribute( 'data-directive-focusout' );\n\t}\n\n\tset directiveFocusout( value: string|null ) {\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'data-directive-focusout', value );\n\t\t} else {\n\t\t\tthis.removeAttribute( 'data-directive-focusout' );\n\t\t}\n\t}\n\n\tget disabled(): boolean {\n\t\treturn this.hasAttribute( 'disabled' );\n\t}\n\n\tset disabled( value: boolean ) {\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'disabled', '' );\n\t\t} else {\n\t\t\tthis.removeAttribute( 'disabled' );\n\t\t}\n\t}\n\n\tget forEl(): StateMachineElement|null {\n\t\tconst forID = this.getAttribute( 'data-for' );\n\t\tif ( !forID ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst el = document.getElementById( forID );\n\t\tif ( !el ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( !isStateMachineElement( el ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn el;\n\t}\n\n\tset forEl( el: StateMachineElement|null ) {\n\t\tif ( !el ) {\n\t\t\tthis.removeAttribute( 'data-for' );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( el.id ) {\n\t\t\tthis.setAttribute( 'data-for', el.id );\n\n\t\t\treturn;\n\t\t}\n\t}\n\n\tget keys(): Array {\n\t\tconst value = this.getAttribute( 'data-keys' );\n\t\tif ( !value ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn value.split( ' ' );\n\t}\n\n\tset keys( value: Array ) {\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'data-keys', value.join( ' ' ) );\n\t\t} else {\n\t\t\tthis.removeAttribute( 'data-keys' );\n\t\t}\n\t}\n\n\tattributeChangedCallback( attrName: string, oldVal: string, newVal: string ): void {\n\t\tif ( 'disabled' === attrName ) {\n\t\t\tthis._removeEventListeners();\n\t\t\tif ( null === newVal ) {\n\t\t\t\tthis._addEventListeners();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t}\n\n\t_addEventListeners(): void {\n\t\tthis.addEventListener( 'click', this.#clickHandler );\n\t\tthis.addEventListener( 'focusin', this.#focusinHandler );\n\t\tthis.addEventListener( 'focusout', this.#focusoutHandler );\n\n\t\tdocument.addEventListener( 'keydown', this.#keydownHandler );\n\t}\n\n\t_removeEventListeners(): void {\n\t\tthis.removeEventListener( 'click', this.#clickHandler );\n\t\tthis.removeEventListener( 'focusin', this.#focusinHandler );\n\t\tthis.removeEventListener( 'focusout', this.#focusoutHandler );\n\n\t\tdocument.removeEventListener( 'keydown', this.#keydownHandler );\n\t}\n\n\ttrigger( directive: string | null ): void {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !directive ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst forEl = this.forEl;\n\t\tif ( !forEl ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// forEl must be a state machine that implements \"updateState(directive)\"\n\t\tif ( !forEl.updateState ) {\n\t\t\treturn;\n\t\t}\n\n\t\tforEl.updateState( directive );\n\t}\n}\n","import { MrInputSink } from '@mrhenry/wp--mr-interactive';\n\ncustomElements.define( 'mr-input-sink', MrInputSink );\n","(function(undefined) {\nif (!(\"HTMLElement\"in self&&\"inert\"in HTMLElement.prototype\n)) {\n// HTMLElement.prototype.inert\n/* global Set, Map */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\t// eslint-disable-next-line no-undef\n\ttypeof define === 'function' && define.amd ? define('inert', factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n\tvar _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\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\t/**\n\t* This work is licensed under the W3C Software and Document License\n\t* (http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document).\n\t*/\n\n\t(function () {\n\t// Return early if we're not running inside of the browser.\n\tif (typeof window === 'undefined') {\n\t\treturn;\n\t}\n\n\t// Convenience function for converting NodeLists.\n\t/** @type {typeof Array.prototype.slice} */\n\tvar slice = Array.prototype.slice;\n\n\t/**\n\t* IE has a non-standard name for \"matches\".\n\t* @type {typeof Element.prototype.matches}\n\t*/\n\tvar matches = Element.prototype.matches || Element.prototype.msMatchesSelector;\n\n\t/** @type {string} */\n\tvar _focusableElementsString = ['a[href]', 'area[href]', 'input:not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'details', 'summary', 'iframe', 'object', 'embed', '[contenteditable]'].join(',');\n\n\t/**\n\t* `InertRoot` manages a single inert subtree, i.e. a DOM subtree whose root element has an `inert`\n\t* attribute.\n\t*\n\t* Its main functions are:\n\t*\n\t* - to create and maintain a set of managed `InertNode`s, including when mutations occur in the\n\t* subtree. The `makeSubtreeUnfocusable()` method handles collecting `InertNode`s via registering\n\t* each focusable node in the subtree with the singleton `InertManager` which manages all known\n\t* focusable nodes within inert subtrees. `InertManager` ensures that a single `InertNode`\n\t* instance exists for each focusable node which has at least one inert root as an ancestor.\n\t*\n\t* - to notify all managed `InertNode`s when this subtree stops being inert (i.e. when the `inert`\n\t* attribute is removed from the root node). This is handled in the destructor, which calls the\n\t* `deregister` method on `InertManager` for each managed inert node.\n\t*/\n\n\tvar InertRoot = function () {\n\t\t/**\n\t\t* @param {!HTMLElement} rootElement The HTMLElement at the root of the inert subtree.\n\t\t* @param {!InertManager} inertManager The global singleton InertManager object.\n\t\t*/\n\t\tfunction InertRoot(rootElement, inertManager) {\n\t\t\t_classCallCheck(this, InertRoot);\n\n\t\t\t/** @type {!InertManager} */\n\t\t\tthis._inertManager = inertManager;\n\n\t\t\t/** @type {!HTMLElement} */\n\t\t\tthis._rootElement = rootElement;\n\n\t\t\t/**\n\t\t\t* @type {!Set}\n\t\t\t* All managed focusable nodes in this InertRoot's subtree.\n\t\t\t*/\n\t\t\tthis._managedNodes = new Set();\n\n\t\t\t// Make the subtree hidden from assistive technology\n\t\t\tif (this._rootElement.hasAttribute('aria-hidden')) {\n\t\t\t\t/** @type {?string} */\n\t\t\t\tthis._savedAriaHidden = this._rootElement.getAttribute('aria-hidden');\n\t\t\t} else {\n\t\t\t\tthis._savedAriaHidden = null;\n\t\t\t}\n\t\t\tthis._rootElement.setAttribute('aria-hidden', 'true');\n\n\t\t\t// Make all focusable elements in the subtree unfocusable and add them to _managedNodes\n\t\t\tthis._makeSubtreeUnfocusable(this._rootElement);\n\n\t\t\t// Watch for:\n\t\t\t// - any additions in the subtree: make them unfocusable too\n\t\t\t// - any removals from the subtree: remove them from this inert root's managed nodes\n\t\t\t// - attribute changes: if `tabindex` is added, or removed from an intrinsically focusable\n\t\t\t// element, make that node a managed node.\n\t\t\tthis._observer = new MutationObserver(this._onMutation.bind(this));\n\t\t\tthis._observer.observe(this._rootElement, { attributes: true, childList: true, subtree: true });\n\t\t}\n\n\t\t/**\n\t\t* Call this whenever this object is about to become obsolete. This unwinds all of the state\n\t\t* stored in this object and updates the state of all of the managed nodes.\n\t\t*/\n\n\n\t\t_createClass(InertRoot, [{\n\t\t\tkey: 'destructor',\n\t\t\tvalue: function destructor() {\n\t\t\t\tthis._observer.disconnect();\n\n\t\t\t\tif (this._rootElement) {\n\t\t\t\t\tif (this._savedAriaHidden !== null) {\n\t\t\t\t\t\tthis._rootElement.setAttribute('aria-hidden', this._savedAriaHidden);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._rootElement.removeAttribute('aria-hidden');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis._managedNodes.forEach(function (inertNode) {\n\t\t\t\t\tthis._unmanageNode(inertNode.node);\n\t\t\t\t}, this);\n\n\t\t\t\t// Note we cast the nulls to the ANY type here because:\n\t\t\t\t// 1) We want the class properties to be declared as non-null, or else we\n\t\t\t\t// need even more casts throughout this code. All bets are off if an\n\t\t\t\t// instance has been destroyed and a method is called.\n\t\t\t\t// 2) We don't want to cast \"this\", because we want type-aware optimizations\n\t\t\t\t// to know which properties we're setting.\n\t\t\t\tthis._observer = /** @type {?} */null;\n\t\t\t\tthis._rootElement = /** @type {?} */null;\n\t\t\t\tthis._managedNodes = /** @type {?} */null;\n\t\t\t\tthis._inertManager = /** @type {?} */null;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* @return {!Set} A copy of this InertRoot's managed nodes set.\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_makeSubtreeUnfocusable',\n\n\n\t\t\t/**\n\t\t\t* @param {!Node} startNode\n\t\t\t*/\n\t\t\tvalue: function _makeSubtreeUnfocusable(startNode) {\n\t\t\t\tvar _this2 = this;\n\n\t\t\t\tcomposedTreeWalk(startNode, function (node) {\n\t\t\t\t\treturn _this2._visitNode(node);\n\t\t\t\t});\n\n\t\t\t\tvar activeElement = document.activeElement;\n\n\t\t\t\tif (!document.body.contains(startNode)) {\n\t\t\t\t\t// startNode may be in shadow DOM, so find its nearest shadowRoot to get the activeElement.\n\t\t\t\t\tvar node = startNode;\n\t\t\t\t\t/** @type {!ShadowRoot|undefined} */\n\t\t\t\t\tvar root = undefined;\n\t\t\t\t\twhile (node) {\n\t\t\t\t\t\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\t\t\t\t\t\troot = /** @type {!ShadowRoot} */node;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\t}\n\t\t\t\t\tif (root) {\n\t\t\t\t\t\tactiveElement = root.activeElement;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (startNode.contains(activeElement)) {\n\t\t\t\t\tactiveElement.blur();\n\t\t\t\t\t// In IE11, if an element is already focused, and then set to tabindex=-1\n\t\t\t\t\t// calling blur() will not actually move the focus.\n\t\t\t\t\t// To work around this we call focus() on the body instead.\n\t\t\t\t\tif (activeElement === document.activeElement) {\n\t\t\t\t\t\tdocument.body.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* @param {!Node} node\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_visitNode',\n\t\t\tvalue: function _visitNode(node) {\n\t\t\t\tif (node.nodeType !== Node.ELEMENT_NODE) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar element = /** @type {!HTMLElement} */node;\n\n\t\t\t\t// If a descendant inert root becomes un-inert, its descendants will still be inert because of\n\t\t\t\t// this inert root, so all of its managed nodes need to be adopted by this InertRoot.\n\t\t\t\tif (element !== this._rootElement && element.hasAttribute('inert')) {\n\t\t\t\t\tthis._adoptInertRoot(element);\n\t\t\t\t}\n\n\t\t\t\tif (matches.call(element, _focusableElementsString) || element.hasAttribute('tabindex')) {\n\t\t\t\t\tthis._manageNode(element);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Register the given node with this InertRoot and with InertManager.\n\t\t\t* @param {!Node} node\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_manageNode',\n\t\t\tvalue: function _manageNode(node) {\n\t\t\t\tvar inertNode = this._inertManager.register(node, this);\n\t\t\t\tthis._managedNodes.add(inertNode);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Unregister the given node with this InertRoot and with InertManager.\n\t\t\t* @param {!Node} node\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_unmanageNode',\n\t\t\tvalue: function _unmanageNode(node) {\n\t\t\t\tvar inertNode = this._inertManager.deregister(node, this);\n\t\t\t\tif (inertNode) {\n\t\t\t\t\tthis._managedNodes.delete(inertNode);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Unregister the entire subtree starting at `startNode`.\n\t\t\t* @param {!Node} startNode\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_unmanageSubtree',\n\t\t\tvalue: function _unmanageSubtree(startNode) {\n\t\t\t\tvar _this3 = this;\n\n\t\t\t\tcomposedTreeWalk(startNode, function (node) {\n\t\t\t\t\treturn _this3._unmanageNode(node);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* If a descendant node is found with an `inert` attribute, adopt its managed nodes.\n\t\t\t* @param {!HTMLElement} node\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_adoptInertRoot',\n\t\t\tvalue: function _adoptInertRoot(node) {\n\t\t\t\tvar inertSubroot = this._inertManager.getInertRoot(node);\n\n\t\t\t\t// During initialisation this inert root may not have been registered yet,\n\t\t\t\t// so register it now if need be.\n\t\t\t\tif (!inertSubroot) {\n\t\t\t\t\tthis._inertManager.setInert(node, true);\n\t\t\t\t\tinertSubroot = this._inertManager.getInertRoot(node);\n\t\t\t\t}\n\n\t\t\t\tinertSubroot.managedNodes.forEach(function (savedInertNode) {\n\t\t\t\t\tthis._manageNode(savedInertNode.node);\n\t\t\t\t}, this);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Callback used when mutation observer detects subtree additions, removals, or attribute changes.\n\t\t\t* @param {!Array} records\n\t\t\t* @param {!MutationObserver} self\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_onMutation',\n\t\t\tvalue: function _onMutation(records, _self) {\n\t\t\t\trecords.forEach(function (record) {\n\t\t\t\t\tvar target = /** @type {!HTMLElement} */record.target;\n\t\t\t\t\tif (record.type === 'childList') {\n\t\t\t\t\t\t// Manage added nodes\n\t\t\t\t\t\tslice.call(record.addedNodes).forEach(function (node) {\n\t\t\t\t\t\t\tthis._makeSubtreeUnfocusable(node);\n\t\t\t\t\t\t}, this);\n\n\t\t\t\t\t\t// Un-manage removed nodes\n\t\t\t\t\t\tslice.call(record.removedNodes).forEach(function (node) {\n\t\t\t\t\t\t\tthis._unmanageSubtree(node);\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t} else if (record.type === 'attributes') {\n\t\t\t\t\t\tif (record.attributeName === 'tabindex') {\n\t\t\t\t\t\t\t// Re-initialise inert node if tabindex changes\n\t\t\t\t\t\t\tthis._manageNode(target);\n\t\t\t\t\t\t} else if (target !== this._rootElement && record.attributeName === 'inert' && target.hasAttribute('inert')) {\n\t\t\t\t\t\t\t// If a new inert root is added, adopt its managed nodes and make sure it knows about the\n\t\t\t\t\t\t\t// already managed nodes from this inert subroot.\n\t\t\t\t\t\t\tthis._adoptInertRoot(target);\n\t\t\t\t\t\t\tvar inertSubroot = this._inertManager.getInertRoot(target);\n\t\t\t\t\t\t\tthis._managedNodes.forEach(function (managedNode) {\n\t\t\t\t\t\t\t\tif (target.contains(managedNode.node)) {\n\t\t\t\t\t\t\t\t\tinertSubroot._manageNode(managedNode.node);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'managedNodes',\n\t\t\tget: function get() {\n\t\t\t\treturn new Set(this._managedNodes);\n\t\t\t}\n\n\t\t\t/** @return {boolean} */\n\n\t\t}, {\n\t\t\tkey: 'hasSavedAriaHidden',\n\t\t\tget: function get() {\n\t\t\t\treturn this._savedAriaHidden !== null;\n\t\t\t}\n\n\t\t\t/** @param {?string} ariaHidden */\n\n\t\t}, {\n\t\t\tkey: 'savedAriaHidden',\n\t\t\tset: function set(ariaHidden) {\n\t\t\t\tthis._savedAriaHidden = ariaHidden;\n\t\t\t}\n\n\t\t\t/** @return {?string} */\n\t\t\t,\n\t\t\tget: function get() {\n\t\t\t\treturn this._savedAriaHidden;\n\t\t\t}\n\t\t}]);\n\n\t\treturn InertRoot;\n\t}();\n\n\t/**\n\t* `InertNode` initialises and manages a single inert node.\n\t* A node is inert if it is a descendant of one or more inert root elements.\n\t*\n\t* On construction, `InertNode` saves the existing `tabindex` value for the node, if any, and\n\t* either removes the `tabindex` attribute or sets it to `-1`, depending on whether the element\n\t* is intrinsically focusable or not.\n\t*\n\t* `InertNode` maintains a set of `InertRoot`s which are descendants of this `InertNode`. When an\n\t* `InertRoot` is destroyed, and calls `InertManager.deregister()`, the `InertManager` notifies the\n\t* `InertNode` via `removeInertRoot()`, which in turn destroys the `InertNode` if no `InertRoot`s\n\t* remain in the set. On destruction, `InertNode` reinstates the stored `tabindex` if one exists,\n\t* or removes the `tabindex` attribute if the element is intrinsically focusable.\n\t*/\n\n\n\tvar InertNode = function () {\n\t\t/**\n\t\t* @param {!Node} node A focusable element to be made inert.\n\t\t* @param {!InertRoot} inertRoot The inert root element associated with this inert node.\n\t\t*/\n\t\tfunction InertNode(node, inertRoot) {\n\t\t\t_classCallCheck(this, InertNode);\n\n\t\t\t/** @type {!Node} */\n\t\t\tthis._node = node;\n\n\t\t\t/** @type {boolean} */\n\t\t\tthis._overrodeFocusMethod = false;\n\n\t\t\t/**\n\t\t\t* @type {!Set} The set of descendant inert roots.\n\t\t\t* If and only if this set becomes empty, this node is no longer inert.\n\t\t\t*/\n\t\t\tthis._inertRoots = new Set([inertRoot]);\n\n\t\t\t/** @type {?number} */\n\t\t\tthis._savedTabIndex = null;\n\n\t\t\t/** @type {boolean} */\n\t\t\tthis._destroyed = false;\n\n\t\t\t// Save any prior tabindex info and make this node untabbable\n\t\t\tthis.ensureUntabbable();\n\t\t}\n\n\t\t/**\n\t\t* Call this whenever this object is about to become obsolete.\n\t\t* This makes the managed node focusable again and deletes all of the previously stored state.\n\t\t*/\n\n\n\t\t_createClass(InertNode, [{\n\t\t\tkey: 'destructor',\n\t\t\tvalue: function destructor() {\n\t\t\t\tthis._throwIfDestroyed();\n\n\t\t\t\tif (this._node && this._node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\tvar element = /** @type {!HTMLElement} */this._node;\n\t\t\t\t\tif (this._savedTabIndex !== null) {\n\t\t\t\t\t\telement.setAttribute('tabindex', this._savedTabIndex);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telement.removeAttribute('tabindex');\n\t\t\t\t\t}\n\n\t\t\t\t\t// Use `delete` to restore native focus method.\n\t\t\t\t\tif (this._overrodeFocusMethod) {\n\t\t\t\t\t\tdelete element.focus;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// See note in InertRoot.destructor for why we cast these nulls to ANY.\n\t\t\t\tthis._node = /** @type {?} */null;\n\t\t\t\tthis._inertRoots = /** @type {?} */null;\n\t\t\t\tthis._destroyed = true;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* @type {boolean} Whether this object is obsolete because the managed node is no longer inert.\n\t\t\t* If the object has been destroyed, any attempt to access it will cause an exception.\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_throwIfDestroyed',\n\n\n\t\t\t/**\n\t\t\t* Throw if user tries to access destroyed InertNode.\n\t\t\t*/\n\t\t\tvalue: function _throwIfDestroyed() {\n\t\t\t\tif (this.destroyed) {\n\t\t\t\t\tthrow new Error('Trying to access destroyed InertNode');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @return {boolean} */\n\n\t\t}, {\n\t\t\tkey: 'ensureUntabbable',\n\n\n\t\t\t/** Save the existing tabindex value and make the node untabbable and unfocusable */\n\t\t\tvalue: function ensureUntabbable() {\n\t\t\t\tif (this.node.nodeType !== Node.ELEMENT_NODE) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar element = /** @type {!HTMLElement} */this.node;\n\t\t\t\tif (matches.call(element, _focusableElementsString)) {\n\t\t\t\t\tif ( /** @type {!HTMLElement} */element.tabIndex === -1 && this.hasSavedTabIndex) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.hasAttribute('tabindex')) {\n\t\t\t\t\t\tthis._savedTabIndex = /** @type {!HTMLElement} */element.tabIndex;\n\t\t\t\t\t}\n\t\t\t\t\telement.setAttribute('tabindex', '-1');\n\t\t\t\t\tif (element.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\telement.focus = function () {};\n\t\t\t\t\t\tthis._overrodeFocusMethod = true;\n\t\t\t\t\t}\n\t\t\t\t} else if (element.hasAttribute('tabindex')) {\n\t\t\t\t\tthis._savedTabIndex = /** @type {!HTMLElement} */element.tabIndex;\n\t\t\t\t\telement.removeAttribute('tabindex');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Add another inert root to this inert node's set of managing inert roots.\n\t\t\t* @param {!InertRoot} inertRoot\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: 'addInertRoot',\n\t\t\tvalue: function addInertRoot(inertRoot) {\n\t\t\t\tthis._throwIfDestroyed();\n\t\t\t\tthis._inertRoots.add(inertRoot);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Remove the given inert root from this inert node's set of managing inert roots.\n\t\t\t* If the set of managing inert roots becomes empty, this node is no longer inert,\n\t\t\t* so the object should be destroyed.\n\t\t\t* @param {!InertRoot} inertRoot\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: 'removeInertRoot',\n\t\t\tvalue: function removeInertRoot(inertRoot) {\n\t\t\t\tthis._throwIfDestroyed();\n\t\t\t\tthis._inertRoots.delete(inertRoot);\n\t\t\t\tif (this._inertRoots.size === 0) {\n\t\t\t\t\tthis.destructor();\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'destroyed',\n\t\t\tget: function get() {\n\t\t\t\treturn (/** @type {!InertNode} */this._destroyed\n\t\t\t\t);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: 'hasSavedTabIndex',\n\t\t\tget: function get() {\n\t\t\t\treturn this._savedTabIndex !== null;\n\t\t\t}\n\n\t\t\t/** @return {!Node} */\n\n\t\t}, {\n\t\t\tkey: 'node',\n\t\t\tget: function get() {\n\t\t\t\tthis._throwIfDestroyed();\n\t\t\t\treturn this._node;\n\t\t\t}\n\n\t\t\t/** @param {?number} tabIndex */\n\n\t\t}, {\n\t\t\tkey: 'savedTabIndex',\n\t\t\tset: function set(tabIndex) {\n\t\t\t\tthis._throwIfDestroyed();\n\t\t\t\tthis._savedTabIndex = tabIndex;\n\t\t\t}\n\n\t\t\t/** @return {?number} */\n\t\t\t,\n\t\t\tget: function get() {\n\t\t\t\tthis._throwIfDestroyed();\n\t\t\t\treturn this._savedTabIndex;\n\t\t\t}\n\t\t}]);\n\n\t\treturn InertNode;\n\t}();\n\n\t/**\n\t* InertManager is a per-document singleton object which manages all inert roots and nodes.\n\t*\n\t* When an element becomes an inert root by having an `inert` attribute set and/or its `inert`\n\t* property set to `true`, the `setInert` method creates an `InertRoot` object for the element.\n\t* The `InertRoot` in turn registers itself as managing all of the element's focusable descendant\n\t* nodes via the `register()` method. The `InertManager` ensures that a single `InertNode` instance\n\t* is created for each such node, via the `_managedNodes` map.\n\t*/\n\n\n\tvar InertManager = function () {\n\t\t/**\n\t\t* @param {!Document} document\n\t\t*/\n\t\tfunction InertManager(document) {\n\t\t\t_classCallCheck(this, InertManager);\n\n\t\t\tif (!document) {\n\t\t\t\tthrow new Error('Missing required argument; InertManager needs to wrap a document.');\n\t\t\t}\n\n\t\t\t/** @type {!Document} */\n\t\t\tthis._document = document;\n\n\t\t\t/**\n\t\t\t* All managed nodes known to this InertManager. In a map to allow looking up by Node.\n\t\t\t* @type {!Map}\n\t\t\t*/\n\t\t\tthis._managedNodes = new Map();\n\n\t\t\t/**\n\t\t\t* All inert roots known to this InertManager. In a map to allow looking up by Node.\n\t\t\t* @type {!Map}\n\t\t\t*/\n\t\t\tthis._inertRoots = new Map();\n\n\t\t\t/**\n\t\t\t* Observer for mutations on `document.body`.\n\t\t\t* @type {!MutationObserver}\n\t\t\t*/\n\t\t\tthis._observer = new MutationObserver(this._watchForInert.bind(this));\n\n\t\t\t// Add inert style.\n\t\t\taddInertStyle(document.head || document.body || document.documentElement);\n\n\t\t\t// Wait for document to be loaded.\n\t\t\tif (document.readyState === 'loading') {\n\t\t\t\tdocument.addEventListener('DOMContentLoaded', this._onDocumentLoaded.bind(this));\n\t\t\t} else {\n\t\t\t\tthis._onDocumentLoaded();\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t* Set whether the given element should be an inert root or not.\n\t\t* @param {!HTMLElement} root\n\t\t* @param {boolean} inert\n\t\t*/\n\n\n\t\t_createClass(InertManager, [{\n\t\t\tkey: 'setInert',\n\t\t\tvalue: function setInert(root, inert) {\n\t\t\t\tif (inert) {\n\t\t\t\t\tif (this._inertRoots.has(root)) {\n\t\t\t\t\t\t// element is already inert\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar inertRoot = new InertRoot(root, this);\n\t\t\t\t\troot.setAttribute('inert', '');\n\t\t\t\t\tthis._inertRoots.set(root, inertRoot);\n\t\t\t\t\t// If not contained in the document, it must be in a shadowRoot.\n\t\t\t\t\t// Ensure inert styles are added there.\n\t\t\t\t\tif (!this._document.body.contains(root)) {\n\t\t\t\t\t\tvar parent = root.parentNode;\n\t\t\t\t\t\twhile (parent) {\n\t\t\t\t\t\t\tif (parent.nodeType === 11) {\n\t\t\t\t\t\t\t\taddInertStyle(parent);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tparent = parent.parentNode;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!this._inertRoots.has(root)) {\n\t\t\t\t\t\t// element is already non-inert\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar _inertRoot = this._inertRoots.get(root);\n\t\t\t\t\t_inertRoot.destructor();\n\t\t\t\t\tthis._inertRoots.delete(root);\n\t\t\t\t\troot.removeAttribute('inert');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Get the InertRoot object corresponding to the given inert root element, if any.\n\t\t\t* @param {!Node} element\n\t\t\t* @return {!InertRoot|undefined}\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: 'getInertRoot',\n\t\t\tvalue: function getInertRoot(element) {\n\t\t\t\treturn this._inertRoots.get(element);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Register the given InertRoot as managing the given node.\n\t\t\t* In the case where the node has a previously existing inert root, this inert root will\n\t\t\t* be added to its set of inert roots.\n\t\t\t* @param {!Node} node\n\t\t\t* @param {!InertRoot} inertRoot\n\t\t\t* @return {!InertNode} inertNode\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: 'register',\n\t\t\tvalue: function register(node, inertRoot) {\n\t\t\t\tvar inertNode = this._managedNodes.get(node);\n\t\t\t\tif (inertNode !== undefined) {\n\t\t\t\t\t// node was already in an inert subtree\n\t\t\t\t\tinertNode.addInertRoot(inertRoot);\n\t\t\t\t} else {\n\t\t\t\t\tinertNode = new InertNode(node, inertRoot);\n\t\t\t\t}\n\n\t\t\t\tthis._managedNodes.set(node, inertNode);\n\n\t\t\t\treturn inertNode;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* De-register the given InertRoot as managing the given inert node.\n\t\t\t* Removes the inert root from the InertNode's set of managing inert roots, and remove the inert\n\t\t\t* node from the InertManager's set of managed nodes if it is destroyed.\n\t\t\t* If the node is not currently managed, this is essentially a no-op.\n\t\t\t* @param {!Node} node\n\t\t\t* @param {!InertRoot} inertRoot\n\t\t\t* @return {?InertNode} The potentially destroyed InertNode associated with this node, if any.\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: 'deregister',\n\t\t\tvalue: function deregister(node, inertRoot) {\n\t\t\t\tvar inertNode = this._managedNodes.get(node);\n\t\t\t\tif (!inertNode) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tinertNode.removeInertRoot(inertRoot);\n\t\t\t\tif (inertNode.destroyed) {\n\t\t\t\t\tthis._managedNodes.delete(node);\n\t\t\t\t}\n\n\t\t\t\treturn inertNode;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Callback used when document has finished loading.\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_onDocumentLoaded',\n\t\t\tvalue: function _onDocumentLoaded() {\n\t\t\t\t// Find all inert roots in document and make them actually inert.\n\t\t\t\tvar inertElements = slice.call(this._document.querySelectorAll('[inert]'));\n\t\t\t\tinertElements.forEach(function (inertElement) {\n\t\t\t\t\tthis.setInert(inertElement, true);\n\t\t\t\t}, this);\n\n\t\t\t\t// Comment this out to use programmatic API only.\n\t\t\t\tthis._observer.observe(this._document.body || this._document.documentElement, { attributes: true, subtree: true, childList: true });\n\t\t\t}\n\n\t\t\t/**\n\t\t\t* Callback used when mutation observer detects attribute changes.\n\t\t\t* @param {!Array} records\n\t\t\t* @param {!MutationObserver} self\n\t\t\t*/\n\n\t\t}, {\n\t\t\tkey: '_watchForInert',\n\t\t\tvalue: function _watchForInert(records, _self) {\n\t\t\t\tvar _this = this;\n\t\t\t\trecords.forEach(function (record) {\n\t\t\t\t\tswitch (record.type) {\n\t\t\t\t\t\tcase 'childList':\n\t\t\t\t\t\t\tslice.call(record.addedNodes).forEach(function (node) {\n\t\t\t\t\t\t\t\tif (node.nodeType !== Node.ELEMENT_NODE) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvar inertElements = slice.call(node.querySelectorAll('[inert]'));\n\t\t\t\t\t\t\t\tif (matches.call(node, '[inert]')) {\n\t\t\t\t\t\t\t\t\tinertElements.unshift(node);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tinertElements.forEach(function (inertElement) {\n\t\t\t\t\t\t\t\t\tthis.setInert(inertElement, true);\n\t\t\t\t\t\t\t\t}, _this);\n\t\t\t\t\t\t\t}, _this);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attributes':\n\t\t\t\t\t\t\tif (record.attributeName !== 'inert') {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar target = /** @type {!HTMLElement} */record.target;\n\t\t\t\t\t\t\tvar inert = target.hasAttribute('inert');\n\t\t\t\t\t\t\t_this.setInert(target, inert);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\t\t\t}\n\t\t}]);\n\n\t\treturn InertManager;\n\t}();\n\n\t/**\n\t* Recursively walk the composed tree from |node|.\n\t* @param {!Node} node\n\t* @param {(function (!HTMLElement))=} callback Callback to be called for each element traversed,\n\t* before descending into child nodes.\n\t* @param {?ShadowRoot=} shadowRootAncestor The nearest ShadowRoot ancestor, if any.\n\t*/\n\n\n\tfunction composedTreeWalk(node, callback, shadowRootAncestor) {\n\t\tif (node.nodeType == Node.ELEMENT_NODE) {\n\t\t\tvar element = /** @type {!HTMLElement} */node;\n\t\t\tif (callback) {\n\t\t\t\tcallback(element);\n\t\t\t}\n\n\t\t\t// Descend into node:\n\t\t\t// If it has a ShadowRoot, ignore all child elements - these will be picked\n\t\t\t// up by the or elements. Descend straight into the\n\t\t\t// ShadowRoot.\n\t\t\tvar shadowRoot = /** @type {!HTMLElement} */element.shadowRoot;\n\t\t\tif (shadowRoot) {\n\t\t\t\tcomposedTreeWalk(shadowRoot, callback, shadowRoot);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If it is a element, descend into distributed elements - these\n\t\t\t// are elements from outside the shadow root which are rendered inside the\n\t\t\t// shadow DOM.\n\t\t\tif (element.localName == 'content') {\n\t\t\t\tvar content = /** @type {!HTMLContentElement} */element;\n\t\t\t\t// Verifies if ShadowDom v0 is supported.\n\t\t\t\tvar distributedNodes = content.getDistributedNodes ? content.getDistributedNodes() : [];\n\t\t\t\tfor (var i = 0; i < distributedNodes.length; i++) {\n\t\t\t\t\tcomposedTreeWalk(distributedNodes[i], callback, shadowRootAncestor);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If it is a element, descend into assigned nodes - these\n\t\t\t// are elements from outside the shadow root which are rendered inside the\n\t\t\t// shadow DOM.\n\t\t\tif (element.localName == 'slot') {\n\t\t\t\tvar slot = /** @type {!HTMLSlotElement} */element;\n\t\t\t\t// Verify if ShadowDom v1 is supported.\n\t\t\t\tvar _distributedNodes = slot.assignedNodes ? slot.assignedNodes({ flatten: true }) : [];\n\t\t\t\tfor (var _i = 0; _i < _distributedNodes.length; _i++) {\n\t\t\t\t\tcomposedTreeWalk(_distributedNodes[_i], callback, shadowRootAncestor);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// If it is neither the parent of a ShadowRoot, a element, a \n\t\t// element, nor a element recurse normally.\n\t\tvar child = node.firstChild;\n\t\twhile (child != null) {\n\t\t\tcomposedTreeWalk(child, callback, shadowRootAncestor);\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\n\t/**\n\t* Adds a style element to the node containing the inert specific styles\n\t* @param {!Node} node\n\t*/\n\tfunction addInertStyle(node) {\n\t\tif (node.querySelector('style#inert-style, link#inert-style')) {\n\t\t\treturn;\n\t\t}\n\t\tvar style = document.createElement('style');\n\t\tstyle.setAttribute('id', 'inert-style');\n\t\tstyle.textContent = '\\n' + '[inert] {\\n' + ' pointer-events: none;\\n' + ' cursor: default;\\n' + '}\\n' + '\\n' + '[inert], [inert] * {\\n' + ' -webkit-user-select: none;\\n' + ' -moz-user-select: none;\\n' + ' -ms-user-select: none;\\n' + ' user-select: none;\\n' + '}\\n';\n\t\tnode.appendChild(style);\n\t}\n\n\t// eslint-disable-next-line no-prototype-builtins\n\tif (!HTMLElement.prototype.hasOwnProperty('inert')) {\n\t\t/** @type {!InertManager} */\n\t\tvar inertManager = new InertManager(document);\n\n\t\tObject.defineProperty(HTMLElement.prototype, 'inert', {\n\t\t\tenumerable: true,\n\t\t\t/** @this {!HTMLElement} */\n\t\t\tget: function get() {\n\t\t\t\treturn this.hasAttribute('inert');\n\t\t\t},\n\t\t\t/** @this {!HTMLElement} */\n\t\t\tset: function set(inert) {\n\t\t\t\tinertManager.setInert(this, inert);\n\t\t\t}\n\t\t});\n\t}\n\t})();\n\n})));\n}}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","/** Simple accordion pattern\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/examples/accordion/accordion.html\n */\n\nexport class MrAccordion extends HTMLElement {\n\t// Handle click events\n\t#clickHandler = ( event: MouseEvent ): void => {\n\t\tconst target = event.target;\n\n\t\tif ( !target || !( target instanceof Element ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !target.hasAttribute( 'accordion-trigger' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handled = this.handleToggleEvent( target, false );\n\t\tif ( handled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t};\n\n\t#beforeMatchHandler = ( event: Event ): void => {\n\t\tif ( !event.target ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !( event.target instanceof Element ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst trigger = this.findTriggerFromPanelContents( event.target );\n\t\tif ( trigger ) {\n\t\t\tthis.handleToggleEvent( trigger, true );\n\t\t}\n\t};\n\n\tconstructor() {\n\t\t/** If you define a constructor, always call super() first!\n\t\t * This is specific to CE and required by the spec.\n\t\t */\n\t\tsuper();\n\t}\n\n\t// Life cycle\n\tconnectedCallback() :void {\n\t\tthis._addEventListeners();\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tthis._removeEventListeners();\n\t}\n\n\t_addEventListeners(): void {\n\t\tthis.addEventListener( 'click', this.#clickHandler );\n\t\tthis.addEventListener( 'beforematch', this.#beforeMatchHandler );\n\t\taddKeypressEventListener( this.tagName );\n\t}\n\n\t_removeEventListeners(): void {\n\t\tthis.removeEventListener( 'click', this.#clickHandler );\n\t\tthis.removeEventListener( 'beforematch', this.#beforeMatchHandler );\n\t}\n\n\thandleToggleEvent( trigger: Element, onlyOpen: boolean ): boolean {\n\t\tif ( !trigger.hasAttribute( 'accordion-trigger' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only use events from current mr-accordion\n\t\tif (\n\t\t\t!trigger.getAttribute( 'accordion' ) ||\n\t\t\t( trigger.getAttribute( 'accordion' ) !== this.id )\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isExpanded = 'true' === trigger.getAttribute( 'aria-expanded' );\n\n\t\tif ( !isExpanded ) { // Open panel\n\t\t\t// Set the expanded state on the triggering element\n\t\t\ttrigger.setAttribute( 'aria-expanded', 'true' );\n\n\t\t\t// Hide the accordion sections, using the 'for'-attribute to specify the desired section\n\t\t\tconst panel = this.querySelector( '#' + trigger.getAttribute( 'for' ) );\n\n\t\t\tif ( !panel ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tpanel.inert = false;\n\t\t\tpanel.removeAttribute( 'hidden' );\n\n\t\t} else if ( isExpanded && !onlyOpen ) { // Close panel\n\t\t\t// Set the expanded state on the triggering element\n\t\t\ttrigger.setAttribute( 'aria-expanded', 'false' );\n\n\t\t\t// Hide the accordion sections, using the 'for'-attribute to specify the desired section\n\t\t\tconst panel = this.querySelector( '#' + trigger.getAttribute( 'for' ) );\n\n\t\t\tif ( !panel ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tpanel.inert = true;\n\t\t\tpanel.setAttribute( 'hidden', 'until-found' );\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate findTriggerFromPanelContents( el: Element ): Element|null {\n\t\tconst ids: Array = [];\n\n\t\tif ( el.id ) {\n\t\t\tids.push( el.id );\n\t\t}\n\n\t\tlet walker = el;\n\t\twhile ( walker.parentNode ) {\n\t\t\tif ( walker === this ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( walker.id ) {\n\t\t\t\tids.push( walker.id );\n\t\t\t}\n\n\t\t\tif ( !walker.parentNode || !( walker.parentNode instanceof Element ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\twalker = walker.parentNode;\n\t\t}\n\n\t\tif ( 0 === ids.length ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Build a query to match triggers. We do not know which ID corresponds to a trigger so we try a lot. We will however only find one thing.\n\t\tconst query = ids.map( ( id ) => {\n\t\t\treturn `[accordion-trigger][for=\"${id}\"]`;\n\t\t} ).join( ', ' );\n\n\t\treturn this.querySelector( query );\n\t}\n}\n\n\nconst _didAddKeypressEventListener: Map = new Map();\n\nfunction addKeypressEventListener( tagName: string ): void {\n\tif ( _didAddKeypressEventListener.has( tagName ) ) {\n\t\treturn;\n\t}\n\n\t_didAddKeypressEventListener.set( tagName, true );\n\n\tconst getTriggers = (): Array|null => {\n\t\tif ( !document.activeElement ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst activeAccordion = document.activeElement.closest( tagName );\n\t\tif ( !activeAccordion ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst activeAccordionSelector = '[accordion-trigger][accordion=\"' + activeAccordion.id + '\"]';\n\t\tconst triggers = activeAccordion.querySelectorAll( activeAccordionSelector );\n\n\t\tif ( !triggers || !triggers.length ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst out: Array = [];\n\t\ttriggers.forEach( ( el ) => {\n\t\t\tif ( el instanceof HTMLElement ) {\n\t\t\t\tout.push( el );\n\t\t\t}\n\t\t} );\n\n\t\treturn out;\n\t};\n\n\t// Handle keydown events\n\tconst keydownHandler = ( event: KeyboardEvent ): void => {\n\t\tconst target = event.target;\n\t\tif ( !target || !( target instanceof HTMLElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !target.hasAttribute( 'accordion-trigger' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst key = event.which.toString();\n\t\tif ( !key ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// 33 = Page Up, 34 = Page Down\n\t\tconst ctrlModifier = ( event.ctrlKey && key.match( /33|34/ ) );\n\n\t\t// Up/ Down arrow and Control + Page Up/ Page Down keyboard operations\n\t\t// 38 = Up, 40 = Down\n\t\tif ( key.match( /38|40/ ) || ctrlModifier ) {\n\t\t\tconst triggers = getTriggers();\n\t\t\tif ( !triggers ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet direction = -1;\n\t\t\tif ( key.match( /34|40/ ) ) {\n\t\t\t\tdirection = 1;\n\t\t\t}\n\n\t\t\tconst index = triggers.indexOf( target );\n\t\t\tconst length = triggers.length;\n\t\t\tconst newIndex = ( index + length + direction ) % length;\n\n\t\t\ttriggers[newIndex].focus();\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// 35 = End, 36 = Home keyboard operations\n\t\t} else if ( key.match( /35|36/ ) ) {\n\t\t\tconst triggers = getTriggers();\n\t\t\tif ( !triggers ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tswitch ( key ) {\n\n\t\t\t\t// Go to first accordion\n\t\t\t\tcase '36':\n\t\t\t\t\ttriggers[0].focus();\n\t\t\t\t\tbreak;\n\n\t\t\t\t// Go to last accordion\n\t\t\t\tcase '35':\n\t\t\t\t\ttriggers[triggers.length - 1].focus();\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tdocument.addEventListener( 'keydown', keydownHandler );\n}\n","import { MrAccordion } from '@mrhenry/wp--mr-interactive';\n\ncustomElements.define( 'mr-accordion', MrAccordion );\n","(function(undefined) {\nif (!(\"ResizeObserver\"in self\n)) {\n// ResizeObserver\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ResizeObserver = {}));\n})(this, (function (exports) { 'use strict';\n\n var resizeObservers = [];\n\n var hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n };\n\n var hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n };\n\n var msg = 'ResizeObserver loop completed with undelivered notifications.';\n var deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n };\n\n var ResizeObserverBoxOptions;\n (function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n })(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\n\n var freeze = function (obj) { return Object.freeze(obj); };\n\n var ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n }());\n\n var DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n }());\n\n var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\n var isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n };\n var isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n };\n var isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n };\n\n var global = typeof window !== 'undefined' ? window : {};\n\n var cache = new WeakMap();\n var scrollRegexp = /auto|scroll/;\n var verticalRegexp = /^tb|vertical/;\n var IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\n var parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\n var size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n };\n var zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n });\n var calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n };\n var calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n };\n\n var ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n }());\n\n var calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n };\n\n var broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n };\n\n var gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n };\n\n var process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n };\n\n var trigger;\n var callbacks = [];\n var notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\n var queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n };\n\n var queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n };\n\n var watching = 0;\n var isWatching = function () { return !!watching; };\n var CATCH_PERIOD = 250;\n var observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\n var events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n ];\n var time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n };\n var scheduled = false;\n var Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n }());\n var scheduler = new Scheduler();\n var updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n };\n\n var skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n };\n var ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n }());\n\n var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n }());\n\n var observerMap = new WeakMap();\n var getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n };\n var ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n }());\n\n var ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n }());\n\n exports.ResizeObserver = ResizeObserver;\n exports.ResizeObserverEntry = ResizeObserverEntry;\n exports.ResizeObserverSize = ResizeObserverSize;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n;self.ResizeObserverEntry = ResizeObserver.ResizeObserverEntry;self.ResizeObserver=ResizeObserver.ResizeObserver;}}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","const isHoverDevice = window.matchMedia( '(hover: hover)' );\n\nclass MrHotspot extends HTMLElement {\n\t#resizeObserver = new ResizeObserver( () => {\n\t\tthis.close();\n\t\tthis.removeAttribute( 'data-anchor-position' );\n\n\t\tconst details = this.querySelector( '[data-hotspot-details]' );\n\t\tif ( details ) {\n\t\t\tdetails.style.left = '';\n\t\t}\n\t} );\n\n\t#toggleHandler = ( event: Event ) => {\n\t\tif ( event.target !== this ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tif ( this.isOpen() ) {\n\t\t\tthis.close();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.open();\n\t};\n\n\t#focusinHandler = () => {\n\t\tthis.ensureDetailsFitsWithinBounds();\n\t\tthis.closeAllOtherHotspots();\n\t};\n\n\t#openHandler = () => {\n\t\tif ( !this.isOpen() ) {\n\t\t\tthis.open();\n\t\t}\n\t};\n\n\t#closeHandler = () => {\n\t\tif ( this.isOpen() ) {\n\t\t\tthis.close();\n\t\t}\n\t};\n\n\tconnectedCallback() {\n\t\tthis.parentElement?.addEventListener( 'click', this.#toggleHandler );\n\n\t\tif ( isHoverDevice.matches ) {\n\t\t\tthis.parentElement?.addEventListener( 'mouseenter', this.#openHandler );\n\t\t\tthis.parentElement?.addEventListener( 'mouseleave', this.#closeHandler );\n\t\t}\n\n\t\tthis.addEventListener( 'focusin', this.#focusinHandler );\n\n\t\tconst area = this.closest( '[data-hotspots-render-area]' );\n\t\tif ( area ) {\n\t\t\tthis.#resizeObserver.observe( area );\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.parentElement?.removeEventListener( 'click', this.#toggleHandler );\n\t\tthis.parentElement?.removeEventListener( 'mouseenter', this.#openHandler );\n\t\tthis.parentElement?.removeEventListener( 'mouseleave', this.#closeHandler );\n\n\t\tthis.removeEventListener( 'focusin', this.#focusinHandler );\n\n\t\tthis.#resizeObserver.unobserve( this );\n\t}\n\n\n\tisOpen() {\n\t\treturn this.getAttribute( 'data-state' ) === 'open';\n\t}\n\n\topen() {\n\t\tthis.closeAllOtherHotspots();\n\t\tthis.ensureDetailsFitsWithinBounds();\n\t\tthis.setAttribute( 'data-state', 'open' );\n\t}\n\n\tclose() {\n\t\tthis.setAttribute( 'data-state', 'closed' );\n\t}\n\n\tensureDetailsFitsWithinBounds() {\n\t\tif ( this.hasAttribute( 'data-anchor-position' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst details = this.querySelector( '[data-hotspot-details]' );\n\t\tif ( !details ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst mainBoundaries = this.closest( '[data-hotspots-render-area]' )?.getBoundingClientRect();\n\t\tconst thisBoundaries = this.getBoundingClientRect();\n\n\t\tif ( !mainBoundaries ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst thisBoundariesTop = thisBoundaries.top - mainBoundaries.top;\n\t\tconst thisBoundariesLeft = thisBoundaries.left - mainBoundaries.left;\n\t\tconst thisBoundariesBottom = mainBoundaries.bottom - thisBoundaries.bottom;\n\t\tconst thisBoundariesRight = mainBoundaries.right - thisBoundaries.right;\n\n\t\tthis.setAttribute( 'data-anchor-position', '' );\n\t\tconst detailBoundaries = details.getBoundingClientRect();\n\t\tif ( !detailBoundaries ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst extraWidth = ( detailBoundaries.width - thisBoundaries.width ) + 64;\n\t\tconst extraHeight = ( detailBoundaries.height - thisBoundaries.height ) + 64;\n\n\t\tconst hasSpaceOnTheRight = thisBoundariesRight > extraWidth;\n\t\tconst hasSpaceAtTheBottom = thisBoundariesBottom > extraHeight;\n\n\t\tconst mostAvailableHorizontalSpace = Math.max( thisBoundariesLeft, thisBoundariesRight );\n\t\tconst mostAvailableVerticalSpace = Math.max( thisBoundariesBottom, thisBoundariesTop );\n\n\t\tconst horizontalMarginWhenCentered = ( mainBoundaries.width - ( detailBoundaries.width - thisBoundaries.width ) ) / 2;\n\t\tconst horizontalOffset = ( thisBoundariesLeft + ( thisBoundaries.width / 2 ) ) - horizontalMarginWhenCentered;\n\n\t\tlet xAxis = 'left';\n\t\tlet yAxis = 'top';\n\n\t\tif ( mostAvailableHorizontalSpace < extraWidth ) {\n\t\t\txAxis = 'center';\n\t\t} else if ( hasSpaceOnTheRight ) {\n\t\t\txAxis = 'left';\n\t\t} else {\n\t\t\txAxis = 'right';\n\t\t}\n\n\t\tif ( mostAvailableVerticalSpace < extraHeight ) {\n\t\t\tyAxis = 'top';\n\t\t} else if ( hasSpaceAtTheBottom ) {\n\t\t\tyAxis = 'top';\n\t\t} else {\n\t\t\tyAxis = 'bottom';\n\t\t}\n\n\t\tif ( xAxis === 'center' ) {\n\t\t\tdetails.style.left = `calc(-1 * ${horizontalOffset}px)`;\n\t\t}\n\n\t\tthis.setAttribute( 'data-anchor-position', `${xAxis} ${yAxis}` );\n\t}\n\n\tcloseAllOtherHotspots() {\n\t\tdocument.querySelectorAll( 'mr-hotspot' ).forEach( ( otherHotspot ) => {\n\t\t\tif ( this === otherHotspot ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( typeof otherHotspot.close === 'function' ) {\n\t\t\t\totherHotspot.close();\n\t\t\t}\n\t\t} );\n\t}\n}\n\ncustomElements.define( 'mr-hotspot', MrHotspot );\n","interface VideoSource {\n\twidth: number;\n\theight: number;\n\tsource: string;\n}\n\nexport class MrVideo extends HTMLElement {\n\tconnectedCallback() {\n\t\trequestAnimationFrame( () => {\n\t\t\tif ( this.closest( 'mr-video-overlay' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.setupVideoPlayback();\n\t\t} );\n\t}\n\n\tdisconnectedCallback() {\n\t\tconst video = this.getAttachedVideo();\n\t\tif ( !video ) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tasync play() {\n\t\tconst video = this.getAttachedVideo();\n\t\tif ( !video ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !video.paused ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait video.play();\n\t\t} catch ( err ) {\n\t\t\tconsole.warn( err );\n\t\t\t// Do nothing.\n\t\t}\n\t}\n\n\tasync pause() {\n\t\tconst video = this.getAttachedVideo();\n\t\tif ( !video ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvideo.pause();\n\t}\n\n\tsetupVideoPlayback() {\n\t\tconst video = this.getAttachedVideo();\n\t\tif ( !video ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst videoSources = this.getAttribute( 'video-sources' );\n\t\tif ( !videoSources ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst videos = JSON.parse( videoSources ) as Array | null;\n\t\tif ( !videos || !videos.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvideos.sort( ( a, b ) => {\n\t\t\treturn a.width - b.width;\n\t\t} );\n\n\t\tconst width = this.getWidth();\n\t\tconst height = this.getHeight();\n\n\t\tlet selectedVideo = videos[0].source;\n\t\tvideos.forEach( ( videoSource ) => {\n\t\t\tif ( videoSource.width <= width || videoSource.height <= height ) {\n\t\t\t\tselectedVideo = videoSource.source;\n\t\t\t}\n\t\t} );\n\n\t\tif ( video.src === selectedVideo ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvideo.src = selectedVideo;\n\t}\n\n\tgetWidth() {\n\t\tlet multiplier = 1;\n\t\tif ( ( 'devicePixelRatio' in window ) && window.devicePixelRatio ) {\n\t\t\tmultiplier = Math.max( 1, Math.min( window.devicePixelRatio, 1.5 ) );\n\t\t}\n\n\t\tconst rect = this.parentElement?.getBoundingClientRect();\n\t\tif ( !rect || !rect.width ) {\n\t\t\treturn window.innerWidth * multiplier;\n\t\t}\n\n\t\treturn rect.width * multiplier;\n\t}\n\n\tgetHeight() {\n\t\tlet multiplier = 1;\n\t\tif ( ( 'devicePixelRatio' in window ) && window.devicePixelRatio ) {\n\t\t\tmultiplier = Math.max( 1, Math.min( window.devicePixelRatio, 1.5 ) );\n\t\t}\n\n\t\tconst rect = this.parentElement?.getBoundingClientRect();\n\t\tif ( !rect || !rect.height ) {\n\t\t\treturn window.innerHeight * multiplier;\n\t\t}\n\n\t\treturn rect.height * multiplier;\n\t}\n\n\tgetAttachedVideo(): HTMLVideoElement| null {\n\t\tconst videoId = this.getAttribute( 'for' );\n\t\tif ( !videoId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst video = document.getElementById( videoId );\n\t\tif ( !video || !( video instanceof HTMLVideoElement ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn video;\n\t}\n}\n\ncustomElements.define( 'mr-video', MrVideo );\n","const query = window.matchMedia( '(prefers-reduced-motion: no-preference)' );\n\nexport function prefersReducedMotion(): boolean {\n\treturn !query.matches;\n}\n","/* core-web-ignore @mrhenry/core-web/modules/WebAnimations */\n\nimport { prefersReducedMotion } from '@mrhenry/wp--prefers-reduced-motion';\n\nfunction getMaxTiming( timing: EffectTiming ): number {\n\tlet max = 0;\n\n\tif ( ( timing.delay ?? 0 ) > max ) {\n\t\tmax = timing.delay ?? max;\n\t}\n\n\tif ( ( timing.endDelay ?? 0 ) > max ) {\n\t\tmax = timing.endDelay ?? max;\n\t}\n\n\tif ( 'auto' === timing.duration ) {\n\t\t// noop\n\t} else if ( 'number' === typeof timing.duration && timing.duration > max ) {\n\t\tmax = timing.duration;\n\t}\n\n\treturn max;\n}\n\nfunction scaleToMaxTiming( timing: EffectTiming, max: number ): OptionalEffectTiming {\n\tif ( timing.delay ) {\n\t\ttiming.delay = timing.delay / max;\n\t} else {\n\t\ttiming.delay = 0;\n\t}\n\n\tif ( timing.endDelay ) {\n\t\ttiming.endDelay = timing.endDelay / max;\n\t} else {\n\t\ttiming.endDelay = 0;\n\t}\n\n\tif ( 'auto' === timing.duration ) {\n\t\ttiming.duration = 1;\n\t} else if ( 'number' === typeof timing.duration ) {\n\t\ttiming.duration = timing.duration / max;\n\t} else if ( 'undefined' === typeof timing.duration ) {\n\t\t// see: https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1567\n\t\ttiming.duration = undefined;\n\t} else {\n\t\t// see: https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1567\n\t\ttiming.duration = 1;\n\t}\n\n\tif ( timing.iterations === Infinity ) {\n\t\ttiming.iterations = 1.0;\n\t}\n\n\t// see: https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1567\n\treturn timing as OptionalEffectTiming;\n}\n\n// Keep the same timing scale, just make it all very small\nfunction reduceMotion( keyframeEffects: KeyframeEffect[] ): void {\n\tif ( !( 'KeyframeEffect' in window ) || ( 'undefined' === typeof KeyframeEffect ) ) {\n\t\treturn;\n\t}\n\n\tif ( !KeyframeEffect.prototype.getTiming ) {\n\t\treturn;\n\t}\n\n\tif ( !KeyframeEffect.prototype.updateTiming ) {\n\t\treturn;\n\t}\n\n\tlet maxTiming = 0;\n\tkeyframeEffects.forEach( ( keyframeEffect ) => {\n\t\tconst newMax = getMaxTiming( keyframeEffect.getTiming() );\n\t\tif ( newMax > maxTiming ) {\n\t\t\tmaxTiming = newMax;\n\t\t}\n\t} );\n\n\tkeyframeEffects.forEach( ( keyframeEffect ) => {\n\t\tkeyframeEffect.updateTiming(\n\t\t\tscaleToMaxTiming(\n\t\t\t\tkeyframeEffect.getTiming(),\n\t\t\t\tmaxTiming\n\t\t\t)\n\t\t);\n\t} );\n}\n\n/**\n * Plays all animations and resolves when all animations are done.\n * Is aware of \"@mrhenry/wp--prefers-reduced-motion\"\n * @param {KeyframeEffect[]} keyframeEffects Collection of KeyFrameEffects to play and wait for.\n */\nexport function playAllAnimations( keyframeEffects: KeyframeEffect[] ): Promise {\n\tif ( !( 'Animation' in self ) ) {\n\t\treturn Promise.resolve();\n\t}\n\n\tif ( !( 'play' in Animation.prototype ) ) {\n\t\treturn Promise.resolve();\n\t}\n\n\tconst promises: Promise[] = [];\n\n\tif ( prefersReducedMotion() ) {\n\t\t// Very short animation without any delays\n\t\treduceMotion( keyframeEffects );\n\t}\n\n\tkeyframeEffects.forEach( ( keyframeEffect ) => {\n\t\tpromises.push( new Promise( ( resolve ) => {\n\t\t\tconst animation = new Animation( keyframeEffect, document.timeline );\n\t\t\tanimation.onfinish = ( (): void => {\n\t\t\t\tresolve();\n\t\t\t} );\n\n\t\t\tanimation.play();\n\t\t} ) );\n\t} );\n\n\treturn Promise.all( promises );\n}\n","import { playAllAnimations } from '@mrhenry/wp--play-all-animations';\n\ndeclare global {\n\tinterface Element {\n\t\tinert: boolean\n\t}\n}\n\ntype FocusableElement = Element & Record<'focus', () => void> | null;\n\nexport class MrDialog extends HTMLElement {\n\tstatic get observedAttributes(): Array {\n\t\treturn [\n\t\t\t'disabled',\n\t\t\t'data-state',\n\t\t];\n\t}\n\n\t// https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard-interaction-7\n\t// Escape: Closes the dialog.\n\t#escapeHandler = ( e: KeyboardEvent ): void => {\n\t\tif ( 'Escape' !== e.code ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( document.activeElement !== this ) && ( !this.contains( document.activeElement ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateState( 'close' );\n\t};\n\n\t#previousActiveElement:FocusableElement = null;\n\n\tconstructor() {\n\t\t// If you define a constructor, always call super() first!\n\t\t// This is specific to CE and required by the spec.\n\t\tsuper();\n\t}\n\n\tconnectedCallback(): void {\n\t\t// Default State\n\t\tif ( !this.state ) {\n\t\t\tthis.state = 'closed';\n\n\t\t\ttry {\n\t\t\t\tthis.inert = true;\n\t\t\t} catch ( err ) {\n\t\t\t\tconsole.warn( err );\n\t\t\t}\n\t\t}\n\t}\n\n\tdisconnectedCallback(): void {\n\t\t// https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard-interaction-7\n\t\t// Escape: Closes the dialog.\n\t\twindow.removeEventListener( 'keydown', this.#escapeHandler );\n\t}\n\n\t// Attributes\n\toverride setAttribute( attr: string, value: string ): void {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( 'data-state' === attr ) {\n\t\t\tconst states = [\n\t\t\t\t'opening',\n\t\t\t\t'open',\n\t\t\t\t'closing',\n\t\t\t\t'closed',\n\t\t\t\t'broken',\n\t\t\t];\n\n\t\t\tif ( -1 === states.indexOf( value ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsuper.setAttribute( 'data-state', value );\n\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.setAttribute( attr, value );\n\t}\n\n\toverride removeAttribute( attr: string ): void {\n\t\tif ( this.disabled && 'disabled' !== attr ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.removeAttribute( attr );\n\t}\n\n\tget disabled(): boolean {\n\t\treturn this.hasAttribute( 'disabled' );\n\t}\n\n\tset disabled( value: boolean ) {\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'disabled', '' );\n\t\t} else {\n\t\t\tthis.removeAttribute( 'disabled' );\n\t\t}\n\t}\n\n\tget state() :string {\n\t\treturn this.getAttribute( 'data-state' ) || '';\n\t}\n\n\tset state( value: string ) {\n\t\tthis.setAttribute( 'data-state', value );\n\t}\n\n\t/**\n\t * Update the state of the dialog\n\t * @param {string} directive The directive for the state machine\n\t * @return\n\t */\n\tasync updateState( directive: string ): Promise {\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\n\t\t\tswitch ( this.state ) {\n\t\t\t\tcase 'closed':\n\t\t\t\t\tswitch ( directive ) {\n\t\t\t\t\t\tcase 'open':\n\t\t\t\t\t\t\t// Store current focus\n\t\t\t\t\t\t\tif ( document.activeElement && 'focus' in document.activeElement ) {\n\t\t\t\t\t\t\t\tthis.#previousActiveElement = document.activeElement as FocusableElement;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait this.willOpen();\n\n\t\t\t\t\t\t\t// Update focusability\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tthis.inert = false;\n\t\t\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\t\t\tconsole.warn( err );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Update state\n\t\t\t\t\t\t\tthis.state = 'opening';\n\n\t\t\t\t\t\t\t// Set focus\n\t\t\t\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\t\t\t\t// https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard-interaction-7\n\t\t\t\t\t\t\t\t// When a dialog opens, focus placement depends on the nature and size of the content.\n\t\t\t\t\t\t\t\t// In all circumstances, focus moves to an element contained in the dialog.\n\t\t\t\t\t\t\t\tthis.firstFocusableElement()?.focus();\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tawait playAllAnimations( this.openAnimations() );\n\n\t\t\t\t\t\t\tawait this.didOpen();\n\n\t\t\t\t\t\t\t// Update state\n\t\t\t\t\t\t\tthis.state = 'open';\n\n\t\t\t\t\t\t\t// https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard-interaction-7\n\t\t\t\t\t\t\t// Escape: Closes the dialog.\n\t\t\t\t\t\t\twindow.addEventListener( 'keydown', this.#escapeHandler );\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'open':\n\t\t\t\t\tswitch ( directive ) {\n\t\t\t\t\t\tcase 'close':\n\t\t\t\t\t\t\tawait this.willClose();\n\n\t\t\t\t\t\t\t// Update focusability\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tthis.inert = true;\n\t\t\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\t\t\tconsole.warn( err );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Update state\n\t\t\t\t\t\t\tthis.state = 'closing';\n\n\t\t\t\t\t\t\t// Reset current focus\n\t\t\t\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\t\t\t\tif ( this.#previousActiveElement ) {\n\t\t\t\t\t\t\t\t\tthis.#previousActiveElement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tawait playAllAnimations( this.closeAnimations() );\n\n\t\t\t\t\t\t\tawait this.didClose();\n\n\t\t\t\t\t\t\t// Update state\n\t\t\t\t\t\t\tthis.state = 'closed';\n\n\t\t\t\t\t\t\t// https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard-interaction-7\n\t\t\t\t\t\t\t// Escape: Closes the dialog.\n\t\t\t\t\t\t\twindow.removeEventListener( 'keydown', this.#escapeHandler );\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}\n\n\t\t} catch ( err ) {\n\t\t\tthis.state = 'broken';\n\t\t\tthis.disabled = true;\n\n\t\t\tconsole.warn( err );\n\n\t\t\tif ( 'bugsnagClient' in window ) {\n\t\t\t\twindow.bugsnagClient.notify( err );\n\t\t\t}\n\n\t\t\tthis.gracefullShutdown();\n\t\t}\n\t}\n\n\t/**\n\t * Called when an unexpected error occurs.\n\t * Make sure to do all needed cleanup.\n\t */\n\tgracefullShutdown(): void {\n\t\ttry {\n\t\t\tthis.inert = true;\n\t\t} catch ( err ) {\n\t\t\tthis.hidden = true;\n\t\t\tconsole.warn( err );\n\t\t}\n\t}\n\n\t/**\n\t * Called before transitioning to the \"open\" state\n\t * Optionally implement this in your sub class\n\t */\n\tasync willOpen(): Promise {\n\t\tawait Promise.resolve();\n\t}\n\n\t/**\n\t * Called after transitioning to the \"open\" state\n\t * Optionally implement this in your sub class\n\t */\n\tasync didOpen(): Promise {\n\t\tawait Promise.resolve();\n\t}\n\n\t/**\n\t * Called before transitioning to the \"closed\" State\n\t * Optionally implement this in your sub class\n\t */\n\tasync willClose(): Promise {\n\t\tawait Promise.resolve();\n\t}\n\n\t/**\n\t * Called after transitioning to the \"closed\" state\n\t * Optionally implement this in your sub class\n\t */\n\tasync didClose(): Promise {\n\t\tawait Promise.resolve();\n\t}\n\n\t/**\n\t * The animations to play and wait for when opening the dialog\n\t * Optionally implement this in your sub class\n\t * @return {Array} The KeyframeEffects to play\n\t */\n\topenAnimations(): Array {\n\t\treturn [];\n\t}\n\n\t/**\n\t * The animations to play and wait for when closing the dialog\n\t * Implement this in your sub class\n\t * @return {Array} The KeyframeEffects to play\n\t */\n\tcloseAnimations(): Array {\n\t\treturn [];\n\t}\n\n\t// https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard-interaction-7\n\t// When a dialog opens, focus placement depends on the nature and size of the content.\n\t// - In all circumstances, focus moves to an element contained in the dialog.\n\t// - Unless a condition where doing otherwise is advisable,\n\t// focus is initially set on the first focusable element.\n\t// - If content is large enough that focusing the first interactive element could cause the beginning of content to scroll out of view,\n\t// it is advisable to add tabindex=-1 to a static element at the top of the dialog,\n\t// such as the dialog title or first paragraph, and initially focus that element.\n\t// - If a dialog contains the final step in a process that is not easily reversible,\n\t// such as deleting data or completing a financial transaction,\n\t// it may be advisable to set focus on the least destructive action,\n\t// especially if undoing the action is difficult or impossible.\n\t// The Alert Dialog Pattern is often employed in such circumstances.\n\t// - If a dialog is limited to interactions that either provide additional information or continue processing,\n\t// it may be advisable to set focus to the element that is likely to be most frequently used,\n\t// such as an OK or Continue button.\n\tfirstFocusableElement(): HTMLElement | void {\n\t\tif ( !this.parentNode ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tconst autoFocusChild = this.querySelector( '[modal-autofocus]' );\n\t\tif ( autoFocusChild && autoFocusChild instanceof HTMLElement ) {\n\t\t\treturn autoFocusChild;\n\t\t}\n\n\t\tconst firstFocusableChild = this.querySelector( 'button, [href], input, radio, select, textarea, [tabindex]' );\n\t\tif ( firstFocusableChild && firstFocusableChild instanceof HTMLElement ) {\n\t\t\treturn firstFocusableChild;\n\t\t}\n\n\t\treturn this;\n\t}\n}\n","import { MrDialog } from '../mr-dialog/mr-dialog';\n\ndeclare global {\n\tinterface Element {\n\t\tinert: boolean\n\t}\n}\n\nexport class MrModalDialog extends MrDialog {\n\t/**\n\t * Called when an unexpected error occurs.\n\t * Make sure to do all needed cleanup.\n\t */\n\toverride gracefullShutdown(): void {\n\t\tsuper.gracefullShutdown();\n\n\t\tArray.from( document.body.children ).forEach( ( child ) => {\n\t\t\tif ( child === this ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tchild.inert = false;\n\t\t\t} catch ( err ) {\n\t\t\t\tconsole.warn( err );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Called before transitioning to the \"open\" state\n\t * Updates focusability\n\t */\n\toverride async willOpen(): Promise {\n\t\tawait super.willOpen();\n\n\t\t// Update focusability\n\t\t// https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal\n\t\t// Windows under a modal dialog are inert.\n\t\t// That is, users cannot interact with content outside an active dialog window.\n\t\t// Inert content outside an active dialog is typically visually obscured or dimmed\n\t\t// so it is difficult to discern, and in some implementations,\n\t\t// attempts to interact with the inert content cause the dialog to close.\n\t\tArray.from( document.body.children ).forEach( ( child ) => {\n\t\t\tif ( child === this ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tchild.inert = true;\n\t\t\t} catch ( err ) {\n\t\t\t\tconsole.warn( err );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Called before transitioning to the \"closed\" state\n\t * Updates focusability\n\t */\n\toverride async willClose(): Promise {\n\t\tawait super.willClose();\n\n\t\t// Update focusability\n\t\t// https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal\n\t\t// Windows under a modal dialog are inert.\n\t\t// That is, users cannot interact with content outside an active dialog window.\n\t\t// Inert content outside an active dialog is typically visually obscured or dimmed\n\t\t// so it is difficult to discern, and in some implementations,\n\t\t// attempts to interact with the inert content cause the dialog to close.\n\t\tArray.from( document.body.children ).forEach( ( child ) => {\n\t\t\tif ( child === this ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tchild.inert = false;\n\t\t\t} catch ( err ) {\n\t\t\t\tconsole.warn( err );\n\t\t\t}\n\t\t} );\n\t}\n}\n","import { MrModalDialog } from '@mrhenry/wp--mr-interactive';\nimport { MrVideo } from './mr-video';\n\nclass MrVideoOverlay extends MrModalDialog {\n\toverride async willOpen() {\n\t\tawait super.willOpen();\n\t\tdocument.body.classList.add( 'is-showing-modal-dialog' );\n\n\t\tconst mrVideo = this.querySelector( 'mr-video' );\n\t\tif ( !mrVideo ) {\n\t\t\treturn;\n\t\t}\n\n\t\tmrVideo.setupVideoPlayback();\n\t}\n\n\toverride async didOpen(): Promise {\n\t\tawait super.didOpen();\n\n\t\tconst mrVideo = this.querySelector( 'mr-video' );\n\t\tif ( !mrVideo ) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait mrVideo.play();\n\t}\n\n\toverride async willClose() {\n\t\tconst mrVideo = this.querySelector( 'mr-video' );\n\t\tif ( !mrVideo ) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait mrVideo.pause();\n\t\tawait super.willClose();\n\t\tdocument.body.classList.remove( 'is-showing-modal-dialog' );\n\t}\n\n\toverride openAnimations() {\n\t\tif ( !( 'KeyframeEffect' in window ) ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\tnew KeyframeEffect(\n\t\t\t\tthis,\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 256,\n\t\t\t\t\teasing: 'linear',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t}\n\t\t\t),\n\t\t\tnew KeyframeEffect(\n\t\t\t\tthis.querySelector( '.modal-dialog__content' ),\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 256,\n\t\t\t\t\teasing: 'linear',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t}\n\t\t\t),\n\t\t];\n\t}\n\n\toverride closeAnimations() {\n\t\tif ( !( 'KeyframeEffect' in window ) ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\tnew KeyframeEffect(\n\t\t\t\tthis.querySelector( '.modal-dialog__content' ),\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 192,\n\t\t\t\t\teasing: 'linear',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t}\n\t\t\t),\n\t\t\tnew KeyframeEffect(\n\t\t\t\tthis,\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 192,\n\t\t\t\t\teasing: 'linear',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t}\n\t\t\t),\n\t\t];\n\t}\n}\n\ncustomElements.define( 'mr-video-overlay', MrVideoOverlay );\n","import { MrModalDialog } from '@mrhenry/wp--mr-interactive';\n\nclass MrNavigationOverlay extends MrModalDialog {\n\toverride async willOpen() {\n\t\tawait super.willOpen();\n\t\tdocument.body.classList.add( 'is-showing-modal-dialog' );\n\t}\n\n\toverride async willClose() {\n\t\tawait super.willClose();\n\t\tdocument.body.classList.remove( 'is-showing-modal-dialog' );\n\t}\n\n\toverride openAnimations() {\n\t\tif ( !( 'KeyframeEffect' in window ) ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\tnew KeyframeEffect(\n\t\t\t\tthis.querySelector( '.modal-dialog__content' ),\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 192,\n\t\t\t\t\teasing: 'linear',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t}\n\t\t\t),\n\t\t];\n\t}\n\n\toverride closeAnimations() {\n\t\tif ( !( 'KeyframeEffect' in window ) ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\tnew KeyframeEffect(\n\t\t\t\tthis.querySelector( '.modal-dialog__content' ),\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 96,\n\t\t\t\t\teasing: 'linear',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t}\n\t\t\t),\n\t\t];\n\t}\n}\n\ncustomElements.define( 'mr-navigation-overlay', MrNavigationOverlay );\n","/**\n * MrPlayPauseToggle is a self contained play/pause button for HTMLMediaElement.\n *\n * Supports :\n * - pause\n * - play\n */\nexport class MrPlayPauseToggle extends HTMLElement {\n\n\t/**\n\t * \"data-for\" is observed.\n\t * You can update this attribute in DOM.\n\t */\n\tstatic get observedAttributes(): Array {\n\t\treturn [\n\t\t\t'data-for',\n\t\t];\n\t}\n\n\t/**\n\t * When disabled clicks will not toggle playback.\n\t *\n\t * External updates to playback will still update the state here.\n\t */\n\tget disabled(): boolean {\n\t\treturn this.hasAttribute( 'disabled' );\n\t}\n\n\tset disabled( value: boolean ) {\n\t\tif ( value === this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( value ) {\n\t\t\tthis.setAttribute( 'disabled', '' );\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.removeAttribute( 'disabled' );\n\t}\n\n\tattributeChangedCallback( attrName: string, oldVal: string|null, newVal: string|null ): void {\n\t\t// Event listeners are added\n\t\tif ( 'data-for' === attrName ) {\n\t\t\tthis.stopListening( oldVal );\n\n\t\t\tif ( null !== newVal ) {\n\t\t\t\tthis.startListening( newVal );\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t}\n\n\t#clickHandler = ( e: MouseEvent ): void => {\n\t\t// always prevent default button behavior\n\t\te.preventDefault();\n\n\t\t// when disabled do nothing\n\t\tif ( this.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst media = this.getAttachedMedia();\n\t\tif ( !media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !media.paused ) {\n\t\t\tmedia.pause();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.hasAttribute( 'data-playback-starts-from-zero' ) ) {\n\t\t\tmedia.currentTime = 0;\n\t\t}\n\n\t\tmedia.setAttribute( 'data-playback-requested', '' );\n\t\tconst playPromise = media.play();\n\t\tif ( playPromise instanceof Promise ) {\n\t\t\tplayPromise.then( () => {\n\t\t\t\treturn; // noop.\n\t\t\t} ).catch( () => {\n\t\t\t\t// quickly playing and pausing can cause the video to be paused again before playback starts.\n\t\t\t\t// these are expected errors and normal behavior.\n\t\t\t\treturn; // noop.\n\t\t\t} );\n\t\t}\n\t};\n\n\t// The video can start playing before this element is alive\n\t// Lister for a single timeupdate event;\n\t#timeupdateHandler = (): void => {\n\t\trequestAnimationFrame( () => {\n\t\t\tthis.setStateAttribute();\n\t\t} );\n\t};\n\n\t#playHandler = (): void => {\n\t\trequestAnimationFrame( () => {\n\t\t\tthis.setStateAttribute();\n\t\t} );\n\t};\n\n\t#pauseHandler = (): void => {\n\t\trequestAnimationFrame( () => {\n\t\t\tthis.setStateAttribute();\n\t\t} );\n\t};\n\n\tconnectedCallback(): void {\n\t\tthis.startListening();\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tthis.stopListening();\n\n\t\tthis.removeAttribute( 'data-playing' );\n\t}\n\n\tprivate startListening( onId?: string|null|undefined ): void {\n\t\tthis.addEventListener( 'click', this.#clickHandler );\n\n\t\trequestAnimationFrame( () => {\n\t\t\tconst media = this.getAttachedMedia( onId );\n\t\t\tif ( media ) {\n\t\t\t\tif ( media.paused ) {\n\t\t\t\t\tthis.removeAttribute( 'data-playing' );\n\t\t\t\t} else {\n\t\t\t\t\tthis.setAttribute( 'data-playing', '' );\n\t\t\t\t\tif ( this.hasAttribute( 'data-playback-requested' ) ) {\n\t\t\t\t\t\tthis.removeAttribute( 'data-playback-requested' );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmedia.addEventListener( 'timeupdate', this.#timeupdateHandler, {\n\t\t\t\t\tonce: true,\n\t\t\t\t} );\n\n\t\t\t\tmedia.addEventListener( 'play', this.#playHandler );\n\t\t\t\tmedia.addEventListener( 'pause', this.#pauseHandler );\n\t\t\t}\n\t\t} );\n\t}\n\n\tprivate stopListening( onId?: string|null|undefined ): void {\n\t\tthis.removeEventListener( 'click', this.#clickHandler );\n\n\t\tconst media = this.getAttachedMedia( onId );\n\t\tif ( media ) {\n\t\t\tmedia.removeEventListener( 'play', this.#playHandler );\n\t\t\tmedia.removeEventListener( 'pause', this.#pauseHandler );\n\t\t}\n\t}\n\n\tprivate setStateAttribute(): void {\n\t\tif ( this.hasAttribute( 'data-playback-requested' ) ) {\n\t\t\tthis.removeAttribute( 'data-playback-requested' );\n\t\t}\n\n\t\tconst media = this.getAttachedMedia();\n\t\tif ( media && !media.paused ) {\n\t\t\tthis.setAttribute( 'data-playing', '' );\n\n\t\t\tconst labelledElement = this.querySelector( '[data-aria-label-playing]' );\n\t\t\tif ( labelledElement ) {\n\t\t\t\tlabelledElement.setAttribute( 'aria-label', labelledElement.getAttribute( 'data-aria-label-playing' ) || '' );\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.removeAttribute( 'data-playing' );\n\n\t\tconst labelledElement = this.querySelector( '[data-aria-label-paused]' );\n\t\tif ( labelledElement ) {\n\t\t\tlabelledElement.setAttribute( 'aria-label', labelledElement.getAttribute( 'data-aria-label-paused' ) || '' );\n\t\t}\n\t}\n\n\tprivate getAttachedMedia( withId?: string|null|undefined ): PlayPauseElement | null {\n\t\tconst id = withId || this.getAttribute( 'data-for' );\n\t\tif ( !id ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst media = document.getElementById( id );\n\t\tif ( !media || !isPlayPauseElement( media ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn media;\n\t}\n}\n\nfunction isPlayPauseElement( element: HTMLElement ): element is PlayPauseElement {\n\treturn ( 'paused' in element ) &&\n\t\t( 'currentTime' in element ) &&\n\t\t( 'play' in element && typeof element.play === 'function' ) &&\n\t\t( 'pause' in element && typeof element.pause === 'function' );\n}\n\ntype PlayPauseElement = HTMLElement & {\n\tpaused: boolean;\n\tcurrentTime: number;\n\tplay(): Promise;\n\tpause(): void;\n};\n","import { MrPlayPauseToggle } from '@mrhenry/wp--mr-interactive';\n\ncustomElements.define( 'mr-play-pause-toggle', MrPlayPauseToggle );\n","window.addEventListener( 'click', ( event ) => {\n\tif ( !( 'pirsch' in window ) ) return;\n\n\tconst target = event.target;\n\tif ( !target || !( target instanceof HTMLElement ) ) return;\n\tif ( !target.matches( 'a' ) ) return;\n\n\tconst anchor = target as HTMLAnchorElement;\n\n\tlet kind = '';\n\tif ( isDropboxDownloadLink( anchor ) ) {\n\t\tkind = 'Dropbox';\n\t} else if ( isAssetDownloadLink( anchor ) ) {\n\t\tkind = 'Asset';\n\t} else {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error pirsch is a global\n\twindow.pirsch( 'External Links', {\n\t\tmeta: {\n\t\t\tSource: kind,\n\t\t\tLabel: anchor.innerText,\n\t\t\tTarget: anchor.href,\n\t\t},\n\t} ).catch( ( e: unknown ) => {\n\t\tconsole.error( e );\n\t} );\n} );\n\nfunction isDropboxDownloadLink( anchor: HTMLAnchorElement ) {\n\treturn anchor.hostname === 'www.dropbox.com' && ( anchor.href.includes( 'dl=0' ) || anchor.href.includes( 'dl=1' ) );\n}\n\nfunction isAssetDownloadLink( anchor: HTMLAnchorElement ) {\n\treturn anchor.hasAttribute( 'data-trackable-asset-link' );\n}\n","import { doNotTrack } from '../do-not-track/do-not-track';\nimport { embedderIsEnabled, enableEmbedder, disableEmbedder } from './embeds';\n\ndeclare global {\n\tinterface Window {\n\t\tMr_Prv_Embedder_Helpers: {\n\t\t\tisEnabled( key: string ): boolean\n\t\t\tenable( key: string ): void\n\t\t\tdisable( key: string ): void\n\t\t\tcookieExpiration(): Date\n\t\t\tcookieDomain(): string|null\n\t\t};\n\t}\n}\n\nexport function setupPrivacyAwareEmbedders(): void {\n\twindow.Mr_Prv_Embedder_Helpers = {\n\t\tisEnabled: embedderIsEnabled,\n\t\tenable: enableEmbedder,\n\t\tdisable: disableEmbedder,\n\t\tcookieExpiration: (): Date => {\n\t\t\tconst d = new Date();\n\t\t\td.setTime( d.getTime() + 90 * 24 * 60 * 60 * 1000 );\n\n\t\t\treturn d;\n\t\t},\n\t\tcookieDomain: (): string|null => {\n\t\t\treturn null;\n\t\t},\n\t};\n\n\t// Make sure all content is unblocked eventually\n\tdocument.addEventListener( 'readystatechange', () => {\n\t\tdocument.querySelectorAll( '[mr-prv-embedder-blocked]' ).forEach( ( el ) => {\n\t\t\tconst key = el.getAttribute( 'mr-prv-embedder-blocked' );\n\t\t\tif ( !key ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( embedderIsEnabled( key ) ) {\n\t\t\t\tel.removeAttribute( 'mr-prv-embedder-blocked' );\n\t\t\t\tel.removeAttribute( 'tabindex' );\n\t\t\t}\n\t\t} );\n\n\t\tdocument.querySelectorAll( '[mr-prv-embedders-control]' ).forEach( ( el ) => {\n\t\t\tif ( !el || !( el instanceof HTMLInputElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( doNotTrack() ) {\n\t\t\t\tel.setAttribute( 'do-not-track', '1' );\n\t\t\t}\n\n\t\t\tconst enabled = embedderIsEnabled( el.name );\n\n\t\t\tif ( enabled && 'true' === el.value ) {\n\t\t\t\tel.checked = true;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !enabled && 'false' === el.value ) {\n\t\t\t\tel.checked = true;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tel.checked = false;\n\t\t} );\n\t} );\n\n\twindow.addEventListener( 'change', ( e ) => {\n\t\tif ( !e.target || !( e.target instanceof HTMLInputElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = e.target;\n\t\tif ( !input.hasAttribute( 'mr-prv-embedders-control' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( 'true' === input.value ) {\n\t\t\tenableEmbedder( input.name );\n\n\t\t\treturn;\n\t\t}\n\n\t\tdisableEmbedder( input.name );\n\t} );\n}\n","\ninterface MSDoNotTracker extends Navigator {\n\tmsDoNotTrack: string|undefined\n}\n\ninterface MSTrackingProtectionEnabler extends External {\n\tmsTrackingProtectionEnabled: () => boolean\n}\n\ninterface DoNotTrackerWindow extends Window {\n\tdoNotTrack: string\n}\n\n/**\n * Ponyfill for navigator.doNotTrack\n */\nexport function doNotTrack(): string|null {\n\ttry {\n\t\tif ( 'doNotTrack' in window ) {\n\t\t\tif ( '1' === ( ( window as unknown ) as DoNotTrackerWindow ).doNotTrack ) {\n\t\t\t\treturn '1';\n\t\t\t}\n\t\t}\n\n\t\tif ( 'navigator' in window ) {\n\t\t\tif ( '1' === navigator.doNotTrack ) {\n\t\t\t\treturn '1';\n\t\t\t}\n\n\t\t\tif ( 'yes' === navigator.doNotTrack ) {\n\t\t\t\treturn '1';\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( 'msDoNotTrack' in navigator && '1' == ( navigator as MSDoNotTracker ).msDoNotTrack ) {\n\t\t\t\treturn '1';\n\t\t\t}\n\t\t}\n\n\t\tif ( 'external' in window && 'msTrackingProtectionEnabled' in window.external ) {\n\t\t\tconst trackingProtector = ( window.external as MSTrackingProtectionEnabler );\n\t\t\tif (\n\t\t\t\t( 'function' === typeof trackingProtector.msTrackingProtectionEnabled ) &&\n\t\t\t\ttrackingProtector.msTrackingProtectionEnabled()\n\t\t\t) {\n\t\t\t\treturn '1';\n\t\t\t}\n\t\t}\n\t} catch ( err ) {\n\t\tconsole.warn( err );\n\n\t\treturn null;\n\t}\n\n\treturn null;\n}\n"],"names":["module","exports","_$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","schema","apiKey","defaultValue","message","validate","appVersion","undefined","appType","autoDetectErrors","enabledErrorTypes","unhandledExceptions","unhandledRejections","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","StackFrame","_isNumber","n","isNaN","parseFloat","isFinite","_capitalize","str","charAt","toUpperCase","substring","_getter","booleanProps","numericProps","stringProps","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","seen","edges","visit","path","edgesExceeded","MIN_PRESERVED_DEPTH","MAX_EDGES","MAX_DEPTH","REPLACEMENT_NODE","haystack","needle","find","fResult","err","throwsMessage","o","eResult","__isArray_30","aResult","isDescendent","shouldRedact","safelyGetProp","prepareObjForSerialization","paths","patterns","toLowerCase","add","existingFeatures","existingFeatureKeys","variant","existingIndex","_$featureFlagDelegate_18","clear","features","featuresIndex","merge","newFeatures","toEventApi","_ref","flag","featureFlag","_$hasStack_19","_$iserror_20","__clear_22","state","section","_$metadataDelegate_22","keyOrObj","maybeVal","_updates","updates","get","_$stackGenerator_33","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","errors","createBugsnagError","__type","_proto","addMetadata","getMetadata","clearMetadata","addFeatureFlag","addFeatureFlags","getFeatureFlags","clearFeatureFlag","clearFeatureFlags","getUser","setUser","id","email","payloadVersion","exceptions","er","severityReason","session","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","_$syncCallbackRunner_23","callbacks","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","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","onCallbackError","cb","index","next","_$asyncEvery_7","ret","then","setTimeout","_$callbackRunner_9","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","_$pad_43","__env_42","__globalCount_42","__prop_42","__mimeTypesLength_42","__clientId_42","_$fingerprint_42","__c_41","__blockSize_41","__base_41","__discreteValues_41","__randomBlock_41","__cuid_41","_$cuid_41","BUGSNAG_ANONYMOUS_ID_KEY","_$device_40","nav","locale","browserLanguage","systemLanguage","userLanguage","language","screen","orientation","document","documentElement","clientWidth","clientHeight","generateAnonymousId","storage","localStorage","getItem","setItem","getDeviceId","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_SCRIPT_LENGTH","_$inlineScriptContent_48","doc","trackInlineScripts","originalLocation","html","DOMContentLoaded","attachEvent","getHtml","outerHTML","prev","_lastScript","updateLastScript","script","getCurrentScript","currentScript","scripts","getElementsByTagName","cleanUrl","content","innerHTML","htmlLines","zeroBasedLine","start","end","addSurroundingCode","_setTimeout","__proxy","__traceOriginalScript","eventTargetCallbackAccessor","callbackAccessor","alsoCallOriginal","cba","__trace__","replacement","isEventHandlerObj","handleEvent","_$interactionBreadcrumbs_49","addEventListener","targetText","targetSelector","el","text","textContent","innerText","trimStart","trimEnd","getNodeSelector","tagName","className","querySelectorAll","parentNode","childNodes","_$navigationBreadcrumbs_50","drop","oldURL","from","relativeLocation","to","newURL","getCurrentState","history","replaceState","wrapHistoryFn","pushState","a","createElement","pathname","search","hash","orig","title","currentPath","prevState","stateChangeToMetadata","resetEventCount","BREADCRUMB_TYPE","_$networkBreadcrumbs_51","_ignoredUrls","ignoredUrls","nativeOpen","requestSetupKey","handleXHRError","handleXHRLoad","removeEventListener","monkeyPatchXMLHttpRequest","fetch","polyfill","oldFetch","_arguments","urlOrRequest","options","Promise","resolve","reject","response","handleFetchSuccess","handleFetchError","monkeyPatchFetch","_$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","isCallable","tryToString","$TypeError","argument","isConstructor","isPossiblePrototype","$String","wellKnownSymbol","defineProperty","UNSCOPABLES","ArrayPrototype","configurable","isPrototypeOf","it","Prototype","isObject","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","O","includes","fails","METHOD_NAME","DESCRIPTORS","isArray","getOwnPropertyDescriptor","SILENT_ON_NON_WRITABLE_LENGTH_SET","writable","uncurryThis","arraySlice","floor","sort","array","comparefn","element","middle","left","right","llength","rlength","lindex","rindex","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","done","SKIP_CLOSING","ITERATION_SUPPORT","object","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","tag","tryGet","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","keys","F","constructor","getPrototypeOf","createPropertyDescriptor","bitmap","enumerable","makeBuiltIn","descriptor","getter","set","setter","defineGlobalProperty","simple","global","unsafe","nonConfigurable","nonWritable","P","EXISTS","firefox","IS_DENO","IS_NODE","Deno","UA","Pebble","classof","process","versions","v8","webkit","$Error","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","createNonEnumerableProperty","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","C","defineBuiltIn","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","NATIVE_BIND","FunctionPrototype","Function","Reflect","aCallable","that","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","namespace","getMethod","isNullOrUndefined","Iterators","anObject","getIteratorMethod","usingIterator","iteratorMethod","V","func","check","globalThis","g","toObject","getBuiltIn","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","facade","STATE","enforce","getterFor","TYPE","documentAll","all","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","detection","normalize","POLYFILL","NATIVE","string","MATCH","isRegExp","USE_SYMBOL_AS_UID","$Symbol","isArrayIteratorMethod","getIterator","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterator","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","kind","innerResult","innerError","IteratorPrototype","setToStringTag","returnThis","IteratorConstructor","NAME","ENUMERABLE_NEXT","$","IS_PURE","FunctionName","createIteratorConstructor","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","proto","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","arity","ceil","trunc","toggle","node","safeGetBuiltIn","macrotask","Queue","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","microtask","queue","flush","parent","domain","exit","head","enter","nextTick","createTextNode","observe","characterData","PromiseCapability","$$resolve","$$reject","$default","activeXDocument","definePropertiesModule","enumBugKeys","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","appendChild","src","contentWindow","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","getOwnPropertyNames","getOwnPropertySymbols","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","requireObjectCoercible","aPossiblePrototype","CORRECT_SETTER","__proto__","input","pref","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","NativePromiseConstructor","IS_BROWSER","V8_VERSION","NativePromisePrototype","SPECIES","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability","promiseCapability","checkCorrectnessOfIteration","Target","Source","tail","entry","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","re","raw","groups","sticky","flags","charsAdded","strCopy","multiline","hasIndices","ignoreCase","dotAll","unicode","unicodeSets","regExpFlags","RegExpPrototype","R","$RegExp","MISSED_STICKY","defineBuiltInAccessor","CONSTRUCTOR_NAME","Constructor","TAG","uid","SHARED","mode","copyright","license","aConstructor","defaultConstructor","S","symbol","Symbol","$location","defer","channel","port","validateArgumentsLength","setImmediate","clearImmediate","Dispatch","MessageChannel","counter","ONREADYSTATECHANGE","run","runner","eventListener","globalPostMessageDefer","postMessage","handler","port2","port1","onmessage","importScripts","removeChild","toIntegerOrInfinity","integer","IndexedObject","number","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","NATIVE_SYMBOL","passed","required","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","installErrorStack","FULL_NAME","wrapper","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","ERROR_NAME","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","$includes","addToUnscopables","defineIterator","createIterResultObject","ARRAY_ITERATOR","setInternalState","iterated","Arguments","setArrayLength","doesNotExceedSafeInteger","properErrorOnNonWritableLength","argCount","deletePropertyOrThrow","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","chr","fromCharCode","itemsLength","items","arrayLength","y","getSortCompare","unshift","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","exportGlobalErrorCauseWrapper","exportWebAssemblyErrorCauseWrapper","init","newPromiseCapabilityModule","perform","iterate","capability","$promiseResolve","remaining","alreadyCalled","real","onRejected","Internal","OwnPromiseCapability","nativeThen","setSpecies","anInstance","speciesConstructor","task","hostReportErrors","PromiseConstructorDetection","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","PromiseWrapper","wrap","race","r","capabilityReject","promiseResolve","PromiseConstructorWrapper","CHECK_WRAPPER","getRegExpFlags","NativeRegExp","SyntaxError","stringIndexOf","IS_NCG","CORRECT_NEW","RegExpWrapper","pattern","rawFlags","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","named","brackets","ncg","groupid","groupname","handleNCG","handleDotAll","INCORRECT_VALUE","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","__esModule","definition","metaValue","metaTag","querySelector","bugsnagClient","theme","IntersectionObserverEntry","registry","intersectionRatio","IntersectionObserver","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_observationTargets","some","nodeType","_registerInstance","_monitorIntersections","_checkForIntersections","unobserve","_unmonitorIntersections","_unregisterInstance","disconnect","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","threshold","t","_parseRootMargin","opt_rootMargin","margins","margin","unit","_monitoringIntersections","_monitoringInterval","setInterval","addEvent","_domObserver","attributes","childList","subtree","clearInterval","removeEvent","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","top","bottom","width","height","forEach","targetRect","getBoundingClientRect","rootContainsTarget","_rootContainsTarget","oldEntry","intersectionRect","_computeTargetAndRootIntersection","newEntry","performance","boundingClientRect","rootBounds","_hasCrossedThreshold","isIntersecting","_callback","getComputedStyle","rect1","rect2","getParentNode","atRoot","parentRect","parentComputedStyle","overflow","_expandRectByRootMargin","rect","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","splice","targetArea","intersectionArea","callback","opt_options","timeout","timer","rootMargin","opt_useCapture","detatchEvent","child","assignedSlot","matchMedia","removeListener","addListener","once","remover","onchangeDescriptor","_onchangeHandler","_onchangeListener","_addListener","MediaQueryList","_removeListener","_matchMedia","media","_mql","observer","HTMLVideoElement","play","pause","userPrefersReducedMotion","getVideos","video","setAttribute","async","currentSrc","paused","videoClaimsToSupportPrefersReducedMotion","removeAttribute","hidePlaybackableState","videoError","videoSrc","networkState","hasAttribute","playbackableStateEventHandler","exposePlaybackableState","clickAfterFailedPlayAttemptEventHandler","isUnexpectedError","isTrusted","controls","preventDefault","stopPropagation","unpackRecords","record","pair","packRecords","out","embedderIsEnabled","cookie","Cookie","enableEmbedder","expires","Mr_Prv_Embedder_Helpers","cookieExpiration","cookieDomain","toUTCString","disableEmbedder","visibilityState","Document","createElementNS","aa","importNode","ba","prepend","ca","append","da","DocumentFragment","ea","q","Node","cloneNode","insertBefore","u","replaceChild","w","Element","attachShadow","z","A","getAttribute","B","D","toggleAttribute","E","getAttributeNS","setAttributeNS","G","removeAttributeNS","H","insertAdjacentElement","fa","insertAdjacentHTML","ha","ia","ja","before","ka","after","la","replaceWith","ma","remove","na","HTMLElement","I","oa","pa","qa","Set","ra","sa","contains","J","isConnected","__CE_isImportDocument","ShadowRoot","K","children","firstChild","nextSibling","ELEMENT_NODE","L","M","localName","import","__CE_shadowRoot","N","noDocumentConstructionObserver","shadyDomFastWalk","ShadyDOM","inUse","nativeMethods","Q","__CE_patched","__CE_state","connectedCallback","T","U","disconnectedCallback","upgrade","h","__CE_registry","__CE_documentLoadHandled","l","delete","ownerDocument","defaultView","W","constructionStack","constructorFunction","__CE_definition","attributeChangedCallback","hasAttributes","observedAttributes","X","va","namespaceURI","HTMLUnknownElement","sourceURL","column","ErrorEvent","initErrorEvent","cancelable","filename","lineno","colno","defaultPrevented","wa","xa","ya","Y","Map","za","Ba","adoptedCallback","Aa","Z","addedNodes","define","whenDefined","polyfillWrapFlushCallback","polyfillDefineLazy","Fa","customElements","Ia","Ga","Ca","TEXT_NODE","ta","COMMENT_NODE","Ha","previousSibling","lastChild","ua","Da","Ea","CustomElementRegistry","forcePolyfill","__CE_installPolyfill","MrInputSink","super","_MrInputSink_clickHandler","disabled","metaKey","trigger","directive","_MrInputSink_focusinHandler","directiveFocusin","_MrInputSink_focusoutHandler","directiveFocusout","_MrInputSink_keydownHandler","forEl","activeElement","_addEventListeners","_removeEventListeners","attr","forID","getElementById","updateState","attrName","oldVal","newVal","__classPrivateFieldGet","_createClass","protoProps","staticProps","_classCallCheck","instance","msMatchesSelector","_focusableElementsString","InertRoot","rootElement","inertManager","_inertManager","_rootElement","_managedNodes","_savedAriaHidden","_makeSubtreeUnfocusable","_observer","_onMutation","inertNode","_unmanageNode","startNode","composedTreeWalk","_visitNode","DOCUMENT_FRAGMENT_NODE","blur","focus","_adoptInertRoot","_manageNode","register","deregister","_this3","inertSubroot","getInertRoot","setInert","managedNodes","savedInertNode","_self","removedNodes","_unmanageSubtree","attributeName","managedNode","ariaHidden","InertNode","inertRoot","_node","_overrodeFocusMethod","_inertRoots","_savedTabIndex","_destroyed","ensureUntabbable","_throwIfDestroyed","destroyed","tabIndex","hasSavedTabIndex","destructor","InertManager","_document","_watchForInert","addInertStyle","_onDocumentLoaded","inert","addInertRoot","removeInertRoot","inertElement","inertElements","shadowRootAncestor","shadowRoot","distributedNodes","getDistributedNodes","slot","_distributedNodes","assignedNodes","flatten","_i","MrAccordion","_MrAccordion_clickHandler","handleToggleEvent","_MrAccordion_beforeMatchHandler","findTriggerFromPanelContents","_didAddKeypressEventListener","getTriggers","activeAccordion","closest","activeAccordionSelector","triggers","which","ctrlModifier","ctrlKey","direction","addKeypressEventListener","onlyOpen","isExpanded","panel","ids","walker","query","ResizeObserverBoxOptions","resizeObservers","msg","freeze","ResizeObserverSize","inlineSize","DOMRectReadOnly","_a","fromRect","rectangle","isSVG","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","isElement","scope","cache","scrollRegexp","verticalRegexp","IE","parseDimension","pixel","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","cs","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","verticalScrollbarThickness","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","depth","broadcastActiveObservations","shallowestDepth","ro","activeTargets","ot","targetDepth","lastReportedSize","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","isActive","watching","observerConfig","scheduled","scheduler","Scheduler","schedule","until","elementsHaveResized","toggle_1","el_1","queueMicroTask","requestAnimationFrame","updateCount","ResizeObservation","CONTENT_BOX","isReplacedElement","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","ResizeObserverController","connect","firstObservation","box","lastObservation","ResizeObserver","isHoverDevice","MrHotspot","_MrHotspot_resizeObserver","details","_MrHotspot_toggleHandler","isOpen","_MrHotspot_focusinHandler","ensureDetailsFitsWithinBounds","closeAllOtherHotspots","_MrHotspot_openHandler","_MrHotspot_closeHandler","_this$parentElement","_this$parentElement2","_this$parentElement3","parentElement","area","_this$parentElement4","_this$parentElement5","_this$parentElement6","_this$closest","mainBoundaries","thisBoundaries","thisBoundariesTop","thisBoundariesLeft","thisBoundariesBottom","thisBoundariesRight","detailBoundaries","extraWidth","extraHeight","hasSpaceOnTheRight","hasSpaceAtTheBottom","mostAvailableHorizontalSpace","mostAvailableVerticalSpace","horizontalMarginWhenCentered","horizontalOffset","xAxis","yAxis","otherHotspot","MrVideo","setupVideoPlayback","getAttachedVideo","videoSources","videos","getWidth","getHeight","selectedVideo","videoSource","multiplier","innerWidth","innerHeight","videoId","playAllAnimations","keyframeEffects","Animation","promises","KeyframeEffect","getTiming","updateTiming","maxTiming","keyframeEffect","newMax","timing","_timing$delay","_timing$endDelay","_timing$delay2","_timing$endDelay2","delay","endDelay","getMaxTiming","iterations","reduceMotion","animation","timeline","onfinish","MrDialog","_MrDialog_escapeHandler","_MrDialog_previousActiveElement","__classPrivateFieldSet","willOpen","_this$firstFocusableE","firstFocusableElement","openAnimations","didOpen","willClose","closeAnimations","didClose","gracefullShutdown","hidden","autoFocusChild","firstFocusableChild","MrModalDialog","classList","mrVideo","opacity","easing","fill","MrPlayPauseToggle","_MrPlayPauseToggle_clickHandler","getAttachedMedia","currentTime","playPromise","catch","_MrPlayPauseToggle_timeupdateHandler","setStateAttribute","_MrPlayPauseToggle_playHandler","_MrPlayPauseToggle_pauseHandler","stopListening","startListening","onId","labelledElement","withId","anchor","hostname","isDropboxDownloadLink","isAssetDownloadLink","pirsch","meta","Label","isEnabled","enable","disable","setTime","HTMLInputElement","doNotTrack","msDoNotTrack","external","trackingProtector","msTrackingProtectionEnabled","enabled","checked"],"sourceRoot":""}