UNPKG

426 kBSource Map (JSON)View Raw
1{"version":3,"file":"auth0-spa-js.production.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/redefine.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.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/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/core-js/internals/entry-unbind.js","../node_modules/core-js/es/string/starts-with.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/well-known-symbol-wrapped.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/define-well-known-symbol.js","../node_modules/core-js/internals/symbol-define-to-primitive.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/modules/es.symbol.constructor.js","../node_modules/core-js/internals/native-symbol-registry.js","../node_modules/core-js/modules/es.symbol.for.js","../node_modules/core-js/modules/es.symbol.key-for.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/modules/es.json.stringify.js","../node_modules/core-js/modules/es.object.get-own-property-symbols.js","../node_modules/core-js/modules/es.symbol.async-iterator.js","../node_modules/core-js/modules/es.symbol.description.js","../node_modules/core-js/modules/es.symbol.has-instance.js","../node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","../node_modules/core-js/modules/es.symbol.iterator.js","../node_modules/core-js/modules/es.symbol.match.js","../node_modules/core-js/modules/es.symbol.match-all.js","../node_modules/core-js/modules/es.symbol.replace.js","../node_modules/core-js/modules/es.symbol.search.js","../node_modules/core-js/modules/es.symbol.species.js","../node_modules/core-js/modules/es.symbol.split.js","../node_modules/core-js/modules/es.symbol.to-primitive.js","../node_modules/core-js/modules/es.symbol.to-string-tag.js","../node_modules/core-js/modules/es.symbol.unscopables.js","../node_modules/core-js/modules/es.json.to-string-tag.js","../node_modules/core-js/modules/es.math.to-string-tag.js","../node_modules/core-js/modules/es.reflect.to-string-tag.js","../node_modules/core-js/es/symbol/index.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/define-iterator.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/modules/es.array.from.js","../node_modules/core-js/es/array/from.js","../node_modules/core-js/internals/array-buffer-native.js","../node_modules/core-js/internals/array-buffer-view-core.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/typed-array-species-constructor.js","../node_modules/core-js/modules/es.typed-array.slice.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/es/array/includes.js","../node_modules/core-js/modules/es.string.includes.js","../node_modules/core-js/es/string/includes.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/object-is-extensible.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/redefine-all.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/promise-polyfill/src/finally.js","../node_modules/promise-polyfill/src/allSettled.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/modules/es.set.constructor.js","../node_modules/core-js/es/set/index.js","../node_modules/promise-polyfill/src/index.js","../node_modules/promise-polyfill/src/polyfill.js","../node_modules/fast-text-encoding/text.min.js","../node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","../node_modules/browser-tabs-lock/processLock.js","../node_modules/browser-tabs-lock/index.js","../src/constants.ts","../src/version.ts","../src/errors.ts","../src/utils.ts","../src/worker/worker.utils.ts","../src/http.ts","../node_modules/unfetch/src/index.mjs","../src/api.ts","../src/scope.ts","../src/cache/shared.ts","../src/cache/cache-localstorage.ts","../src/cache/cache-memory.ts","../src/cache/cache-manager.ts","../src/transaction-manager.ts","../src/jwt.ts","../node_modules/es-cookie/src/es-cookie.js","../src/storage.ts","../src/promise-utils.ts","../src/cache/key-manifest.ts","../src/Auth0Client.ts","../src/user-agent.ts","../src/global.ts","../src/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","var 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-x/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 // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var 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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/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","var 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 $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/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","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var 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","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.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","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\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","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var 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","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\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","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\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 = global.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","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.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 TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/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","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var 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-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var 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","var 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/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\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 = global.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 TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var 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","var 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","var 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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var 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-x/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","var 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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var global = require('../internals/global');\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 = global.TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/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 TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var 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","var 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","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\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 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 var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, 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","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var 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","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/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","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\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 -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var 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","var 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 return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var 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","var 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 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","var 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","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var 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-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var 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","var 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","var 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","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\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.noTargetGet - 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] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\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 // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var 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 $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\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 = global.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","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var 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","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]);\n};\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var 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 empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, 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","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var 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-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\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-x/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","var 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-x/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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar redefine = require('../internals/redefine');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n });\n }\n};\n","var 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","var uncurryThis = require('../internals/function-uncurry-this');\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","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\n/* eslint-disable es-x/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/native-symbol-registry');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/native-symbol-registry');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","var 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-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n var symbolToString = uncurryThis(SymbolPrototype.toString);\n var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = symbolValueOf(this);\n var string = symbolToString(symbol);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","var getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\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-x/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 = IteratorPrototype == undefined || 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 redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var global = require('../internals/global');\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 = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\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","module.exports = {};\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","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\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-x/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 // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\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/create-iterator-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 redefine = require('../internals/redefine');\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 in IterablePrototype) return IterablePrototype[KIND];\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 } 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 redefine(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 redefine(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 redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var 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","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var 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","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\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 = global.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 TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var 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-x/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 if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\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","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es-x/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","// eslint-disable-next-line es-x/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\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 definePropertyModule.f(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 $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', '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/define-iterator');\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 kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: 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","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var global = require('../internals/global');\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 = global.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_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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw 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 = 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","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\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 var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(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 create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","function allSettled(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(\n new TypeError(\n typeof arr +\n ' ' +\n arr +\n ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n )\n );\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n function(e) {\n args[i] = { status: 'rejected', reason: e };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n );\n return;\n }\n }\n args[i] = { status: 'fulfilled', value: val };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\n\nexport default allSettled;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var 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 collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.set');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array<!Function>} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\n// Expose the polyfill if Promise is undefined or set to a\n// non-function value. The latter can be due to a named HTMLElement\n// being exposed by browsers for legacy reasons.\n// https://github.com/taylorhakes/promise-polyfill/issues/114\nif (typeof globalNS['Promise'] !== 'function') {\n globalNS['Promise'] = Promise;\n} else {\n if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n } \n if (!globalNS.Promise.allSettled) {\n globalNS.Promise.allSettled = allSettled;\n }\n}\n","(function(l){function m(){}function k(a,c){a=void 0===a?\"utf-8\":a;c=void 0===c?{fatal:!1}:c;if(-1===r.indexOf(a.toLowerCase()))throw new RangeError(\"Failed to construct 'TextDecoder': The encoding label provided ('\"+a+\"') is invalid.\");if(c.fatal)throw Error(\"Failed to construct 'TextDecoder': the 'fatal' option is unsupported.\");}function t(a){return Buffer.from(a.buffer,a.byteOffset,a.byteLength).toString(\"utf-8\")}function u(a){var c=URL.createObjectURL(new Blob([a],{type:\"text/plain;charset=UTF-8\"}));\ntry{var f=new XMLHttpRequest;f.open(\"GET\",c,!1);f.send();return f.responseText}catch(e){return q(a)}finally{URL.revokeObjectURL(c)}}function q(a){for(var c=0,f=Math.min(65536,a.length+1),e=new Uint16Array(f),h=[],d=0;;){var b=c<a.length;if(!b||d>=f-1){h.push(String.fromCharCode.apply(null,e.subarray(0,d)));if(!b)return h.join(\"\");a=a.subarray(c);d=c=0}b=a[c++];if(0===(b&128))e[d++]=b;else if(192===(b&224)){var g=a[c++]&63;e[d++]=(b&31)<<6|g}else if(224===(b&240)){g=a[c++]&63;var n=a[c++]&63;e[d++]=\n(b&31)<<12|g<<6|n}else if(240===(b&248)){g=a[c++]&63;n=a[c++]&63;var v=a[c++]&63;b=(b&7)<<18|g<<12|n<<6|v;65535<b&&(b-=65536,e[d++]=b>>>10&1023|55296,b=56320|b&1023);e[d++]=b}}}if(l.TextEncoder&&l.TextDecoder)return!1;var r=[\"utf-8\",\"utf8\",\"unicode-1-1-utf-8\"];Object.defineProperty(m.prototype,\"encoding\",{value:\"utf-8\"});m.prototype.encode=function(a,c){c=void 0===c?{stream:!1}:c;if(c.stream)throw Error(\"Failed to encode: the 'stream' option is unsupported.\");c=0;for(var f=a.length,e=0,h=Math.max(32,\nf+(f>>>1)+7),d=new Uint8Array(h>>>3<<3);c<f;){var b=a.charCodeAt(c++);if(55296<=b&&56319>=b){if(c<f){var g=a.charCodeAt(c);56320===(g&64512)&&(++c,b=((b&1023)<<10)+(g&1023)+65536)}if(55296<=b&&56319>=b)continue}e+4>d.length&&(h+=8,h*=1+c/a.length*2,h=h>>>3<<3,g=new Uint8Array(h),g.set(d),d=g);if(0===(b&4294967168))d[e++]=b;else{if(0===(b&4294965248))d[e++]=b>>>6&31|192;else if(0===(b&4294901760))d[e++]=b>>>12&15|224,d[e++]=b>>>6&63|128;else if(0===(b&4292870144))d[e++]=b>>>18&7|240,d[e++]=b>>>12&\n63|128,d[e++]=b>>>6&63|128;else continue;d[e++]=b&63|128}}return d.slice?d.slice(0,e):d.subarray(0,e)};Object.defineProperty(k.prototype,\"encoding\",{value:\"utf-8\"});Object.defineProperty(k.prototype,\"fatal\",{value:!1});Object.defineProperty(k.prototype,\"ignoreBOM\",{value:!1});var p=q;\"function\"===typeof Buffer&&Buffer.from?p=t:\"function\"===typeof Blob&&\"function\"===typeof URL&&\"function\"===typeof URL.createObjectURL&&(p=u);k.prototype.decode=function(a,c){c=void 0===c?{stream:!1}:c;if(c.stream)throw Error(\"Failed to decode: the 'stream' option is unsupported.\");\na=a instanceof Uint8Array?a:a.buffer instanceof ArrayBuffer?new Uint8Array(a.buffer):new Uint8Array(a);return p(a)};l.TextEncoder=m;l.TextDecoder=k})(\"undefined\"!==typeof window?window:\"undefined\"!==typeof global?global:this);\n","(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n})));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ProcessLocking = /** @class */ (function () {\n function ProcessLocking() {\n var _this = this;\n this.locked = new Map();\n this.addToLocked = function (key, toAdd) {\n var callbacks = _this.locked.get(key);\n if (callbacks === undefined) {\n if (toAdd === undefined) {\n _this.locked.set(key, []);\n }\n else {\n _this.locked.set(key, [toAdd]);\n }\n }\n else {\n if (toAdd !== undefined) {\n callbacks.unshift(toAdd);\n _this.locked.set(key, callbacks);\n }\n }\n };\n this.isLocked = function (key) {\n return _this.locked.has(key);\n };\n this.lock = function (key) {\n return new Promise(function (resolve, reject) {\n if (_this.isLocked(key)) {\n _this.addToLocked(key, resolve);\n }\n else {\n _this.addToLocked(key);\n resolve();\n }\n });\n };\n this.unlock = function (key) {\n var callbacks = _this.locked.get(key);\n if (callbacks === undefined || callbacks.length === 0) {\n _this.locked.delete(key);\n return;\n }\n var toCall = callbacks.pop();\n _this.locked.set(key, callbacks);\n if (toCall !== undefined) {\n setTimeout(toCall, 0);\n }\n };\n }\n ProcessLocking.getInstance = function () {\n if (ProcessLocking.instance === undefined) {\n ProcessLocking.instance = new ProcessLocking();\n }\n return ProcessLocking.instance;\n };\n return ProcessLocking;\n}());\nfunction getLock() {\n return ProcessLocking.getInstance();\n}\nexports.default = getLock;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar processLock_1 = require(\"./processLock\");\n/**\n * @author: SuperTokens (https://github.com/supertokens)\n * This library was created as a part of a larger project, SuperTokens(https://supertokens.io) - the best session management solution.\n * You can also check out our other projects on https://github.com/supertokens\n *\n * To contribute to this package visit https://github.com/supertokens/browser-tabs-lock\n * If you face any problems you can file an issue on https://github.com/supertokens/browser-tabs-lock/issues\n *\n * If you have any questions or if you just want to say hi visit https://supertokens.io/discord\n */\n/**\n * @constant\n * @type {string}\n * @default\n * @description All the locks taken by this package will have this as prefix\n*/\nvar LOCK_STORAGE_KEY = 'browser-tabs-lock-key';\n/**\n * @function delay\n * @param {number} milliseconds - How long the delay should be in terms of milliseconds\n * @returns {Promise<void>}\n */\nfunction delay(milliseconds) {\n return new Promise(function (resolve) { return setTimeout(resolve, milliseconds); });\n}\n/**\n * @function generateRandomString\n * @params {number} length - How long the random string should be\n * @returns {string}\n * @description returns random string whose length is equal to the length passed as parameter\n */\nfunction generateRandomString(length) {\n var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n var randomstring = '';\n for (var i = 0; i < length; i++) {\n var INDEX = Math.floor(Math.random() * CHARS.length);\n randomstring += CHARS[INDEX];\n }\n return randomstring;\n}\n/**\n * @function getLockId\n * @returns {string}\n * @description Generates an id which will be unique for the browser tab\n */\nfunction getLockId() {\n return Date.now().toString() + generateRandomString(15);\n}\nvar SuperTokensLock = /** @class */ (function () {\n function SuperTokensLock() {\n this.acquiredIatSet = new Set();\n this.id = getLockId();\n this.acquireLock = this.acquireLock.bind(this);\n this.releaseLock = this.releaseLock.bind(this);\n this.releaseLock__private__ = this.releaseLock__private__.bind(this);\n this.waitForSomethingToChange = this.waitForSomethingToChange.bind(this);\n this.refreshLockWhileAcquired = this.refreshLockWhileAcquired.bind(this);\n if (SuperTokensLock.waiters === undefined) {\n SuperTokensLock.waiters = [];\n }\n }\n /**\n * @async\n * @memberOf Lock\n * @function acquireLock\n * @param {string} lockKey - Key for which the lock is being acquired\n * @param {number} [timeout=5000] - Maximum time for which the function will wait to acquire the lock\n * @returns {Promise<boolean>}\n * @description Will return true if lock is being acquired, else false.\n * Also the lock can be acquired for maximum 10 secs\n */\n SuperTokensLock.prototype.acquireLock = function (lockKey, timeout) {\n if (timeout === void 0) { timeout = 5000; }\n return __awaiter(this, void 0, void 0, function () {\n var iat, MAX_TIME, STORAGE_KEY, STORAGE, lockObj, TIMEOUT_KEY, lockObjPostDelay;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n iat = Date.now() + generateRandomString(4);\n MAX_TIME = Date.now() + timeout;\n STORAGE_KEY = LOCK_STORAGE_KEY + \"-\" + lockKey;\n STORAGE = window.localStorage;\n _a.label = 1;\n case 1:\n if (!(Date.now() < MAX_TIME)) return [3 /*break*/, 8];\n return [4 /*yield*/, delay(30)];\n case 2:\n _a.sent();\n lockObj = STORAGE.getItem(STORAGE_KEY);\n if (!(lockObj === null)) return [3 /*break*/, 5];\n TIMEOUT_KEY = this.id + \"-\" + lockKey + \"-\" + iat;\n // there is a problem if setItem happens at the exact same time for 2 different processes.. so we add some random delay here.\n return [4 /*yield*/, delay(Math.floor(Math.random() * 25))];\n case 3:\n // there is a problem if setItem happens at the exact same time for 2 different processes.. so we add some random delay here.\n _a.sent();\n STORAGE.setItem(STORAGE_KEY, JSON.stringify({\n id: this.id,\n iat: iat,\n timeoutKey: TIMEOUT_KEY,\n timeAcquired: Date.now(),\n timeRefreshed: Date.now()\n }));\n return [4 /*yield*/, delay(30)];\n case 4:\n _a.sent(); // this is to prevent race conditions. This time must be more than the time it takes for storage.setItem\n lockObjPostDelay = STORAGE.getItem(STORAGE_KEY);\n if (lockObjPostDelay !== null) {\n lockObjPostDelay = JSON.parse(lockObjPostDelay);\n if (lockObjPostDelay.id === this.id && lockObjPostDelay.iat === iat) {\n this.acquiredIatSet.add(iat);\n this.refreshLockWhileAcquired(STORAGE_KEY, iat);\n return [2 /*return*/, true];\n }\n }\n return [3 /*break*/, 7];\n case 5:\n SuperTokensLock.lockCorrector();\n return [4 /*yield*/, this.waitForSomethingToChange(MAX_TIME)];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7:\n iat = Date.now() + generateRandomString(4);\n return [3 /*break*/, 1];\n case 8: return [2 /*return*/, false];\n }\n });\n });\n };\n SuperTokensLock.prototype.refreshLockWhileAcquired = function (storageKey, iat) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n var STORAGE, lockObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, processLock_1.default().lock(iat)];\n case 1:\n _a.sent();\n if (!this.acquiredIatSet.has(iat)) {\n processLock_1.default().unlock(iat);\n return [2 /*return*/];\n }\n STORAGE = window.localStorage;\n lockObj = STORAGE.getItem(storageKey);\n if (lockObj !== null) {\n lockObj = JSON.parse(lockObj);\n lockObj.timeRefreshed = Date.now();\n STORAGE.setItem(storageKey, JSON.stringify(lockObj));\n processLock_1.default().unlock(iat);\n }\n else {\n processLock_1.default().unlock(iat);\n return [2 /*return*/];\n }\n this.refreshLockWhileAcquired(storageKey, iat);\n return [2 /*return*/];\n }\n });\n }); }, 1000);\n return [2 /*return*/];\n });\n });\n };\n SuperTokensLock.prototype.waitForSomethingToChange = function (MAX_TIME) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, new Promise(function (resolve) {\n var resolvedCalled = false;\n var startedAt = Date.now();\n var MIN_TIME_TO_WAIT = 50; // ms\n var removedListeners = false;\n function stopWaiting() {\n if (!removedListeners) {\n window.removeEventListener('storage', stopWaiting);\n SuperTokensLock.removeFromWaiting(stopWaiting);\n clearTimeout(timeOutId);\n removedListeners = true;\n }\n if (!resolvedCalled) {\n resolvedCalled = true;\n var timeToWait = MIN_TIME_TO_WAIT - (Date.now() - startedAt);\n if (timeToWait > 0) {\n setTimeout(resolve, timeToWait);\n }\n else {\n resolve();\n }\n }\n }\n window.addEventListener('storage', stopWaiting);\n SuperTokensLock.addToWaiting(stopWaiting);\n var timeOutId = setTimeout(stopWaiting, Math.max(0, MAX_TIME - Date.now()));\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SuperTokensLock.addToWaiting = function (func) {\n this.removeFromWaiting(func);\n if (SuperTokensLock.waiters === undefined) {\n return;\n }\n SuperTokensLock.waiters.push(func);\n };\n SuperTokensLock.removeFromWaiting = function (func) {\n if (SuperTokensLock.waiters === undefined) {\n return;\n }\n SuperTokensLock.waiters = SuperTokensLock.waiters.filter(function (i) { return i !== func; });\n };\n SuperTokensLock.notifyWaiters = function () {\n if (SuperTokensLock.waiters === undefined) {\n return;\n }\n var waiters = SuperTokensLock.waiters.slice(); // so that if Lock.waiters is changed it's ok.\n waiters.forEach(function (i) { return i(); });\n };\n /**\n * @function releaseLock\n * @memberOf Lock\n * @param {string} lockKey - Key for which lock is being released\n * @returns {void}\n * @description Release a lock.\n */\n SuperTokensLock.prototype.releaseLock = function (lockKey) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.releaseLock__private__(lockKey)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * @function releaseLock\n * @memberOf Lock\n * @param {string} lockKey - Key for which lock is being released\n * @returns {void}\n * @description Release a lock.\n */\n SuperTokensLock.prototype.releaseLock__private__ = function (lockKey) {\n return __awaiter(this, void 0, void 0, function () {\n var STORAGE, STORAGE_KEY, lockObj;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n STORAGE = window.localStorage;\n STORAGE_KEY = LOCK_STORAGE_KEY + \"-\" + lockKey;\n lockObj = STORAGE.getItem(STORAGE_KEY);\n if (lockObj === null) {\n return [2 /*return*/];\n }\n lockObj = JSON.parse(lockObj);\n if (!(lockObj.id === this.id)) return [3 /*break*/, 2];\n return [4 /*yield*/, processLock_1.default().lock(lockObj.iat)];\n case 1:\n _a.sent();\n this.acquiredIatSet.delete(lockObj.iat);\n STORAGE.removeItem(STORAGE_KEY);\n processLock_1.default().unlock(lockObj.iat);\n SuperTokensLock.notifyWaiters();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @function lockCorrector\n * @returns {void}\n * @description If a lock is acquired by a tab and the tab is closed before the lock is\n * released, this function will release those locks\n */\n SuperTokensLock.lockCorrector = function () {\n var MIN_ALLOWED_TIME = Date.now() - 5000;\n var STORAGE = window.localStorage;\n var KEYS = Object.keys(STORAGE);\n var notifyWaiters = false;\n for (var i = 0; i < KEYS.length; i++) {\n var LOCK_KEY = KEYS[i];\n if (LOCK_KEY.includes(LOCK_STORAGE_KEY)) {\n var lockObj = STORAGE.getItem(LOCK_KEY);\n if (lockObj !== null) {\n lockObj = JSON.parse(lockObj);\n if ((lockObj.timeRefreshed === undefined && lockObj.timeAcquired < MIN_ALLOWED_TIME) ||\n (lockObj.timeRefreshed !== undefined && lockObj.timeRefreshed < MIN_ALLOWED_TIME)) {\n STORAGE.removeItem(LOCK_KEY);\n notifyWaiters = true;\n }\n }\n }\n }\n if (notifyWaiters) {\n SuperTokensLock.notifyWaiters();\n }\n };\n SuperTokensLock.waiters = undefined;\n return SuperTokensLock;\n}());\nexports.default = SuperTokensLock;\n","import { PopupConfigOptions } from './global';\nimport version from './version';\n\n/**\n * @ignore\n */\nexport const DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS = 60;\n\n/**\n * @ignore\n */\nexport const DEFAULT_POPUP_CONFIG_OPTIONS: PopupConfigOptions = {\n timeoutInSeconds: DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS\n};\n\n/**\n * @ignore\n */\nexport const DEFAULT_SILENT_TOKEN_RETRY_COUNT = 3;\n\n/**\n * @ignore\n */\nexport const CLEANUP_IFRAME_TIMEOUT_IN_SECONDS = 2;\n\n/**\n * @ignore\n */\nexport const DEFAULT_FETCH_TIMEOUT_MS = 10000;\n\nexport const CACHE_LOCATION_MEMORY = 'memory';\nexport const CACHE_LOCATION_LOCAL_STORAGE = 'localstorage';\n\n/**\n * @ignore\n */\nexport const MISSING_REFRESH_TOKEN_ERROR_MESSAGE =\n 'The web worker is missing the refresh token';\n\n/**\n * @ignore\n */\nexport const INVALID_REFRESH_TOKEN_ERROR_MESSAGE = 'invalid refresh token';\n\n/**\n * @ignore\n */\nexport const DEFAULT_SCOPE = 'openid profile email';\n\n/**\n * A list of errors that can be issued by the authorization server which the\n * user can recover from by signing in interactively.\n * https://openid.net/specs/openid-connect-core-1_0.html#AuthError\n * @ignore\n */\nexport const RECOVERABLE_ERRORS = [\n 'login_required',\n 'consent_required',\n 'interaction_required',\n 'account_selection_required',\n // Strictly speaking the user can't recover from `access_denied` - but they\n // can get more information about their access being denied by logging in\n // interactively.\n 'access_denied'\n];\n\n/**\n * @ignore\n */\nexport const DEFAULT_SESSION_CHECK_EXPIRY_DAYS = 1;\n\n/**\n * @ignore\n */\nexport const DEFAULT_AUTH0_CLIENT = {\n name: 'auth0-spa-js',\n version: version\n};\n\nexport const DEFAULT_NOW_PROVIDER = () => Date.now();\n","export default '1.21.1';\n","/**\n * For context on the istanbul ignore statements below, see:\n * https://github.com/gotwarlost/istanbul/issues/690\n */\n\n/**\n * Thrown when network requests to the Auth server fail.\n */\nexport class GenericError extends Error {\n /* istanbul ignore next */\n constructor(public error: string, public error_description: string) {\n super(error_description);\n Object.setPrototypeOf(this, GenericError.prototype);\n }\n\n static fromPayload({\n error,\n error_description\n }: {\n error: string;\n error_description: string;\n }) {\n return new GenericError(error, error_description);\n }\n}\n\n/**\n * Thrown when handling the redirect callback fails, will be one of Auth0's\n * Authentication API's Standard Error Responses: https://auth0.com/docs/api/authentication?javascript#standard-error-responses\n */\nexport class AuthenticationError extends GenericError {\n /* istanbul ignore next */\n constructor(\n error: string,\n error_description: string,\n public state: string,\n public appState: any = null\n ) {\n super(error, error_description);\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n\n/**\n * Thrown when silent auth times out (usually due to a configuration issue) or\n * when network requests to the Auth server timeout.\n */\nexport class TimeoutError extends GenericError {\n /* istanbul ignore next */\n constructor() {\n super('timeout', 'Timeout');\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n\n/**\n * Error thrown when the login popup times out (if the user does not complete auth)\n */\nexport class PopupTimeoutError extends TimeoutError {\n /* istanbul ignore next */\n constructor(public popup: Window) {\n super();\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, PopupTimeoutError.prototype);\n }\n}\n\nexport class PopupCancelledError extends GenericError {\n /* istanbul ignore next */\n constructor(public popup: Window) {\n super('cancelled', 'Popup closed');\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, PopupCancelledError.prototype);\n }\n}\n\n/**\n * Error thrown when the token exchange results in a `mfa_required` error\n */\nexport class MfaRequiredError extends GenericError {\n /* istanbul ignore next */\n constructor(\n error: string,\n error_description: string,\n public mfa_token: string\n ) {\n super(error, error_description);\n //https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, MfaRequiredError.prototype);\n }\n}\n","import { AuthenticationResult, PopupConfigOptions } from './global';\n\nimport {\n DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS,\n CLEANUP_IFRAME_TIMEOUT_IN_SECONDS\n} from './constants';\n\nimport {\n PopupTimeoutError,\n TimeoutError,\n GenericError,\n PopupCancelledError\n} from './errors';\n\nexport const parseQueryResult = (queryString: string): AuthenticationResult => {\n if (queryString.indexOf('#') > -1) {\n queryString = queryString.substr(0, queryString.indexOf('#'));\n }\n\n const queryParams = queryString.split('&');\n const parsedQuery: Record<string, any> = {};\n\n queryParams.forEach(qp => {\n const [key, val] = qp.split('=');\n parsedQuery[key] = decodeURIComponent(val);\n });\n\n if (parsedQuery.expires_in) {\n parsedQuery.expires_in = parseInt(parsedQuery.expires_in);\n }\n\n return parsedQuery as AuthenticationResult;\n};\n\nexport const runIframe = (\n authorizeUrl: string,\n eventOrigin: string,\n timeoutInSeconds: number = DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS\n) => {\n return new Promise<AuthenticationResult>((res, rej) => {\n const iframe = window.document.createElement('iframe');\n\n iframe.setAttribute('width', '0');\n iframe.setAttribute('height', '0');\n iframe.style.display = 'none';\n\n const removeIframe = () => {\n if (window.document.body.contains(iframe)) {\n window.document.body.removeChild(iframe);\n window.removeEventListener('message', iframeEventHandler, false);\n }\n };\n\n let iframeEventHandler: (e: MessageEvent) => void;\n\n const timeoutSetTimeoutId = setTimeout(() => {\n rej(new TimeoutError());\n removeIframe();\n }, timeoutInSeconds * 1000);\n\n iframeEventHandler = function (e: MessageEvent) {\n if (e.origin != eventOrigin) return;\n if (!e.data || e.data.type !== 'authorization_response') return;\n\n const eventSource = e.source;\n\n if (eventSource) {\n (eventSource as any).close();\n }\n\n e.data.response.error\n ? rej(GenericError.fromPayload(e.data.response))\n : res(e.data.response);\n\n clearTimeout(timeoutSetTimeoutId);\n window.removeEventListener('message', iframeEventHandler, false);\n\n // Delay the removal of the iframe to prevent hanging loading status\n // in Chrome: https://github.com/auth0/auth0-spa-js/issues/240\n setTimeout(removeIframe, CLEANUP_IFRAME_TIMEOUT_IN_SECONDS * 1000);\n };\n\n window.addEventListener('message', iframeEventHandler, false);\n window.document.body.appendChild(iframe);\n iframe.setAttribute('src', authorizeUrl);\n });\n};\n\nexport const openPopup = (url: string) => {\n const width = 400;\n const height = 600;\n const left = window.screenX + (window.innerWidth - width) / 2;\n const top = window.screenY + (window.innerHeight - height) / 2;\n\n return window.open(\n url,\n 'auth0:authorize:popup',\n `left=${left},top=${top},width=${width},height=${height},resizable,scrollbars=yes,status=1`\n );\n};\n\nexport const runPopup = (config: PopupConfigOptions) => {\n return new Promise<AuthenticationResult>((resolve, reject) => {\n let popupEventListener: EventListenerOrEventListenerObject;\n\n // Check each second if the popup is closed triggering a PopupCancelledError\n const popupTimer = setInterval(() => {\n if (config.popup && config.popup.closed) {\n clearInterval(popupTimer);\n clearTimeout(timeoutId);\n window.removeEventListener('message', popupEventListener, false);\n reject(new PopupCancelledError(config.popup));\n }\n }, 1000);\n\n const timeoutId = setTimeout(() => {\n clearInterval(popupTimer);\n reject(new PopupTimeoutError(config.popup));\n window.removeEventListener('message', popupEventListener, false);\n }, (config.timeoutInSeconds || DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS) * 1000);\n\n popupEventListener = function (e: MessageEvent) {\n if (!e.data || e.data.type !== 'authorization_response') {\n return;\n }\n\n clearTimeout(timeoutId);\n clearInterval(popupTimer);\n window.removeEventListener('message', popupEventListener, false);\n config.popup.close();\n\n if (e.data.response.error) {\n return reject(GenericError.fromPayload(e.data.response));\n }\n\n resolve(e.data.response);\n };\n\n window.addEventListener('message', popupEventListener);\n });\n};\n\nexport const getCrypto = () => {\n //ie 11.x uses msCrypto\n return (window.crypto || (window as any).msCrypto) as Crypto;\n};\n\nexport const getCryptoSubtle = () => {\n const crypto = getCrypto();\n //safari 10.x uses webkitSubtle\n return crypto.subtle || (crypto as any).webkitSubtle;\n};\nexport const createRandomString = () => {\n const charset =\n '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.';\n let random = '';\n const randomValues = Array.from(\n getCrypto().getRandomValues(new Uint8Array(43))\n );\n randomValues.forEach(v => (random += charset[v % charset.length]));\n return random;\n};\n\nexport const encode = (value: string) => btoa(value);\nexport const decode = (value: string) => atob(value);\n\nexport const createQueryParams = (params: any) => {\n return Object.keys(params)\n .filter(k => typeof params[k] !== 'undefined')\n .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k]))\n .join('&');\n};\n\nexport const sha256 = async (s: string) => {\n const digestOp: any = getCryptoSubtle().digest(\n { name: 'SHA-256' },\n new TextEncoder().encode(s)\n );\n\n // msCrypto (IE11) uses the old spec, which is not Promise based\n // https://msdn.microsoft.com/en-us/expression/dn904640(v=vs.71)\n // Instead of returning a promise, it returns a CryptoOperation\n // with a result property in it.\n // As a result, the various events need to be handled in the event that we're\n // working in IE11 (hence the msCrypto check). These events just call resolve\n // or reject depending on their intention.\n if ((window as any).msCrypto) {\n return new Promise((res, rej) => {\n digestOp.oncomplete = (e: any) => {\n res(e.target.result);\n };\n\n digestOp.onerror = (e: ErrorEvent) => {\n rej(e.error);\n };\n\n digestOp.onabort = () => {\n rej('The digest operation was aborted');\n };\n });\n }\n\n return await digestOp;\n};\n\nconst urlEncodeB64 = (input: string) => {\n const b64Chars: { [index: string]: string } = { '+': '-', '/': '_', '=': '' };\n return input.replace(/[+/=]/g, (m: string) => b64Chars[m]);\n};\n\n// https://stackoverflow.com/questions/30106476/\nconst decodeB64 = (input: string) =>\n decodeURIComponent(\n atob(input)\n .split('')\n .map(c => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join('')\n );\n\nexport const urlDecodeB64 = (input: string) =>\n decodeB64(input.replace(/_/g, '/').replace(/-/g, '+'));\n\nexport const bufferToBase64UrlEncoded = (input: number[] | Uint8Array) => {\n const ie11SafeInput = new Uint8Array(input);\n return urlEncodeB64(\n window.btoa(String.fromCharCode(...Array.from(ie11SafeInput)))\n );\n};\n\nexport const validateCrypto = () => {\n if (!getCrypto()) {\n throw new Error(\n 'For security reasons, `window.crypto` is required to run `auth0-spa-js`.'\n );\n }\n if (typeof getCryptoSubtle() === 'undefined') {\n throw new Error(`\n auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.\n `);\n }\n};\n","import { WorkerRefreshTokenMessage } from './worker.types';\n\n/**\n * Sends the specified message to the web worker\n * @param message The message to send\n * @param to The worker to send the message to\n */\nexport const sendMessage = (message: WorkerRefreshTokenMessage, to: Worker) =>\n new Promise(function (resolve, reject) {\n const messageChannel = new MessageChannel();\n\n messageChannel.port1.onmessage = function (event) {\n // Only for fetch errors, as these get retried\n if (event.data.error) {\n reject(new Error(event.data.error));\n } else {\n resolve(event.data);\n }\n };\n\n to.postMessage(message, [messageChannel.port2]);\n });\n","import fetch from 'unfetch';\n\nimport {\n DEFAULT_FETCH_TIMEOUT_MS,\n DEFAULT_SILENT_TOKEN_RETRY_COUNT\n} from './constants';\n\nimport { sendMessage } from './worker/worker.utils';\nimport { FetchOptions } from './global';\nimport { GenericError, MfaRequiredError } from './errors';\n\nexport const createAbortController = () => new AbortController();\n\nconst dofetch = async (fetchUrl: string, fetchOptions: FetchOptions) => {\n const response = await fetch(fetchUrl, fetchOptions);\n\n return {\n ok: response.ok,\n json: await response.json()\n };\n};\n\nconst fetchWithoutWorker = async (\n fetchUrl: string,\n fetchOptions: FetchOptions,\n timeout: number\n) => {\n const controller = createAbortController();\n fetchOptions.signal = controller.signal;\n\n let timeoutId: NodeJS.Timeout;\n\n // The promise will resolve with one of these two promises (the fetch or the timeout), whichever completes first.\n return Promise.race([\n dofetch(fetchUrl, fetchOptions),\n\n new Promise((_, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n reject(new Error(\"Timeout when executing 'fetch'\"));\n }, timeout);\n })\n ]).finally(() => {\n clearTimeout(timeoutId);\n });\n};\n\nconst fetchWithWorker = async (\n fetchUrl: string,\n audience: string,\n scope: string,\n fetchOptions: FetchOptions,\n timeout: number,\n worker?: Worker,\n useFormData?: boolean\n) => {\n return sendMessage(\n {\n auth: {\n audience,\n scope\n },\n timeout,\n fetchUrl,\n fetchOptions,\n useFormData\n },\n worker\n );\n};\n\nexport const switchFetch = async (\n fetchUrl: string,\n audience: string,\n scope: string,\n fetchOptions: FetchOptions,\n worker?: Worker,\n useFormData?: boolean,\n timeout = DEFAULT_FETCH_TIMEOUT_MS\n): Promise<any> => {\n if (worker) {\n return fetchWithWorker(\n fetchUrl,\n audience,\n scope,\n fetchOptions,\n timeout,\n worker,\n useFormData\n );\n } else {\n return fetchWithoutWorker(fetchUrl, fetchOptions, timeout);\n }\n};\n\nexport async function getJSON<T>(\n url: string,\n timeout: number,\n audience: string,\n scope: string,\n options: FetchOptions,\n worker?: Worker,\n useFormData?: boolean\n): Promise<T> {\n let fetchError: null | Error = null;\n let response: any;\n\n for (let i = 0; i < DEFAULT_SILENT_TOKEN_RETRY_COUNT; i++) {\n try {\n response = await switchFetch(\n url,\n audience,\n scope,\n options,\n worker,\n useFormData,\n timeout\n );\n fetchError = null;\n break;\n } catch (e) {\n // Fetch only fails in the case of a network issue, so should be\n // retried here. Failure status (4xx, 5xx, etc) return a resolved Promise\n // with the failure in the body.\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\n fetchError = e;\n }\n }\n\n if (fetchError) {\n // unfetch uses XMLHttpRequest under the hood which throws\n // ProgressEvents on error, which don't have message properties\n fetchError.message = fetchError.message || 'Failed to fetch';\n throw fetchError;\n }\n\n const {\n json: { error, error_description, ...data },\n ok\n } = response;\n\n if (!ok) {\n const errorMessage =\n error_description || `HTTP error. Unable to fetch ${url}`;\n\n if (error === 'mfa_required') {\n throw new MfaRequiredError(error, errorMessage, data.mfa_token);\n }\n\n throw new GenericError(error || 'request_error', errorMessage);\n }\n\n return data;\n}\n","export default function(url, options) {\n\toptions = options || {};\n\treturn new Promise( (resolve, reject) => {\n\t\tconst request = new XMLHttpRequest();\n\t\tconst keys = [];\n\t\tconst all = [];\n\t\tconst headers = {};\n\n\t\tconst response = () => ({\n\t\t\tok: (request.status/100|0) == 2,\t\t// 200-299\n\t\t\tstatusText: request.statusText,\n\t\t\tstatus: request.status,\n\t\t\turl: request.responseURL,\n\t\t\ttext: () => Promise.resolve(request.responseText),\n\t\t\tjson: () => Promise.resolve(request.responseText).then(JSON.parse),\n\t\t\tblob: () => Promise.resolve(new Blob([request.response])),\n\t\t\tclone: response,\n\t\t\theaders: {\n\t\t\t\tkeys: () => keys,\n\t\t\t\tentries: () => all,\n\t\t\t\tget: n => headers[n.toLowerCase()],\n\t\t\t\thas: n => n.toLowerCase() in headers\n\t\t\t}\n\t\t});\n\n\t\trequest.open(options.method || 'get', url, true);\n\n\t\trequest.onload = () => {\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (m, key, value) => {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theaders[key] = headers[key] ? `${headers[key]},${value}` : value;\n\t\t\t});\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\tfor (const i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.send(options.body || null);\n\t});\n}\n","import { TokenEndpointOptions, TokenEndpointResponse } from './global';\nimport { DEFAULT_AUTH0_CLIENT } from './constants';\nimport { getJSON } from './http';\nimport { createQueryParams } from './utils';\n\nexport async function oauthToken(\n {\n baseUrl,\n timeout,\n audience,\n scope,\n auth0Client,\n useFormData,\n ...options\n }: TokenEndpointOptions,\n worker?: Worker\n) {\n const body = useFormData\n ? createQueryParams(options)\n : JSON.stringify(options);\n\n return await getJSON<TokenEndpointResponse>(\n `${baseUrl}/oauth/token`,\n timeout,\n audience || 'default',\n scope,\n {\n method: 'POST',\n body,\n headers: {\n 'Content-Type': useFormData\n ? 'application/x-www-form-urlencoded'\n : 'application/json',\n 'Auth0-Client': btoa(\n JSON.stringify(auth0Client || DEFAULT_AUTH0_CLIENT)\n )\n }\n },\n worker,\n useFormData\n );\n}\n","/**\n * @ignore\n */\nconst dedupe = (arr: string[]) => Array.from(new Set(arr));\n\n/**\n * @ignore\n */\nexport const getUniqueScopes = (...scopes: string[]) => {\n return dedupe(scopes.join(' ').trim().split(/\\s+/)).join(' ');\n};\n","import { IdToken, User } from '../global';\n\nexport const CACHE_KEY_PREFIX = '@@auth0spajs@@';\n\nexport type CacheKeyData = {\n audience: string;\n scope: string;\n client_id: string;\n};\n\nexport class CacheKey {\n public client_id: string;\n public scope: string;\n public audience: string;\n\n constructor(data: CacheKeyData, public prefix: string = CACHE_KEY_PREFIX) {\n this.client_id = data.client_id;\n this.scope = data.scope;\n this.audience = data.audience;\n }\n\n /**\n * Converts this `CacheKey` instance into a string for use in a cache\n * @returns A string representation of the key\n */\n toKey(): string {\n return `${this.prefix}::${this.client_id}::${this.audience}::${this.scope}`;\n }\n\n /**\n * Converts a cache key string into a `CacheKey` instance.\n * @param key The key to convert\n * @returns An instance of `CacheKey`\n */\n static fromKey(key: string): CacheKey {\n const [prefix, client_id, audience, scope] = key.split('::');\n\n return new CacheKey({ client_id, scope, audience }, prefix);\n }\n\n /**\n * Utility function to build a `CacheKey` instance from a cache entry\n * @param entry The entry\n * @returns An instance of `CacheKey`\n */\n static fromCacheEntry(entry: CacheEntry): CacheKey {\n const { scope, audience, client_id } = entry;\n\n return new CacheKey({\n scope,\n audience,\n client_id\n });\n }\n}\n\ninterface DecodedToken {\n claims: IdToken;\n user: User;\n}\n\nexport type CacheEntry = {\n id_token: string;\n access_token: string;\n expires_in: number;\n decodedToken: DecodedToken;\n audience: string;\n scope: string;\n client_id: string;\n refresh_token?: string;\n oauthTokenScope?: string;\n};\n\nexport type WrappedCacheEntry = {\n body: Partial<CacheEntry>;\n expiresAt: number;\n};\n\nexport type KeyManifestEntry = {\n keys: string[];\n};\n\nexport type Cacheable = WrappedCacheEntry | KeyManifestEntry;\n\nexport type MaybePromise<T> = Promise<T> | T;\n\nexport interface ICache {\n set<T = Cacheable>(key: string, entry: T): MaybePromise<void>;\n get<T = Cacheable>(key: string): MaybePromise<T | null>;\n remove(key: string): MaybePromise<void>;\n allKeys?(): MaybePromise<string[]>;\n}\n","import { ICache, Cacheable, CACHE_KEY_PREFIX } from './shared';\n\nexport class LocalStorageCache implements ICache {\n public set<T = Cacheable>(key: string, entry: T) {\n localStorage.setItem(key, JSON.stringify(entry));\n }\n\n public get<T = Cacheable>(key: string) {\n const json = window.localStorage.getItem(key);\n\n if (!json) return;\n\n try {\n const payload = JSON.parse(json) as T;\n return payload;\n } catch (e) {\n /* istanbul ignore next */\n return;\n }\n }\n\n public remove(key: string) {\n localStorage.removeItem(key);\n }\n\n public allKeys() {\n return Object.keys(window.localStorage).filter(key =>\n key.startsWith(CACHE_KEY_PREFIX)\n );\n }\n}\n","import { Cacheable, ICache } from './shared';\n\nexport class InMemoryCache {\n public enclosedCache: ICache = (function () {\n let cache: Record<string, unknown> = {};\n\n return {\n set<T = Cacheable>(key: string, entry: T) {\n cache[key] = entry;\n },\n\n get<T = Cacheable>(key: string) {\n const cacheEntry = cache[key] as T;\n\n if (!cacheEntry) {\n return;\n }\n\n return cacheEntry;\n },\n\n remove(key: string) {\n delete cache[key];\n },\n\n allKeys(): string[] {\n return Object.keys(cache);\n }\n };\n })();\n}\n","import { DEFAULT_NOW_PROVIDER } from '../constants';\nimport { CacheKeyManifest } from './key-manifest';\n\nimport {\n CacheEntry,\n ICache,\n CacheKey,\n CACHE_KEY_PREFIX,\n WrappedCacheEntry\n} from './shared';\n\nconst DEFAULT_EXPIRY_ADJUSTMENT_SECONDS = 0;\n\nexport class CacheManager {\n constructor(\n private cache: ICache,\n private keyManifest?: CacheKeyManifest,\n private nowProvider?: () => number | Promise<number>\n ) {\n this.nowProvider = this.nowProvider || DEFAULT_NOW_PROVIDER;\n }\n\n async get(\n cacheKey: CacheKey,\n expiryAdjustmentSeconds = DEFAULT_EXPIRY_ADJUSTMENT_SECONDS\n ): Promise<Partial<CacheEntry> | undefined> {\n let wrappedEntry = await this.cache.get<WrappedCacheEntry>(\n cacheKey.toKey()\n );\n\n if (!wrappedEntry) {\n const keys = await this.getCacheKeys();\n\n if (!keys) return;\n\n const matchedKey = this.matchExistingCacheKey(cacheKey, keys);\n\n if (matchedKey) {\n wrappedEntry = await this.cache.get<WrappedCacheEntry>(matchedKey);\n }\n }\n\n // If we still don't have an entry, exit.\n if (!wrappedEntry) {\n return;\n }\n\n const now = await this.nowProvider();\n const nowSeconds = Math.floor(now / 1000);\n\n if (wrappedEntry.expiresAt - expiryAdjustmentSeconds < nowSeconds) {\n if (wrappedEntry.body.refresh_token) {\n wrappedEntry.body = {\n refresh_token: wrappedEntry.body.refresh_token\n };\n\n await this.cache.set(cacheKey.toKey(), wrappedEntry);\n return wrappedEntry.body;\n }\n\n await this.cache.remove(cacheKey.toKey());\n await this.keyManifest?.remove(cacheKey.toKey());\n\n return;\n }\n\n return wrappedEntry.body;\n }\n\n async set(entry: CacheEntry): Promise<void> {\n const cacheKey = new CacheKey({\n client_id: entry.client_id,\n scope: entry.scope,\n audience: entry.audience\n });\n\n const wrappedEntry = await this.wrapCacheEntry(entry);\n\n await this.cache.set(cacheKey.toKey(), wrappedEntry);\n await this.keyManifest?.add(cacheKey.toKey());\n }\n\n async clear(clientId?: string): Promise<void> {\n const keys = await this.getCacheKeys();\n\n /* istanbul ignore next */\n if (!keys) return;\n\n await keys\n .filter(key => (clientId ? key.includes(clientId) : true))\n .reduce(async (memo, key) => {\n await memo;\n await this.cache.remove(key);\n }, Promise.resolve());\n\n await this.keyManifest?.clear();\n }\n\n /**\n * Note: only call this if you're sure one of our internal (synchronous) caches are being used.\n */\n clearSync(clientId?: string): void {\n const keys = this.cache.allKeys() as string[];\n\n /* istanbul ignore next */\n if (!keys) return;\n\n keys\n .filter(key => (clientId ? key.includes(clientId) : true))\n .forEach(key => {\n this.cache.remove(key);\n });\n }\n\n private async wrapCacheEntry(entry: CacheEntry): Promise<WrappedCacheEntry> {\n const now = await this.nowProvider();\n const expiresInTime = Math.floor(now / 1000) + entry.expires_in;\n\n const expirySeconds = Math.min(\n expiresInTime,\n entry.decodedToken.claims.exp\n );\n\n return {\n body: entry,\n expiresAt: expirySeconds\n };\n }\n\n private async getCacheKeys(): Promise<string[]> {\n return this.keyManifest\n ? (await this.keyManifest.get())?.keys\n : await this.cache.allKeys();\n }\n\n /**\n * Finds the corresponding key in the cache based on the provided cache key.\n * The keys inside the cache are in the format {prefix}::{client_id}::{audience}::{scope}.\n * The first key in the cache that satisfies the following conditions is returned\n * - `prefix` is strict equal to Auth0's internally configured `keyPrefix`\n * - `client_id` is strict equal to the `cacheKey.client_id`\n * - `audience` is strict equal to the `cacheKey.audience`\n * - `scope` contains at least all the `cacheKey.scope` values\n * *\n * @param keyToMatch The provided cache key\n * @param allKeys A list of existing cache keys\n */\n private matchExistingCacheKey(keyToMatch: CacheKey, allKeys: Array<string>) {\n return allKeys.filter(key => {\n const cacheKey = CacheKey.fromKey(key);\n const scopeSet = new Set(cacheKey.scope && cacheKey.scope.split(' '));\n const scopesToMatch = keyToMatch.scope.split(' ');\n\n const hasAllScopes =\n cacheKey.scope &&\n scopesToMatch.reduce(\n (acc, current) => acc && scopeSet.has(current),\n true\n );\n\n return (\n cacheKey.prefix === CACHE_KEY_PREFIX &&\n cacheKey.client_id === keyToMatch.client_id &&\n cacheKey.audience === keyToMatch.audience &&\n hasAllScopes\n );\n })[0];\n }\n}\n","import { ClientStorage } from './storage';\n\nconst TRANSACTION_STORAGE_KEY_PREFIX = 'a0.spajs.txs';\n\ninterface Transaction {\n nonce: string;\n scope: string;\n audience: string;\n appState?: any;\n code_verifier: string;\n redirect_uri: string;\n organizationId?: string;\n state?: string;\n}\n\nexport default class TransactionManager {\n private transaction: Transaction | undefined;\n private storageKey: string;\n\n constructor(private storage: ClientStorage, private clientId: string) {\n this.storageKey = `${TRANSACTION_STORAGE_KEY_PREFIX}.${this.clientId}`;\n this.transaction = this.storage.get(this.storageKey);\n }\n\n public create(transaction: Transaction) {\n this.transaction = transaction;\n\n this.storage.save(this.storageKey, transaction, {\n daysUntilExpire: 1\n });\n }\n\n public get(): Transaction | undefined {\n return this.transaction;\n }\n\n public remove() {\n delete this.transaction;\n this.storage.remove(this.storageKey);\n }\n}\n","import { urlDecodeB64 } from './utils';\nimport { IdToken, JWTVerifyOptions } from './global';\n\nconst isNumber = (n: any) => typeof n === 'number';\n\nconst idTokendecoded = [\n 'iss',\n 'aud',\n 'exp',\n 'nbf',\n 'iat',\n 'jti',\n 'azp',\n 'nonce',\n 'auth_time',\n 'at_hash',\n 'c_hash',\n 'acr',\n 'amr',\n 'sub_jwk',\n 'cnf',\n 'sip_from_tag',\n 'sip_date',\n 'sip_callid',\n 'sip_cseq_num',\n 'sip_via_branch',\n 'orig',\n 'dest',\n 'mky',\n 'events',\n 'toe',\n 'txn',\n 'rph',\n 'sid',\n 'vot',\n 'vtm'\n];\n\nexport const decode = (token: string) => {\n const parts = token.split('.');\n const [header, payload, signature] = parts;\n\n if (parts.length !== 3 || !header || !payload || !signature) {\n throw new Error('ID token could not be decoded');\n }\n const payloadJSON = JSON.parse(urlDecodeB64(payload));\n const claims: IdToken = { __raw: token };\n const user: any = {};\n Object.keys(payloadJSON).forEach(k => {\n claims[k] = payloadJSON[k];\n if (!idTokendecoded.includes(k)) {\n user[k] = payloadJSON[k];\n }\n });\n return {\n encoded: { header, payload, signature },\n header: JSON.parse(urlDecodeB64(header)),\n claims,\n user\n };\n};\n\nexport const verify = (options: JWTVerifyOptions) => {\n if (!options.id_token) {\n throw new Error('ID token is required but missing');\n }\n\n const decoded = decode(options.id_token);\n\n if (!decoded.claims.iss) {\n throw new Error(\n 'Issuer (iss) claim must be a string present in the ID token'\n );\n }\n\n if (decoded.claims.iss !== options.iss) {\n throw new Error(\n `Issuer (iss) claim mismatch in the ID token; expected \"${options.iss}\", found \"${decoded.claims.iss}\"`\n );\n }\n\n if (!decoded.user.sub) {\n throw new Error(\n 'Subject (sub) claim must be a string present in the ID token'\n );\n }\n\n if (decoded.header.alg !== 'RS256') {\n throw new Error(\n `Signature algorithm of \"${decoded.header.alg}\" is not supported. Expected the ID token to be signed with \"RS256\".`\n );\n }\n\n if (\n !decoded.claims.aud ||\n !(\n typeof decoded.claims.aud === 'string' ||\n Array.isArray(decoded.claims.aud)\n )\n ) {\n throw new Error(\n 'Audience (aud) claim must be a string or array of strings present in the ID token'\n );\n }\n if (Array.isArray(decoded.claims.aud)) {\n if (!decoded.claims.aud.includes(options.aud)) {\n throw new Error(\n `Audience (aud) claim mismatch in the ID token; expected \"${\n options.aud\n }\" but was not one of \"${decoded.claims.aud.join(', ')}\"`\n );\n }\n if (decoded.claims.aud.length > 1) {\n if (!decoded.claims.azp) {\n throw new Error(\n 'Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values'\n );\n }\n if (decoded.claims.azp !== options.aud) {\n throw new Error(\n `Authorized Party (azp) claim mismatch in the ID token; expected \"${options.aud}\", found \"${decoded.claims.azp}\"`\n );\n }\n }\n } else if (decoded.claims.aud !== options.aud) {\n throw new Error(\n `Audience (aud) claim mismatch in the ID token; expected \"${options.aud}\" but found \"${decoded.claims.aud}\"`\n );\n }\n if (options.nonce) {\n if (!decoded.claims.nonce) {\n throw new Error(\n 'Nonce (nonce) claim must be a string present in the ID token'\n );\n }\n if (decoded.claims.nonce !== options.nonce) {\n throw new Error(\n `Nonce (nonce) claim mismatch in the ID token; expected \"${options.nonce}\", found \"${decoded.claims.nonce}\"`\n );\n }\n }\n\n if (options.max_age && !isNumber(decoded.claims.auth_time)) {\n throw new Error(\n 'Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified'\n );\n }\n\n /* istanbul ignore next */\n if (!isNumber(decoded.claims.exp)) {\n throw new Error(\n 'Expiration Time (exp) claim must be a number present in the ID token'\n );\n }\n if (!isNumber(decoded.claims.iat)) {\n throw new Error(\n 'Issued At (iat) claim must be a number present in the ID token'\n );\n }\n\n const leeway = options.leeway || 60;\n const now = new Date(options.now || Date.now());\n const expDate = new Date(0);\n const nbfDate = new Date(0);\n const authTimeDate = new Date(0);\n\n authTimeDate.setUTCSeconds(\n parseInt(decoded.claims.auth_time) + options.max_age + leeway\n );\n\n expDate.setUTCSeconds(decoded.claims.exp + leeway);\n nbfDate.setUTCSeconds(decoded.claims.nbf - leeway);\n\n if (now > expDate) {\n throw new Error(\n `Expiration Time (exp) claim error in the ID token; current time (${now}) is after expiration time (${expDate})`\n );\n }\n\n if (isNumber(decoded.claims.nbf) && now < nbfDate) {\n throw new Error(\n `Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Currrent time (${now}) is before ${nbfDate}`\n );\n }\n\n if (isNumber(decoded.claims.auth_time) && now > authTimeDate) {\n throw new Error(\n `Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Currrent time (${now}) is after last auth at ${authTimeDate}`\n );\n }\n\n if (options.organizationId) {\n if (!decoded.claims.org_id) {\n throw new Error(\n 'Organization ID (org_id) claim must be a string present in the ID token'\n );\n } else if (options.organizationId !== decoded.claims.org_id) {\n throw new Error(\n `Organization ID (org_id) claim mismatch in the ID token; expected \"${options.organizationId}\", found \"${decoded.claims.org_id}\"`\n );\n }\n }\n\n return decoded;\n};\n","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nexports.__esModule = true;\r\nfunction stringifyAttribute(name, value) {\r\n if (!value) {\r\n return '';\r\n }\r\n var stringified = '; ' + name;\r\n if (value === true) {\r\n return stringified; // boolean attributes shouldn't have a value\r\n }\r\n return stringified + '=' + value;\r\n}\r\nfunction stringifyAttributes(attributes) {\r\n if (typeof attributes.expires === 'number') {\r\n var expires = new Date();\r\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\r\n attributes.expires = expires;\r\n }\r\n return stringifyAttribute('Expires', attributes.expires ? attributes.expires.toUTCString() : '')\r\n + stringifyAttribute('Domain', attributes.domain)\r\n + stringifyAttribute('Path', attributes.path)\r\n + stringifyAttribute('Secure', attributes.secure)\r\n + stringifyAttribute('SameSite', attributes.sameSite);\r\n}\r\nfunction encode(name, value, attributes) {\r\n return encodeURIComponent(name)\r\n .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent) // allowed special characters\r\n .replace(/\\(/g, '%28').replace(/\\)/g, '%29') // replace opening and closing parens\r\n + '=' + encodeURIComponent(value)\r\n // allowed special characters\r\n .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent)\r\n + stringifyAttributes(attributes);\r\n}\r\nexports.encode = encode;\r\nfunction parse(cookieString) {\r\n var result = {};\r\n var cookies = cookieString ? cookieString.split('; ') : [];\r\n var rdecode = /(%[\\dA-F]{2})+/gi;\r\n for (var i = 0; i < cookies.length; i++) {\r\n var parts = cookies[i].split('=');\r\n var cookie = parts.slice(1).join('=');\r\n if (cookie.charAt(0) === '\"') {\r\n cookie = cookie.slice(1, -1);\r\n }\r\n try {\r\n var name_1 = parts[0].replace(rdecode, decodeURIComponent);\r\n result[name_1] = cookie.replace(rdecode, decodeURIComponent);\r\n }\r\n catch (e) {\r\n // ignore cookies with invalid name/value encoding\r\n }\r\n }\r\n return result;\r\n}\r\nexports.parse = parse;\r\nfunction getAll() {\r\n return parse(document.cookie);\r\n}\r\nexports.getAll = getAll;\r\nfunction get(name) {\r\n return getAll()[name];\r\n}\r\nexports.get = get;\r\nfunction set(name, value, attributes) {\r\n document.cookie = encode(name, value, __assign({ path: '/' }, attributes));\r\n}\r\nexports.set = set;\r\nfunction remove(name, attributes) {\r\n set(name, '', __assign(__assign({}, attributes), { expires: -1 }));\r\n}\r\nexports.remove = remove;\r\n","import * as Cookies from 'es-cookie';\n\ninterface ClientStorageOptions {\n daysUntilExpire: number;\n cookieDomain?: string;\n}\n\n/**\n * Defines a type that handles storage to/from a storage location\n */\nexport type ClientStorage = {\n get<T extends Object>(key: string): T | undefined;\n save(key: string, value: any, options?: ClientStorageOptions): void;\n remove(key: string): void;\n};\n\n/**\n * A storage protocol for marshalling data to/from cookies\n */\nexport const CookieStorage = {\n get<T extends Object>(key: string) {\n const value = Cookies.get(key);\n\n if (typeof value === 'undefined') {\n return;\n }\n\n return <T>JSON.parse(value);\n },\n\n save(key: string, value: any, options?: ClientStorageOptions): void {\n let cookieAttributes: Cookies.CookieAttributes = {};\n\n if ('https:' === window.location.protocol) {\n cookieAttributes = {\n secure: true,\n sameSite: 'none'\n };\n }\n\n if (options?.daysUntilExpire) {\n cookieAttributes.expires = options.daysUntilExpire;\n }\n\n if (options?.cookieDomain) {\n cookieAttributes.domain = options.cookieDomain;\n }\n\n Cookies.set(key, JSON.stringify(value), cookieAttributes);\n },\n\n remove(key: string) {\n Cookies.remove(key);\n }\n} as ClientStorage;\n\n/**\n * @ignore\n */\nconst LEGACY_PREFIX = '_legacy_';\n\n/**\n * Cookie storage that creates a cookie for modern and legacy browsers.\n * See: https://web.dev/samesite-cookie-recipes/#handling-incompatible-clients\n */\nexport const CookieStorageWithLegacySameSite = {\n get<T extends Object>(key: string) {\n const value = CookieStorage.get<T>(key);\n\n if (value) {\n return value;\n }\n\n return CookieStorage.get<T>(`${LEGACY_PREFIX}${key}`);\n },\n\n save(key: string, value: any, options?: ClientStorageOptions): void {\n let cookieAttributes: Cookies.CookieAttributes = {};\n\n if ('https:' === window.location.protocol) {\n cookieAttributes = { secure: true };\n }\n\n if (options?.daysUntilExpire) {\n cookieAttributes.expires = options.daysUntilExpire;\n }\n\n Cookies.set(\n `${LEGACY_PREFIX}${key}`,\n JSON.stringify(value),\n cookieAttributes\n );\n CookieStorage.save(key, value, options);\n },\n\n remove(key: string) {\n CookieStorage.remove(key);\n CookieStorage.remove(`${LEGACY_PREFIX}${key}`);\n }\n} as ClientStorage;\n\n/**\n * A storage protocol for marshalling data to/from session storage\n */\nexport const SessionStorage = {\n get<T extends Object>(key: string) {\n /* istanbul ignore next */\n if (typeof sessionStorage === 'undefined') {\n return;\n }\n\n const value = sessionStorage.getItem(key);\n\n if (typeof value === 'undefined') {\n return;\n }\n\n return <T>JSON.parse(value);\n },\n\n save(key: string, value: any): void {\n sessionStorage.setItem(key, JSON.stringify(value));\n },\n\n remove(key: string) {\n sessionStorage.removeItem(key);\n }\n} as ClientStorage;\n","const singlePromiseMap: Record<string, Promise<any>> = {};\n\nexport const singlePromise = <T>(cb: () => Promise<T>, key: string) => {\n let promise = singlePromiseMap[key];\n if (!promise) {\n promise = cb().finally(() => {\n delete singlePromiseMap[key];\n promise = null;\n });\n singlePromiseMap[key] = promise;\n }\n return promise;\n};\n\nexport const retryPromise = async (\n cb: () => Promise<boolean>,\n maxNumberOfRetries = 3\n) => {\n for (let i = 0; i < maxNumberOfRetries; i++) {\n if (await cb()) {\n return true;\n }\n }\n\n return false;\n};\n","import {\n CACHE_KEY_PREFIX,\n ICache,\n KeyManifestEntry,\n MaybePromise\n} from './shared';\n\nexport class CacheKeyManifest {\n private readonly manifestKey: string;\n\n constructor(private cache: ICache, private clientId: string) {\n this.manifestKey = this.createManifestKeyFrom(this.clientId);\n }\n\n async add(key: string): Promise<void> {\n const keys = new Set(\n (await this.cache.get<KeyManifestEntry>(this.manifestKey))?.keys || []\n );\n\n keys.add(key);\n\n await this.cache.set<KeyManifestEntry>(this.manifestKey, {\n keys: [...keys]\n });\n }\n\n async remove(key: string): Promise<void> {\n const entry = await this.cache.get<KeyManifestEntry>(this.manifestKey);\n\n if (entry) {\n const keys = new Set(entry.keys);\n keys.delete(key);\n\n if (keys.size > 0) {\n return await this.cache.set(this.manifestKey, { keys: [...keys] });\n }\n\n return await this.cache.remove(this.manifestKey);\n }\n }\n\n get(): MaybePromise<KeyManifestEntry> {\n return this.cache.get<KeyManifestEntry>(this.manifestKey);\n }\n\n clear(): MaybePromise<void> {\n return this.cache.remove(this.manifestKey);\n }\n\n private createManifestKeyFrom(clientId: string): string {\n return `${CACHE_KEY_PREFIX}::${clientId}`;\n }\n}\n","import Lock from 'browser-tabs-lock';\n\nimport {\n createQueryParams,\n runPopup,\n parseQueryResult,\n encode,\n createRandomString,\n runIframe,\n sha256,\n bufferToBase64UrlEncoded,\n validateCrypto,\n openPopup\n} from './utils';\n\nimport { oauthToken } from './api';\n\nimport { getUniqueScopes } from './scope';\n\nimport {\n InMemoryCache,\n ICache,\n LocalStorageCache,\n CacheKey,\n CacheManager\n} from './cache';\n\nimport TransactionManager from './transaction-manager';\nimport { verify as verifyIdToken } from './jwt';\nimport { AuthenticationError, GenericError, TimeoutError } from './errors';\n\nimport {\n ClientStorage,\n CookieStorage,\n CookieStorageWithLegacySameSite,\n SessionStorage\n} from './storage';\n\nimport {\n CACHE_LOCATION_MEMORY,\n DEFAULT_POPUP_CONFIG_OPTIONS,\n DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS,\n MISSING_REFRESH_TOKEN_ERROR_MESSAGE,\n DEFAULT_SCOPE,\n RECOVERABLE_ERRORS,\n DEFAULT_SESSION_CHECK_EXPIRY_DAYS,\n DEFAULT_AUTH0_CLIENT,\n INVALID_REFRESH_TOKEN_ERROR_MESSAGE,\n DEFAULT_NOW_PROVIDER,\n DEFAULT_FETCH_TIMEOUT_MS\n} from './constants';\n\nimport {\n Auth0ClientOptions,\n BaseLoginOptions,\n AuthorizeOptions,\n RedirectLoginOptions,\n PopupLoginOptions,\n PopupConfigOptions,\n GetUserOptions,\n GetIdTokenClaimsOptions,\n RedirectLoginResult,\n GetTokenSilentlyOptions,\n GetTokenWithPopupOptions,\n LogoutOptions,\n RefreshTokenOptions,\n OAuthTokenOptions,\n CacheLocation,\n LogoutUrlOptions,\n User,\n IdToken,\n GetTokenSilentlyVerboseResponse,\n TokenEndpointResponse\n} from './global';\n\n// @ts-ignore\nimport TokenWorker from './worker/token.worker.ts';\nimport { isIE11 } from './user-agent';\nimport { singlePromise, retryPromise } from './promise-utils';\nimport { CacheKeyManifest } from './cache/key-manifest';\n\n/**\n * @ignore\n */\ntype GetTokenSilentlyResult = TokenEndpointResponse & {\n decodedToken: ReturnType<typeof verifyIdToken>;\n scope: string;\n oauthTokenScope?: string;\n audience: string;\n};\n\n/**\n * @ignore\n */\nconst lock = new Lock();\n\n/**\n * @ignore\n */\nconst GET_TOKEN_SILENTLY_LOCK_KEY = 'auth0.lock.getTokenSilently';\n\n/**\n * @ignore\n */\nconst buildOrganizationHintCookieName = (clientId: string) =>\n `auth0.${clientId}.organization_hint`;\n\n/**\n * @ignore\n */\nconst OLD_IS_AUTHENTICATED_COOKIE_NAME = 'auth0.is.authenticated';\n\n/**\n * @ignore\n */\nconst buildIsAuthenticatedCookieName = (clientId: string) =>\n `auth0.${clientId}.is.authenticated`;\n\n/**\n * @ignore\n */\nconst cacheLocationBuilders: Record<string, () => ICache> = {\n memory: () => new InMemoryCache().enclosedCache,\n localstorage: () => new LocalStorageCache()\n};\n\n/**\n * @ignore\n */\nconst cacheFactory = (location: string) => {\n return cacheLocationBuilders[location];\n};\n\n/**\n * @ignore\n */\nconst supportWebWorker = () => !isIE11();\n\n/**\n * @ignore\n */\nconst getTokenIssuer = (issuer: string, domainUrl: string) => {\n if (issuer) {\n return issuer.startsWith('https://') ? issuer : `https://${issuer}/`;\n }\n\n return `${domainUrl}/`;\n};\n\n/**\n * @ignore\n */\nconst getDomain = (domainUrl: string) => {\n if (!/^https?:\\/\\//.test(domainUrl)) {\n return `https://${domainUrl}`;\n }\n\n return domainUrl;\n};\n\n/**\n * @ignore\n */\nconst getCustomInitialOptions = (\n options: Auth0ClientOptions\n): BaseLoginOptions => {\n const {\n advancedOptions,\n audience,\n auth0Client,\n authorizeTimeoutInSeconds,\n cacheLocation,\n client_id,\n domain,\n issuer,\n leeway,\n max_age,\n redirect_uri,\n scope,\n useRefreshTokens,\n useCookiesForTransactions,\n useFormData,\n ...customParams\n } = options;\n return customParams;\n};\n\n/**\n * Auth0 SDK for Single Page Applications using [Authorization Code Grant Flow with PKCE](https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce).\n */\nexport default class Auth0Client {\n private readonly transactionManager: TransactionManager;\n private readonly cacheManager: CacheManager;\n private readonly customOptions: BaseLoginOptions;\n private readonly domainUrl: string;\n private readonly tokenIssuer: string;\n private readonly defaultScope: string;\n private readonly scope: string;\n private readonly cookieStorage: ClientStorage;\n private readonly sessionCheckExpiryDays: number;\n private readonly orgHintCookieName: string;\n private readonly isAuthenticatedCookieName: string;\n private readonly nowProvider: () => number | Promise<number>;\n private readonly httpTimeoutMs: number;\n\n cacheLocation: CacheLocation;\n private worker: Worker;\n\n constructor(private options: Auth0ClientOptions) {\n typeof window !== 'undefined' && validateCrypto();\n\n if (options.cache && options.cacheLocation) {\n console.warn(\n 'Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`.'\n );\n }\n\n let cache: ICache;\n\n if (options.cache) {\n cache = options.cache;\n } else {\n this.cacheLocation = options.cacheLocation || CACHE_LOCATION_MEMORY;\n\n if (!cacheFactory(this.cacheLocation)) {\n throw new Error(`Invalid cache location \"${this.cacheLocation}\"`);\n }\n\n cache = cacheFactory(this.cacheLocation)();\n }\n\n this.httpTimeoutMs = options.httpTimeoutInSeconds\n ? options.httpTimeoutInSeconds * 1000\n : DEFAULT_FETCH_TIMEOUT_MS;\n\n this.cookieStorage =\n options.legacySameSiteCookie === false\n ? CookieStorage\n : CookieStorageWithLegacySameSite;\n\n this.orgHintCookieName = buildOrganizationHintCookieName(\n this.options.client_id\n );\n\n this.isAuthenticatedCookieName = buildIsAuthenticatedCookieName(\n this.options.client_id\n );\n\n this.sessionCheckExpiryDays =\n options.sessionCheckExpiryDays || DEFAULT_SESSION_CHECK_EXPIRY_DAYS;\n\n const transactionStorage = options.useCookiesForTransactions\n ? this.cookieStorage\n : SessionStorage;\n\n this.scope = this.options.scope;\n\n this.transactionManager = new TransactionManager(\n transactionStorage,\n this.options.client_id\n );\n\n this.nowProvider = this.options.nowProvider || DEFAULT_NOW_PROVIDER;\n\n this.cacheManager = new CacheManager(\n cache,\n !cache.allKeys\n ? new CacheKeyManifest(cache, this.options.client_id)\n : null,\n this.nowProvider\n );\n\n this.domainUrl = getDomain(this.options.domain);\n this.tokenIssuer = getTokenIssuer(this.options.issuer, this.domainUrl);\n\n this.defaultScope = getUniqueScopes(\n 'openid',\n this.options?.advancedOptions?.defaultScope !== undefined\n ? this.options.advancedOptions.defaultScope\n : DEFAULT_SCOPE\n );\n\n // If using refresh tokens, automatically specify the `offline_access` scope.\n // Note we cannot add this to 'defaultScope' above as the scopes are used in the\n // cache keys - changing the order could invalidate the keys\n if (this.options.useRefreshTokens) {\n this.scope = getUniqueScopes(this.scope, 'offline_access');\n }\n\n // Don't use web workers unless using refresh tokens in memory and not IE11\n if (\n typeof window !== 'undefined' &&\n window.Worker &&\n this.options.useRefreshTokens &&\n this.cacheLocation === CACHE_LOCATION_MEMORY &&\n supportWebWorker()\n ) {\n this.worker = new TokenWorker();\n }\n\n this.customOptions = getCustomInitialOptions(options);\n }\n\n private _url(path: string) {\n const auth0Client = encodeURIComponent(\n btoa(JSON.stringify(this.options.auth0Client || DEFAULT_AUTH0_CLIENT))\n );\n return `${this.domainUrl}${path}&auth0Client=${auth0Client}`;\n }\n\n private _getParams(\n authorizeOptions: BaseLoginOptions,\n state: string,\n nonce: string,\n code_challenge: string,\n redirect_uri: string\n ): AuthorizeOptions {\n // These options should be excluded from the authorize URL,\n // as they're options for the client and not for the IdP.\n // ** IMPORTANT ** If adding a new client option, include it in this destructure list.\n const {\n useRefreshTokens,\n useCookiesForTransactions,\n useFormData,\n auth0Client,\n cacheLocation,\n advancedOptions,\n detailedResponse,\n nowProvider,\n authorizeTimeoutInSeconds,\n legacySameSiteCookie,\n sessionCheckExpiryDays,\n domain,\n leeway,\n httpTimeoutInSeconds,\n ...loginOptions\n } = this.options;\n\n return {\n ...loginOptions,\n ...authorizeOptions,\n scope: getUniqueScopes(\n this.defaultScope,\n this.scope,\n authorizeOptions.scope\n ),\n response_type: 'code',\n response_mode: 'query',\n state,\n nonce,\n redirect_uri: redirect_uri || this.options.redirect_uri,\n code_challenge,\n code_challenge_method: 'S256'\n };\n }\n\n private _authorizeUrl(authorizeOptions: AuthorizeOptions) {\n return this._url(`/authorize?${createQueryParams(authorizeOptions)}`);\n }\n\n private async _verifyIdToken(\n id_token: string,\n nonce?: string,\n organizationId?: string\n ) {\n const now = await this.nowProvider();\n\n return verifyIdToken({\n iss: this.tokenIssuer,\n aud: this.options.client_id,\n id_token,\n nonce,\n organizationId,\n leeway: this.options.leeway,\n max_age: this._parseNumber(this.options.max_age),\n now\n });\n }\n\n private _parseNumber(value: any): number {\n if (typeof value !== 'string') {\n return value;\n }\n return parseInt(value, 10) || undefined;\n }\n\n private _processOrgIdHint(organizationId?: string) {\n if (organizationId) {\n this.cookieStorage.save(this.orgHintCookieName, organizationId, {\n daysUntilExpire: this.sessionCheckExpiryDays,\n cookieDomain: this.options.cookieDomain\n });\n } else {\n this.cookieStorage.remove(this.orgHintCookieName);\n }\n }\n\n /**\n * ```js\n * await auth0.buildAuthorizeUrl(options);\n * ```\n *\n * Builds an `/authorize` URL for loginWithRedirect using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated.\n *\n * @param options\n */\n public async buildAuthorizeUrl(\n options: RedirectLoginOptions = {}\n ): Promise<string> {\n const { redirect_uri, appState, ...authorizeOptions } = options;\n\n const stateIn = encode(createRandomString());\n const nonceIn = encode(createRandomString());\n const code_verifier = createRandomString();\n const code_challengeBuffer = await sha256(code_verifier);\n const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);\n const fragment = options.fragment ? `#${options.fragment}` : '';\n\n const params = this._getParams(\n authorizeOptions,\n stateIn,\n nonceIn,\n code_challenge,\n redirect_uri\n );\n\n const url = this._authorizeUrl(params);\n const organizationId = options.organization || this.options.organization;\n\n this.transactionManager.create({\n nonce: nonceIn,\n code_verifier,\n appState,\n scope: params.scope,\n audience: params.audience || 'default',\n redirect_uri: params.redirect_uri,\n state: stateIn,\n ...(organizationId && { organizationId })\n });\n\n return url + fragment;\n }\n\n /**\n * ```js\n * try {\n * await auth0.loginWithPopup(options);\n * } catch(e) {\n * if (e instanceof PopupCancelledError) {\n * // Popup was closed before login completed\n * }\n * }\n * ```\n *\n * Opens a popup with the `/authorize` URL using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated. If the response is successful,\n * results will be valid according to their expiration times.\n *\n * IMPORTANT: This method has to be called from an event handler\n * that was started by the user like a button click, for example,\n * otherwise the popup will be blocked in most browsers.\n *\n * @param options\n * @param config\n */\n public async loginWithPopup(\n options?: PopupLoginOptions,\n config?: PopupConfigOptions\n ) {\n options = options || {};\n config = config || {};\n\n if (!config.popup) {\n config.popup = openPopup('');\n\n if (!config.popup) {\n throw new Error(\n 'Unable to open a popup for loginWithPopup - window.open returned `null`'\n );\n }\n }\n\n const { ...authorizeOptions } = options;\n const stateIn = encode(createRandomString());\n const nonceIn = encode(createRandomString());\n const code_verifier = createRandomString();\n const code_challengeBuffer = await sha256(code_verifier);\n const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);\n\n const params = this._getParams(\n authorizeOptions,\n stateIn,\n nonceIn,\n code_challenge,\n this.options.redirect_uri || window.location.origin\n );\n\n const url = this._authorizeUrl({\n ...params,\n response_mode: 'web_message'\n });\n\n config.popup.location.href = url;\n\n const codeResult = await runPopup({\n ...config,\n timeoutInSeconds:\n config.timeoutInSeconds ||\n this.options.authorizeTimeoutInSeconds ||\n DEFAULT_AUTHORIZE_TIMEOUT_IN_SECONDS\n });\n\n if (stateIn !== codeResult.state) {\n throw new Error('Invalid state');\n }\n\n const authResult = await oauthToken(\n {\n audience: params.audience,\n scope: params.scope,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n code_verifier,\n code: codeResult.code,\n grant_type: 'authorization_code',\n redirect_uri: params.redirect_uri,\n auth0Client: this.options.auth0Client,\n useFormData: this.options.useFormData,\n timeout: this.httpTimeoutMs\n } as OAuthTokenOptions,\n this.worker\n );\n\n const organizationId = options.organization || this.options.organization;\n\n const decodedToken = await this._verifyIdToken(\n authResult.id_token,\n nonceIn,\n organizationId\n );\n\n const cacheEntry = {\n ...authResult,\n decodedToken,\n scope: params.scope,\n audience: params.audience || 'default',\n client_id: this.options.client_id\n };\n\n await this.cacheManager.set(cacheEntry);\n\n this.cookieStorage.save(this.isAuthenticatedCookieName, true, {\n daysUntilExpire: this.sessionCheckExpiryDays,\n cookieDomain: this.options.cookieDomain\n });\n\n this._processOrgIdHint(decodedToken.claims.org_id);\n }\n\n /**\n * ```js\n * const user = await auth0.getUser();\n * ```\n *\n * Returns the user information if available (decoded\n * from the `id_token`).\n *\n * If you provide an audience or scope, they should match an existing Access Token\n * (the SDK stores a corresponding ID Token with every Access Token, and uses the\n * scope and audience to look up the ID Token)\n *\n * @typeparam TUser The type to return, has to extend {@link User}.\n * @param options\n */\n public async getUser<TUser extends User>(\n options: GetUserOptions = {}\n ): Promise<TUser | undefined> {\n const audience = options.audience || this.options.audience || 'default';\n const scope = getUniqueScopes(this.defaultScope, this.scope, options.scope);\n\n const cache = await this.cacheManager.get(\n new CacheKey({\n client_id: this.options.client_id,\n audience,\n scope\n })\n );\n\n return cache && cache.decodedToken && (cache.decodedToken.user as TUser);\n }\n\n /**\n * ```js\n * const claims = await auth0.getIdTokenClaims();\n * ```\n *\n * Returns all claims from the id_token if available.\n *\n * If you provide an audience or scope, they should match an existing Access Token\n * (the SDK stores a corresponding ID Token with every Access Token, and uses the\n * scope and audience to look up the ID Token)\n *\n * @param options\n */\n public async getIdTokenClaims(\n options: GetIdTokenClaimsOptions = {}\n ): Promise<IdToken | undefined> {\n const audience = options.audience || this.options.audience || 'default';\n const scope = getUniqueScopes(this.defaultScope, this.scope, options.scope);\n\n const cache = await this.cacheManager.get(\n new CacheKey({\n client_id: this.options.client_id,\n audience,\n scope\n })\n );\n\n return cache && cache.decodedToken && cache.decodedToken.claims;\n }\n\n /**\n * ```js\n * await auth0.loginWithRedirect(options);\n * ```\n *\n * Performs a redirect to `/authorize` using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated.\n *\n * @param options\n */\n public async loginWithRedirect<TAppState = any>(\n options: RedirectLoginOptions<TAppState> = {}\n ) {\n const { redirectMethod, ...urlOptions } = options;\n const url = await this.buildAuthorizeUrl(urlOptions);\n window.location[redirectMethod || 'assign'](url);\n }\n\n /**\n * After the browser redirects back to the callback page,\n * call `handleRedirectCallback` to handle success and error\n * responses from Auth0. If the response is successful, results\n * will be valid according to their expiration times.\n */\n public async handleRedirectCallback<TAppState = any>(\n url: string = window.location.href\n ): Promise<RedirectLoginResult<TAppState>> {\n const queryStringFragments = url.split('?').slice(1);\n\n if (queryStringFragments.length === 0) {\n throw new Error('There are no query params available for parsing.');\n }\n\n const { state, code, error, error_description } = parseQueryResult(\n queryStringFragments.join('')\n );\n\n const transaction = this.transactionManager.get();\n\n if (!transaction) {\n throw new Error('Invalid state');\n }\n\n this.transactionManager.remove();\n\n if (error) {\n throw new AuthenticationError(\n error,\n error_description,\n state,\n transaction.appState\n );\n }\n\n // Transaction should have a `code_verifier` to do PKCE for CSRF protection\n if (\n !transaction.code_verifier ||\n (transaction.state && transaction.state !== state)\n ) {\n throw new Error('Invalid state');\n }\n\n const tokenOptions = {\n audience: transaction.audience,\n scope: transaction.scope,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n code_verifier: transaction.code_verifier,\n grant_type: 'authorization_code',\n code,\n auth0Client: this.options.auth0Client,\n useFormData: this.options.useFormData,\n timeout: this.httpTimeoutMs\n } as OAuthTokenOptions;\n // some old versions of the SDK might not have added redirect_uri to the\n // transaction, we dont want the key to be set to undefined.\n if (undefined !== transaction.redirect_uri) {\n tokenOptions.redirect_uri = transaction.redirect_uri;\n }\n\n const authResult = await oauthToken(tokenOptions, this.worker);\n\n const decodedToken = await this._verifyIdToken(\n authResult.id_token,\n transaction.nonce,\n transaction.organizationId\n );\n\n await this.cacheManager.set({\n ...authResult,\n decodedToken,\n audience: transaction.audience,\n scope: transaction.scope,\n ...(authResult.scope ? { oauthTokenScope: authResult.scope } : null),\n client_id: this.options.client_id\n });\n\n this.cookieStorage.save(this.isAuthenticatedCookieName, true, {\n daysUntilExpire: this.sessionCheckExpiryDays,\n cookieDomain: this.options.cookieDomain\n });\n\n this._processOrgIdHint(decodedToken.claims.org_id);\n\n return {\n appState: transaction.appState\n };\n }\n\n /**\n * ```js\n * await auth0.checkSession();\n * ```\n *\n * Check if the user is logged in using `getTokenSilently`. The difference\n * with `getTokenSilently` is that this doesn't return a token, but it will\n * pre-fill the token cache.\n *\n * This method also heeds the `auth0.{clientId}.is.authenticated` cookie, as an optimization\n * to prevent calling Auth0 unnecessarily. If the cookie is not present because\n * there was no previous login (or it has expired) then tokens will not be refreshed.\n *\n * It should be used for silently logging in the user when you instantiate the\n * `Auth0Client` constructor. You should not need this if you are using the\n * `createAuth0Client` factory.\n *\n * **Note:** the cookie **may not** be present if running an app using a private tab, as some\n * browsers clear JS cookie data and local storage when the tab or page is closed, or on page reload. This effectively\n * means that `checkSession` could silently return without authenticating the user on page refresh when\n * using a private tab, despite having previously logged in. As a workaround, use `getTokenSilently` instead\n * and handle the possible `login_required` error [as shown in the readme](https://github.com/auth0/auth0-spa-js#creating-the-client).\n *\n * @param options\n */\n public async checkSession(options?: GetTokenSilentlyOptions) {\n if (!this.cookieStorage.get(this.isAuthenticatedCookieName)) {\n if (!this.cookieStorage.get(OLD_IS_AUTHENTICATED_COOKIE_NAME)) {\n return;\n } else {\n // Migrate the existing cookie to the new name scoped by client ID\n this.cookieStorage.save(this.isAuthenticatedCookieName, true, {\n daysUntilExpire: this.sessionCheckExpiryDays,\n cookieDomain: this.options.cookieDomain\n });\n\n this.cookieStorage.remove(OLD_IS_AUTHENTICATED_COOKIE_NAME);\n }\n }\n\n try {\n await this.getTokenSilently(options);\n } catch (error) {\n if (!RECOVERABLE_ERRORS.includes(error.error)) {\n throw error;\n }\n }\n }\n\n /**\n * Fetches a new access token and returns the response from the /oauth/token endpoint, omitting the refresh token.\n *\n * @param options\n */\n public async getTokenSilently(\n options: GetTokenSilentlyOptions & { detailedResponse: true }\n ): Promise<GetTokenSilentlyVerboseResponse>;\n\n /**\n * Fetches a new access token and returns it.\n *\n * @param options\n */\n public async getTokenSilently(\n options?: GetTokenSilentlyOptions\n ): Promise<string>;\n\n /**\n * Fetches a new access token, and either returns just the access token (the default) or the response from the /oauth/token endpoint, depending on the `detailedResponse` option.\n *\n * ```js\n * const token = await auth0.getTokenSilently(options);\n * ```\n *\n * If there's a valid token stored and it has more than 60 seconds\n * remaining before expiration, return the token. Otherwise, attempt\n * to obtain a new token.\n *\n * A new token will be obtained either by opening an iframe or a\n * refresh token (if `useRefreshTokens` is `true`)\n\n * If iframes are used, opens an iframe with the `/authorize` URL\n * using the parameters provided as arguments. Random and secure `state`\n * and `nonce` parameters will be auto-generated. If the response is successful,\n * results will be validated according to their expiration times.\n *\n * If refresh tokens are used, the token endpoint is called directly with the\n * 'refresh_token' grant. If no refresh token is available to make this call,\n * the SDK falls back to using an iframe to the '/authorize' URL.\n *\n * This method may use a web worker to perform the token call if the in-memory\n * cache is used.\n *\n * If an `audience` value is given to this function, the SDK always falls\n * back to using an iframe to make the token exchange.\n *\n * Note that in all cases, falling back to an iframe requires access to\n * the `auth0` cookie.\n *\n * @param options\n */\n public async getTokenSilently(\n options: GetTokenSilentlyOptions = {}\n ): Promise<string | GetTokenSilentlyVerboseResponse> {\n const { ignoreCache, ...getTokenOptions } = {\n audience: this.options.audience,\n ignoreCache: false,\n ...options,\n scope: getUniqueScopes(this.defaultScope, this.scope, options.scope)\n };\n\n return singlePromise(\n () =>\n this._getTokenSilently({\n ignoreCache,\n ...getTokenOptions\n }),\n `${this.options.client_id}::${getTokenOptions.audience}::${getTokenOptions.scope}`\n );\n }\n\n private async _getTokenSilently(\n options: GetTokenSilentlyOptions = {}\n ): Promise<string | GetTokenSilentlyVerboseResponse> {\n const { ignoreCache, ...getTokenOptions } = options;\n\n // Check the cache before acquiring the lock to avoid the latency of\n // `lock.acquireLock` when the cache is populated.\n if (!ignoreCache) {\n const entry = await this._getEntryFromCache({\n scope: getTokenOptions.scope,\n audience: getTokenOptions.audience || 'default',\n client_id: this.options.client_id,\n getDetailedEntry: options.detailedResponse\n });\n\n if (entry) {\n return entry;\n }\n }\n\n if (\n await retryPromise(\n () => lock.acquireLock(GET_TOKEN_SILENTLY_LOCK_KEY, 5000),\n 10\n )\n ) {\n try {\n // Check the cache a second time, because it may have been populated\n // by a previous call while this call was waiting to acquire the lock.\n if (!ignoreCache) {\n const entry = await this._getEntryFromCache({\n scope: getTokenOptions.scope,\n audience: getTokenOptions.audience || 'default',\n client_id: this.options.client_id,\n getDetailedEntry: options.detailedResponse\n });\n\n if (entry) {\n return entry;\n }\n }\n\n const authResult = this.options.useRefreshTokens\n ? await this._getTokenUsingRefreshToken(getTokenOptions)\n : await this._getTokenFromIFrame(getTokenOptions);\n\n await this.cacheManager.set({\n client_id: this.options.client_id,\n ...authResult\n });\n\n this.cookieStorage.save(this.isAuthenticatedCookieName, true, {\n daysUntilExpire: this.sessionCheckExpiryDays,\n cookieDomain: this.options.cookieDomain\n });\n\n if (options.detailedResponse) {\n const { id_token, access_token, oauthTokenScope, expires_in } =\n authResult;\n\n return {\n id_token,\n access_token,\n ...(oauthTokenScope ? { scope: oauthTokenScope } : null),\n expires_in\n };\n }\n\n return authResult.access_token;\n } finally {\n await lock.releaseLock(GET_TOKEN_SILENTLY_LOCK_KEY);\n }\n } else {\n throw new TimeoutError();\n }\n }\n\n /**\n * ```js\n * const token = await auth0.getTokenWithPopup(options);\n * ```\n * Opens a popup with the `/authorize` URL using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated. If the response is successful,\n * results will be valid according to their expiration times.\n *\n * @param options\n * @param config\n */\n public async getTokenWithPopup(\n options: GetTokenWithPopupOptions = {},\n config: PopupConfigOptions = {}\n ) {\n options.audience = options.audience || this.options.audience;\n\n options.scope = getUniqueScopes(\n this.defaultScope,\n this.scope,\n options.scope\n );\n\n config = {\n ...DEFAULT_POPUP_CONFIG_OPTIONS,\n ...config\n };\n\n await this.loginWithPopup(options, config);\n\n const cache = await this.cacheManager.get(\n new CacheKey({\n scope: options.scope,\n audience: options.audience || 'default',\n client_id: this.options.client_id\n })\n );\n\n return cache.access_token;\n }\n\n /**\n * ```js\n * const isAuthenticated = await auth0.isAuthenticated();\n * ```\n *\n * Returns `true` if there's valid information stored,\n * otherwise returns `false`.\n *\n */\n public async isAuthenticated() {\n const user = await this.getUser();\n return !!user;\n }\n\n /**\n * ```js\n * await auth0.buildLogoutUrl(options);\n * ```\n *\n * Builds a URL to the logout endpoint using the parameters provided as arguments.\n * @param options\n */\n public buildLogoutUrl(options: LogoutUrlOptions = {}): string {\n if (options.client_id !== null) {\n options.client_id = options.client_id || this.options.client_id;\n } else {\n delete options.client_id;\n }\n\n const { federated, ...logoutOptions } = options;\n const federatedQuery = federated ? `&federated` : '';\n const url = this._url(`/v2/logout?${createQueryParams(logoutOptions)}`);\n\n return url + federatedQuery;\n }\n\n /**\n * ```js\n * auth0.logout();\n * ```\n *\n * Clears the application session and performs a redirect to `/v2/logout`, using\n * the parameters provided as arguments, to clear the Auth0 session.\n *\n * **Note:** If you are using a custom cache, and specifying `localOnly: true`, and you want to perform actions or read state from the SDK immediately after logout, you should `await` the result of calling `logout`.\n *\n * If the `federated` option is specified it also clears the Identity Provider session.\n * If the `localOnly` option is specified, it only clears the application session.\n * It is invalid to set both the `federated` and `localOnly` options to `true`,\n * and an error will be thrown if you do.\n * [Read more about how Logout works at Auth0](https://auth0.com/docs/logout).\n *\n * @param options\n */\n public logout(options: LogoutOptions = {}): Promise<void> | void {\n const { localOnly, ...logoutOptions } = options;\n\n if (localOnly && logoutOptions.federated) {\n throw new Error(\n 'It is invalid to set both the `federated` and `localOnly` options to `true`'\n );\n }\n\n const postCacheClear = () => {\n this.cookieStorage.remove(this.orgHintCookieName);\n this.cookieStorage.remove(this.isAuthenticatedCookieName);\n\n if (localOnly) {\n return;\n }\n\n const url = this.buildLogoutUrl(logoutOptions);\n\n window.location.assign(url);\n };\n\n if (this.options.cache) {\n return this.cacheManager.clear().then(() => postCacheClear());\n } else {\n this.cacheManager.clearSync();\n postCacheClear();\n }\n }\n\n private async _getTokenFromIFrame(\n options: GetTokenSilentlyOptions\n ): Promise<GetTokenSilentlyResult> {\n const stateIn = encode(createRandomString());\n const nonceIn = encode(createRandomString());\n const code_verifier = createRandomString();\n const code_challengeBuffer = await sha256(code_verifier);\n const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);\n\n const { detailedResponse, ...withoutClientOptions } = options;\n\n const params = this._getParams(\n withoutClientOptions,\n stateIn,\n nonceIn,\n code_challenge,\n options.redirect_uri ||\n this.options.redirect_uri ||\n window.location.origin\n );\n\n const orgIdHint = this.cookieStorage.get<string>(this.orgHintCookieName);\n\n if (orgIdHint && !params.organization) {\n params.organization = orgIdHint;\n }\n\n const url = this._authorizeUrl({\n ...params,\n prompt: 'none',\n response_mode: 'web_message'\n });\n\n try {\n // When a browser is running in a Cross-Origin Isolated context, using iframes is not possible.\n // It doesn't throw an error but times out instead, so we should exit early and inform the user about the reason.\n // https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated\n if ((window as any).crossOriginIsolated) {\n throw new GenericError(\n 'login_required',\n 'The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.'\n );\n }\n\n const authorizeTimeout =\n options.timeoutInSeconds || this.options.authorizeTimeoutInSeconds;\n\n const codeResult = await runIframe(url, this.domainUrl, authorizeTimeout);\n\n if (stateIn !== codeResult.state) {\n throw new Error('Invalid state');\n }\n\n const {\n scope,\n audience,\n redirect_uri,\n ignoreCache,\n timeoutInSeconds,\n detailedResponse,\n ...customOptions\n } = options;\n\n const tokenResult = await oauthToken(\n {\n ...this.customOptions,\n ...customOptions,\n scope,\n audience,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n code_verifier,\n code: codeResult.code,\n grant_type: 'authorization_code',\n redirect_uri: params.redirect_uri,\n auth0Client: this.options.auth0Client,\n useFormData: this.options.useFormData,\n timeout: customOptions.timeout || this.httpTimeoutMs\n } as OAuthTokenOptions,\n this.worker\n );\n\n const decodedToken = await this._verifyIdToken(\n tokenResult.id_token,\n nonceIn\n );\n\n this._processOrgIdHint(decodedToken.claims.org_id);\n\n return {\n ...tokenResult,\n decodedToken,\n scope: params.scope,\n oauthTokenScope: tokenResult.scope,\n audience: params.audience || 'default'\n };\n } catch (e) {\n if (e.error === 'login_required') {\n this.logout({\n localOnly: true\n });\n }\n throw e;\n }\n }\n\n private async _getTokenUsingRefreshToken(\n options: GetTokenSilentlyOptions\n ): Promise<GetTokenSilentlyResult> {\n options.scope = getUniqueScopes(\n this.defaultScope,\n this.options.scope,\n options.scope\n );\n\n const cache = await this.cacheManager.get(\n new CacheKey({\n scope: options.scope,\n audience: options.audience || 'default',\n client_id: this.options.client_id\n })\n );\n\n // If you don't have a refresh token in memory\n // and you don't have a refresh token in web worker memory\n // fallback to an iframe.\n if ((!cache || !cache.refresh_token) && !this.worker) {\n return await this._getTokenFromIFrame(options);\n }\n\n const redirect_uri =\n options.redirect_uri ||\n this.options.redirect_uri ||\n window.location.origin;\n\n let tokenResult: TokenEndpointResponse;\n\n const {\n scope,\n audience,\n ignoreCache,\n timeoutInSeconds,\n detailedResponse,\n ...customOptions\n } = options;\n\n const timeout =\n typeof options.timeoutInSeconds === 'number'\n ? options.timeoutInSeconds * 1000\n : null;\n\n try {\n tokenResult = await oauthToken(\n {\n ...this.customOptions,\n ...customOptions,\n audience,\n scope,\n baseUrl: this.domainUrl,\n client_id: this.options.client_id,\n grant_type: 'refresh_token',\n refresh_token: cache && cache.refresh_token,\n redirect_uri,\n ...(timeout && { timeout }),\n auth0Client: this.options.auth0Client,\n useFormData: this.options.useFormData,\n timeout: this.httpTimeoutMs\n } as RefreshTokenOptions,\n this.worker\n );\n } catch (e) {\n if (\n // The web worker didn't have a refresh token in memory so\n // fallback to an iframe.\n e.message === MISSING_REFRESH_TOKEN_ERROR_MESSAGE ||\n // A refresh token was found, but is it no longer valid.\n // Fallback to an iframe.\n (e.message &&\n e.message.indexOf(INVALID_REFRESH_TOKEN_ERROR_MESSAGE) > -1)\n ) {\n return await this._getTokenFromIFrame(options);\n }\n\n throw e;\n }\n\n const decodedToken = await this._verifyIdToken(tokenResult.id_token);\n\n return {\n ...tokenResult,\n decodedToken,\n scope: options.scope,\n oauthTokenScope: tokenResult.scope,\n audience: options.audience || 'default'\n };\n }\n\n private async _getEntryFromCache({\n scope,\n audience,\n client_id,\n getDetailedEntry = false\n }: {\n scope: string;\n audience: string;\n client_id: string;\n getDetailedEntry?: boolean;\n }) {\n const entry = await this.cacheManager.get(\n new CacheKey({\n scope,\n audience,\n client_id\n }),\n 60 // get a new token if within 60 seconds of expiring\n );\n\n if (entry && entry.access_token) {\n if (getDetailedEntry) {\n const { id_token, access_token, oauthTokenScope, expires_in } = entry;\n\n return {\n id_token,\n access_token,\n ...(oauthTokenScope ? { scope: oauthTokenScope } : null),\n expires_in\n };\n }\n\n return entry.access_token;\n }\n }\n}\n","export const isIE11 = () => /Trident.*rv:11\\.0/.test(navigator.userAgent);\n","import { ICache } from './cache';\n\n/**\n * @ignore\n */\nexport interface BaseLoginOptions {\n /**\n * - `'page'`: displays the UI with a full page view\n * - `'popup'`: displays the UI with a popup window\n * - `'touch'`: displays the UI in a way that leverages a touch interface\n * - `'wap'`: displays the UI with a \"feature phone\" type interface\n */\n display?: 'page' | 'popup' | 'touch' | 'wap';\n\n /**\n * - `'none'`: do not prompt user for login or consent on reauthentication\n * - `'login'`: prompt user for reauthentication\n * - `'consent'`: prompt user for consent before processing request\n * - `'select_account'`: prompt user to select an account\n */\n prompt?: 'none' | 'login' | 'consent' | 'select_account';\n\n /**\n * Maximum allowable elasped time (in seconds) since authentication.\n * If the last time the user authenticated is greater than this value,\n * the user must be reauthenticated.\n */\n max_age?: string | number;\n\n /**\n * The space-separated list of language tags, ordered by preference.\n * For example: `'fr-CA fr en'`.\n */\n ui_locales?: string;\n\n /**\n * Previously issued ID Token.\n */\n id_token_hint?: string;\n\n /**\n * Provides a hint to Auth0 as to what flow should be displayed.\n * The default behavior is to show a login page but you can override\n * this by passing 'signup' to show the signup page instead.\n *\n * This only affects the New Universal Login Experience.\n */\n screen_hint?: string;\n\n /**\n * The user's email address or other identifier. When your app knows\n * which user is trying to authenticate, you can provide this parameter\n * to pre-fill the email box or select the right session for sign-in.\n *\n * This currently only affects the classic Lock experience.\n */\n login_hint?: string;\n\n acr_values?: string;\n\n /**\n * The default scope to be used on authentication requests.\n * The defaultScope defined in the Auth0Client is included\n * along with this scope\n */\n scope?: string;\n\n /**\n * The default audience to be used for requesting API access.\n */\n audience?: string;\n\n /**\n * The name of the connection configured for your application.\n * If null, it will redirect to the Auth0 Login Page and show\n * the Login Widget.\n */\n connection?: string;\n\n /**\n * The Id of an organization to log in to.\n *\n * This will specify an `organization` parameter in your user's login request and will add a step to validate\n * the `org_id` claim in your user's ID Token.\n */\n organization?: string;\n\n /**\n * The Id of an invitation to accept. This is available from the user invitation URL that is given when participating in a user invitation flow.\n */\n invitation?: string;\n\n /**\n * If you need to send custom parameters to the Authorization Server,\n * make sure to use the original parameter name.\n */\n [key: string]: any;\n}\n\ninterface AdvancedOptions {\n /**\n * The default scope to be included with all requests.\n * If not provided, 'openid profile email' is used. This can be set to `null` in order to effectively remove the default scopes.\n *\n * Note: The `openid` scope is **always applied** regardless of this setting.\n */\n defaultScope?: string;\n}\n\nexport interface Auth0ClientOptions extends BaseLoginOptions {\n /**\n * Your Auth0 account domain such as `'example.auth0.com'`,\n * `'example.eu.auth0.com'` or , `'example.mycompany.com'`\n * (when using [custom domains](https://auth0.com/docs/custom-domains))\n */\n domain: string;\n /**\n * The issuer to be used for validation of JWTs, optionally defaults to the domain above\n */\n issuer?: string;\n /**\n * The Client ID found on your Application settings page\n */\n client_id: string;\n /**\n * The default URL where Auth0 will redirect your browser to with\n * the authentication result. It must be whitelisted in\n * the \"Allowed Callback URLs\" field in your Auth0 Application's\n * settings. If not provided here, it should be provided in the other\n * methods that provide authentication.\n */\n redirect_uri?: string;\n /**\n * The value in seconds used to account for clock skew in JWT expirations.\n * Typically, this value is no more than a minute or two at maximum.\n * Defaults to 60s.\n */\n leeway?: number;\n\n /**\n * The location to use when storing cache data. Valid values are `memory` or `localstorage`.\n * The default setting is `memory`.\n *\n * Read more about [changing storage options in the Auth0 docs](https://auth0.com/docs/libraries/auth0-single-page-app-sdk#change-storage-options)\n */\n cacheLocation?: CacheLocation;\n\n /**\n * Specify a custom cache implementation to use for token storage and retrieval. This setting takes precedence over `cacheLocation` if they are both specified.\n */\n cache?: ICache;\n\n /**\n * If true, refresh tokens are used to fetch new access tokens from the Auth0 server. If false, the legacy technique of using a hidden iframe and the `authorization_code` grant with `prompt=none` is used.\n * The default setting is `false`.\n *\n * **Note**: Use of refresh tokens must be enabled by an administrator on your Auth0 client application.\n */\n useRefreshTokens?: boolean;\n\n /**\n * A maximum number of seconds to wait before declaring background calls to /authorize as failed for timeout\n * Defaults to 60s.\n */\n authorizeTimeoutInSeconds?: number;\n\n /**\n * Specify the timeout for HTTP calls using `fetch`. The default is 10 seconds.\n */\n httpTimeoutInSeconds?: number;\n\n /**\n * Internal property to send information about the client to the authorization server.\n * @internal\n */\n auth0Client?: { name: string; version: string };\n\n /**\n * Sets an additional cookie with no SameSite attribute to support legacy browsers\n * that are not compatible with the latest SameSite changes.\n * This will log a warning on modern browsers, you can disable the warning by setting\n * this to false but be aware that some older useragents will not work,\n * See https://www.chromium.org/updates/same-site/incompatible-clients\n * Defaults to true\n */\n legacySameSiteCookie?: boolean;\n\n /**\n * If `true`, the SDK will use a cookie when storing information about the auth transaction while\n * the user is going through the authentication flow on the authorization server.\n *\n * The default is `false`, in which case the SDK will use session storage.\n *\n * @notes\n *\n * You might want to enable this if you rely on your users being able to authenticate using flows that\n * may end up spanning across multiple tabs (e.g. magic links) or you cannot otherwise rely on session storage being available.\n */\n useCookiesForTransactions?: boolean;\n\n /**\n * Changes to recommended defaults, like defaultScope\n */\n advancedOptions?: AdvancedOptions;\n\n /**\n * Number of days until the cookie `auth0.is.authenticated` will expire\n * Defaults to 1.\n */\n sessionCheckExpiryDays?: number;\n\n /**\n * The domain the cookie is accessible from. If not set, the cookie is scoped to\n * the current domain, including the subdomain.\n *\n * Note: setting this incorrectly may cause silent authentication to stop working\n * on page load.\n *\n *\n * To keep a user logged in across multiple subdomains set this to your\n * top-level domain and prefixed with a `.` (eg: `.example.com`).\n */\n cookieDomain?: string;\n\n /**\n * When true, data to the token endpoint is transmitted as x-www-form-urlencoded data instead of JSON. The default is false, but will default to true in a\n * future major version.\n *\n * **Note:** Setting this to `true` may affect you if you use Auth0 Rules and are sending custom, non-primative data. If you enable this, please verify that your Auth0 Rules\n * continue to work as intended.\n */\n useFormData?: boolean;\n\n /**\n * Modify the value used as the current time during the token validation.\n *\n * **Note**: Using this improperly can potentially compromise the token validation.\n */\n nowProvider?: () => Promise<number> | number;\n}\n\n/**\n * The possible locations where tokens can be stored\n */\nexport type CacheLocation = 'memory' | 'localstorage';\n\n/**\n * @ignore\n */\nexport interface AuthorizeOptions extends BaseLoginOptions {\n response_type: string;\n response_mode: string;\n redirect_uri: string;\n nonce: string;\n state: string;\n scope: string;\n code_challenge: string;\n code_challenge_method: string;\n}\n\nexport interface RedirectLoginOptions<TAppState = any>\n extends BaseLoginOptions {\n /**\n * The URL where Auth0 will redirect your browser to with\n * the authentication result. It must be whitelisted in\n * the \"Allowed Callback URLs\" field in your Auth0 Application's\n * settings.\n */\n redirect_uri?: string;\n /**\n * Used to store state before doing the redirect\n */\n appState?: TAppState;\n /**\n * Used to add to the URL fragment before redirecting\n */\n fragment?: string;\n /**\n * Used to select the window.location method used to redirect\n */\n redirectMethod?: 'replace' | 'assign';\n}\n\nexport interface RedirectLoginResult<TAppState = any> {\n /**\n * State stored when the redirect request was made\n */\n appState?: TAppState;\n}\n\nexport interface PopupLoginOptions extends BaseLoginOptions {}\n\nexport interface PopupConfigOptions {\n /**\n * The number of seconds to wait for a popup response before\n * throwing a timeout error. Defaults to 60s\n */\n timeoutInSeconds?: number;\n\n /**\n * Accepts an already-created popup window to use. If not specified, the SDK\n * will create its own. This may be useful for platforms like iOS that have\n * security restrictions around when popups can be invoked (e.g. from a user click event)\n */\n popup?: any;\n}\n\nexport interface GetUserOptions {\n /**\n * The scope that was used in the authentication request\n */\n scope?: string;\n /**\n * The audience that was used in the authentication request\n */\n audience?: string;\n}\n\nexport interface GetIdTokenClaimsOptions {\n /**\n * The scope that was used in the authentication request\n */\n scope?: string;\n /**\n * The audience that was used in the authentication request\n */\n audience?: string;\n}\n\n/*\n * TODO: Remove this on the next major\n */\nexport type getIdTokenClaimsOptions = GetIdTokenClaimsOptions;\n\nexport interface GetTokenSilentlyOptions {\n /**\n * When `true`, ignores the cache and always sends a\n * request to Auth0.\n */\n ignoreCache?: boolean;\n\n /**\n * There's no actual redirect when getting a token silently,\n * but, according to the spec, a `redirect_uri` param is required.\n * Auth0 uses this parameter to validate that the current `origin`\n * matches the `redirect_uri` `origin` when sending the response.\n * It must be whitelisted in the \"Allowed Web Origins\" in your\n * Auth0 Application's settings.\n */\n redirect_uri?: string;\n\n /**\n * The scope that was used in the authentication request\n */\n scope?: string;\n\n /**\n * The audience that was used in the authentication request\n */\n audience?: string;\n\n /** A maximum number of seconds to wait before declaring the background /authorize call as failed for timeout\n * Defaults to 60s.\n */\n timeoutInSeconds?: number;\n\n /**\n * If true, the full response from the /oauth/token endpoint (or the cache, if the cache was used) is returned\n * (minus `refresh_token` if one was issued). Otherwise, just the access token is returned.\n *\n * The default is `false`.\n */\n detailedResponse?: boolean;\n\n /**\n * If you need to send custom parameters to the Authorization Server,\n * make sure to use the original parameter name.\n */\n [key: string]: any;\n}\n\nexport interface GetTokenWithPopupOptions extends PopupLoginOptions {\n /**\n * When `true`, ignores the cache and always sends a\n * request to Auth0.\n */\n ignoreCache?: boolean;\n}\n\nexport interface LogoutUrlOptions {\n /**\n * The URL where Auth0 will redirect your browser to after the logout.\n *\n * **Note**: If the `client_id` parameter is included, the\n * `returnTo` URL that is provided must be listed in the\n * Application's \"Allowed Logout URLs\" in the Auth0 dashboard.\n * However, if the `client_id` parameter is not included, the\n * `returnTo` URL must be listed in the \"Allowed Logout URLs\" at\n * the account level in the Auth0 dashboard.\n *\n * [Read more about how redirecting after logout works](https://auth0.com/docs/logout/guides/redirect-users-after-logout)\n */\n returnTo?: string;\n\n /**\n * The `client_id` of your application.\n *\n * If this property is not set, then the `client_id` that was used during initialization of the SDK is sent to the logout endpoint.\n *\n * If this property is set to `null`, then no client ID value is sent to the logout endpoint.\n *\n * [Read more about how redirecting after logout works](https://auth0.com/docs/logout/guides/redirect-users-after-logout)\n */\n client_id?: string;\n\n /**\n * When supported by the upstream identity provider,\n * forces the user to logout of their identity provider\n * and from Auth0.\n * [Read more about how federated logout works at Auth0](https://auth0.com/docs/logout/guides/logout-idps)\n */\n federated?: boolean;\n}\n\nexport interface LogoutOptions {\n /**\n * The URL where Auth0 will redirect your browser to after the logout.\n *\n * **Note**: If the `client_id` parameter is included, the\n * `returnTo` URL that is provided must be listed in the\n * Application's \"Allowed Logout URLs\" in the Auth0 dashboard.\n * However, if the `client_id` parameter is not included, the\n * `returnTo` URL must be listed in the \"Allowed Logout URLs\" at\n * the account level in the Auth0 dashboard.\n *\n * [Read more about how redirecting after logout works](https://auth0.com/docs/logout/guides/redirect-users-after-logout)\n */\n returnTo?: string;\n\n /**\n * The `client_id` of your application.\n *\n * If this property is not set, then the `client_id` that was used during initialization of the SDK is sent to the logout endpoint.\n *\n * If this property is set to `null`, then no client ID value is sent to the logout endpoint.\n *\n * [Read more about how redirecting after logout works](https://auth0.com/docs/logout/guides/redirect-users-after-logout)\n */\n client_id?: string;\n\n /**\n * When supported by the upstream identity provider,\n * forces the user to logout of their identity provider\n * and from Auth0.\n * This option cannot be specified along with the `localOnly` option.\n * [Read more about how federated logout works at Auth0](https://auth0.com/docs/logout/guides/logout-idps)\n */\n federated?: boolean;\n\n /**\n * When `true`, this skips the request to the logout endpoint on the authorization server,\n * effectively performing a \"local\" logout of the application. No redirect should take place,\n * you should update local logged in state.\n * This option cannot be specified along with the `federated` option.\n */\n localOnly?: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface AuthenticationResult {\n state: string;\n code?: string;\n error?: string;\n error_description?: string;\n}\n\n/**\n * @ignore\n */\nexport interface TokenEndpointOptions {\n baseUrl: string;\n client_id: string;\n grant_type: string;\n timeout?: number;\n auth0Client: any;\n useFormData?: boolean;\n [key: string]: any;\n}\n\n/**\n * @ignore\n */\nexport type TokenEndpointResponse = {\n id_token: string;\n access_token: string;\n refresh_token?: string;\n expires_in: number;\n scope?: string;\n};\n\n/**\n * @ignore\n */\nexport interface OAuthTokenOptions extends TokenEndpointOptions {\n code_verifier: string;\n code: string;\n redirect_uri: string;\n audience: string;\n scope: string;\n}\n\n/**\n * @ignore\n */\nexport interface RefreshTokenOptions extends TokenEndpointOptions {\n refresh_token: string;\n}\n\n/**\n * @ignore\n */\nexport interface JWTVerifyOptions {\n iss: string;\n aud: string;\n id_token: string;\n nonce?: string;\n leeway?: number;\n max_age?: number;\n organizationId?: string;\n now?: number;\n}\n\n/**\n * @ignore\n */\nexport interface IdToken {\n __raw: string;\n name?: string;\n given_name?: string;\n family_name?: string;\n middle_name?: string;\n nickname?: string;\n preferred_username?: string;\n profile?: string;\n picture?: string;\n website?: string;\n email?: string;\n email_verified?: boolean;\n gender?: string;\n birthdate?: string;\n zoneinfo?: string;\n locale?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n address?: string;\n updated_at?: string;\n iss?: string;\n aud?: string;\n exp?: number;\n nbf?: number;\n iat?: number;\n jti?: string;\n azp?: string;\n nonce?: string;\n auth_time?: string;\n at_hash?: string;\n c_hash?: string;\n acr?: string;\n amr?: string;\n sub_jwk?: string;\n cnf?: string;\n sid?: string;\n org_id?: string;\n [key: string]: any;\n}\n\nexport class User {\n name?: string;\n given_name?: string;\n family_name?: string;\n middle_name?: string;\n nickname?: string;\n preferred_username?: string;\n profile?: string;\n picture?: string;\n website?: string;\n email?: string;\n email_verified?: boolean;\n gender?: string;\n birthdate?: string;\n zoneinfo?: string;\n locale?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n address?: string;\n updated_at?: string;\n sub?: string;\n [key: string]: any;\n}\n\n/**\n * @ignore\n */\nexport type FetchOptions = {\n method?: string;\n headers?: Record<string, string>;\n credentials?: 'include' | 'omit';\n body?: string;\n signal?: AbortSignal;\n};\n\nexport type GetTokenSilentlyVerboseResponse = Omit<\n TokenEndpointResponse,\n 'refresh_token'\n>;\n","import 'core-js/es/string/starts-with';\nimport 'core-js/es/symbol';\nimport 'core-js/es/array/from';\nimport 'core-js/es/typed-array/slice';\nimport 'core-js/es/array/includes';\nimport 'core-js/es/string/includes';\nimport 'core-js/es/set';\nimport 'promise-polyfill/src/polyfill';\nimport 'fast-text-encoding';\nimport 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only';\n\nimport Auth0Client from './Auth0Client';\nimport { Auth0ClientOptions } from './global';\n\nimport './global';\n\nexport * from './global';\n\n/**\n * Asynchronously creates the Auth0Client instance and calls `checkSession`.\n *\n * **Note:** There are caveats to using this in a private browser tab, which may not silently authenticae\n * a user on page refresh. Please see [the checkSession docs](https://auth0.github.io/auth0-spa-js/classes/auth0client.html#checksession) for more info.\n *\n * @param options The client options\n * @returns An instance of Auth0Client\n */\nexport default async function createAuth0Client(options: Auth0ClientOptions) {\n const auth0 = new Auth0Client(options);\n await auth0.checkSession();\n return auth0;\n}\n\nexport { Auth0Client };\n\nexport {\n GenericError,\n AuthenticationError,\n TimeoutError,\n PopupTimeoutError,\n PopupCancelledError,\n MfaRequiredError\n} from './errors';\n\nexport { ICache, LocalStorageCache, InMemoryCache, Cacheable } from './cache';\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","pop","push","__read","o","m","r","ar","error","__spreadArray","to","from","pack","l","slice","concat","match","version","check","it","Math","global_1","globalThis","window","self","global","Function","fails","exec","descriptors","defineProperty","get","functionBindNative","test","bind","functionCall","NATIVE_BIND","$propertyIsEnumerable","getOwnPropertyDescriptor","V","descriptor","enumerable","createPropertyDescriptor","bitmap","configurable","writable","FunctionPrototype","uncurryThis","functionUncurryThis","fn","toString","stringSlice","classofRaw","split","indexedObject","classof","requireObjectCoercible","undefined","toIndexedObject","IndexedObject","isCallable","argument","isObject","aFunction","getBuiltIn","namespace","method","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","process","Deno","versions","v8","userAgent","engineV8Version","nativeSymbol","symbol","sham","V8_VERSION","useSymbolAsUid","NATIVE_SYMBOL","isSymbol","USE_SYMBOL_AS_UID","$Symbol","tryToString","aCallable","getMethod","func","setGlobal","key","sharedStore","module","store","mode","copyright","license","source","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","WellKnownSymbolsStore","shared","symbolFor","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","description","TO_PRIMITIVE","toPrimitive","input","pref","exoticToPrim","val","valueOf","ordinaryToPrimitive","toPropertyKey","document","EXISTS","createElement","documentCreateElement","ie8DomDefine","DESCRIPTORS","a","$getOwnPropertyDescriptor","O","IE8_DOM_DEFINE","propertyIsEnumerableModule","v8PrototypeDefineBug","anObject","$defineProperty","V8_PROTOTYPE_DEFINE_BUG","Attributes","current","createNonEnumerableProperty","object","definePropertyModule","functionToString","inspectSource","set","has","WeakMap","nativeWeakMap","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","state","wmget","wmhas","wmset","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","getDescriptor","functionName","PROPER","CONFIGURABLE","CONFIGURABLE_FUNCTION_NAME","require$$0","getInternalState","InternalStateModule","enforceInternalState","TEMPLATE","exports","options","unsafe","simple","noTargetGet","replace","join","ceil","floor","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","objectKeysInternal","names","enumBugKeys","getOwnPropertyNames","internalObjectKeys","ownKeys","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","copyConstructorProperties","target","exceptions","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","redefine","toStringTagSupport","TO_STRING_TAG","CORRECT_ARGUMENTS","TO_STRING_TAG_SUPPORT","tag","tryGet","callee","toString_1","MATCH","notARegexp","isRegExp","correctIsRegexpLogic","METHOD_NAME","regexp","error1","error2","un$StartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","correctIsRegExpLogic","MDN_POLYFILL_BUG","$","proto","searchString","that","notARegExp","search","entryUnbind","CONSTRUCTOR","METHOD","isArray","createProperty","propertyKey","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","isConstructor","called","SPECIES","arraySpeciesCreate","originalArray","C","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","foo","Boolean","isConcatSpreadable","spreadable","arg","k","len","E","A","objectToString","activeXDocument","objectKeys","defineProperties","Properties","props","html","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","style","display","appendChild","src","contentWindow","open","F","objectCreate","definePropertiesModule","$getOwnPropertyNames","windowNames","getWindowNames","start","end","fin","arraySlice","path","defineWellKnownSymbol","NAME","wrappedWellKnownSymbolModule","symbolDefineToPrimitive","SymbolPrototype","hint","setToStringTag","TAG","functionBindContext","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","$forEach","forEach","map","filter","some","every","find","findIndex","filterReject","HIDDEN","setInternalState","ObjectPrototype","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","getOwnPropertyNamesExternal","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","setSymbolDescriptor","nativeObjectCreate","ObjectPrototypeDescriptor","wrap","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","$toString","setter","useSetter","useSimple","defineSymbolToPrimitive","nativeSymbolRegistry","keyFor","StringToSymbolRegistry","SymbolToStringRegistry","NATIVE_SYMBOL_REGISTRY","for","sym","functionApply","Reflect","$stringify","charAt","charCodeAt","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","replacer","args","$replacer","fixIllFormed","offset","prev","stringify","space","FORCED","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","symbolValueOf","desc","JSON","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","CONVERT_TO_STRING","pos","first","second","S","position","size","stringMultibyte","codeAt","correctPrototypeGetter","getPrototypeOf","objectGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","ITERATOR","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","iterators","returnThis","objectSetPrototypeOf","CORRECT_SETTER","aPossiblePrototype","PROPER_FUNCTION_NAME","FunctionName","IteratorsCore","defineIterator","Iterable","IteratorConstructor","DEFAULT","IS_SET","ENUMERABLE_NEXT","Iterators","createIteratorConstructor","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","iterated","point","iteratorClose","kind","innerResult","innerError","callWithSafeIterationClosing","ENTRIES","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","SAFE_CLOSING","iteratorWithReturn","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","INCORRECT_ITERATION","iterable","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","Constructor","Prototype","arrayBufferNative","ArrayBuffer","DataView","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","NATIVE_ARRAY_BUFFER","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isTypedArray","klass","arrayBufferViewCore","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","property","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","isView","speciesConstructor","defaultConstructor","aConstructor","ArrayBufferViewCore","list","UNSCOPABLES","addToUnscopables","$includes","stringIndexOf","Arguments","arrayBufferNonExtensible","buffer","isExtensible","$isExtensible","objectIsExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","freezing","preventExtensions","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","enable","splice","getOwnPropertyNamesExternalModule","fastKey","getWeakData","onFreeze","FREEZING","Result","stopped","ResultPrototype","iterate","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","anInstance","redefineAll","require$$1","internalStateGetterFor","collectionStrong","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","last","define","previous","entry","getEntry","removed","clear","delete","add","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","setSpecies","finallyConstructor","callback","reason","allSettled","arr","remaining","res","status","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","InternalMetadataModule","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","Wrapper","NewTarget","NewTargetPrototype","inheritIfRequired","collection","init","Set","setTimeoutFunc","setTimeout","x","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","promise","newValue","finale","_unhandledRejectionFn","Handler","ex","prom","promiseFinally","all","race","setImmediate","err","console","warn","globalNS","Error","c","fatal","RangeError","q","h","fromCharCode","subarray","TextEncoder","TextDecoder","encode","stream","Buffer","byteOffset","byteLength","Blob","URL","createObjectURL","XMLHttpRequest","send","responseText","revokeObjectURL","decode","_classCallCheck","_defineProperties","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","Proxy","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","_superPropBase","_get","receiver","base","Emitter","listeners","stack","event","stackToCall","listener","once","removeEventListener","defaultPrevented","AbortSignal","_Emitter","_super","_this","aborted","onabort","AbortController","Event","createEvent","initEvent","createEventObject","bubbles","cancelable","signal","dispatchEvent","polyfillNeeded","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","log","Request","toStringTag","factory","ProcessLocking","locked","Map","addToLocked","toAdd","callbacks","unshift","isLocked","lock","unlock","toCall","getInstance","default","LOCK_STORAGE_KEY","delay","milliseconds","generateRandomString","CHARS","randomstring","SuperTokensLock","acquiredIatSet","Date","now","acquireLock","releaseLock","releaseLock__private__","waitForSomethingToChange","refreshLockWhileAcquired","waiters","lockKey","timeout","iat","MAX_TIME","STORAGE_KEY","STORAGE","TIMEOUT_KEY","lockObjPostDelay","_a","localStorage","getItem","setItem","timeoutKey","timeAcquired","timeRefreshed","parse","lockCorrector","storageKey","lockObj","processLock_1","resolvedCalled","startedAt","removedListeners","stopWaiting","removeFromWaiting","clearTimeout","timeOutId","timeToWait","addEventListener","addToWaiting","notifyWaiters","removeItem","MIN_ALLOWED_TIME","KEYS","LOCK_KEY","DEFAULT_POPUP_CONFIG_OPTIONS","timeoutInSeconds","RECOVERABLE_ERRORS","DEFAULT_AUTH0_CLIENT","DEFAULT_NOW_PROVIDER","GenericError","error_description","fromPayload","AuthenticationError","appState","TimeoutError","PopupTimeoutError","popup","PopupCancelledError","MfaRequiredError","mfa_token","runPopup","config","popupEventListener","popupTimer","setInterval","closed","clearInterval","timeoutId","response","getCrypto","crypto","msCrypto","getCryptoSubtle","subtle","webkitSubtle","createRandomString","charset","getRandomValues","btoa","createQueryParams","params","encodeURIComponent","sha256","digestOp","digest","rej","oncomplete","onerror","urlDecodeB64","decodeURIComponent","atob","decodeB64","bufferToBase64UrlEncoded","ie11SafeInput","b64Chars","urlEncodeB64","dofetch","fetchUrl","fetchOptions","url","request","headers","ok","statusText","responseURL","text","json","blob","clone","const","onload","getAllResponseHeaders","withCredentials","credentials","setRequestHeader","_b","fetchWithoutWorker","controller","abort","finally","fetchWithWorker","audience","scope","worker","useFormData","message","auth","messageChannel","MessageChannel","port1","onmessage","postMessage","port2","switchFetch","getJSON","fetchError","e_1","errorMessage","oauthToken","baseUrl","auth0Client","dedupe","getUniqueScopes","scopes","_i","trim","CacheKey","prefix","client_id","toKey","fromKey","fromCacheEntry","LocalStorageCache","remove","allKeys","InMemoryCache","cache","enclosedCache","cacheEntry","CacheManager","keyManifest","nowProvider","cacheKey","expiryAdjustmentSeconds","wrappedEntry","getCacheKeys","matchedKey","matchExistingCacheKey","nowSeconds","expiresAt","refresh_token","wrapCacheEntry","clientId","reduce","memo","clearSync","expiresInTime","expires_in","expirySeconds","decodedToken","claims","exp","_c","keyToMatch","scopeSet","scopesToMatch","hasAllScopes","acc","TransactionManager","storage","transaction","save","daysUntilExpire","isNumber","idTokendecoded","verify","id_token","decoded","token","parts","header","payload","signature","payloadJSON","__raw","user","encoded","iss","sub","alg","aud","azp","nonce","max_age","auth_time","leeway","expDate","nbfDate","authTimeDate","setUTCSeconds","parseInt","nbf","organizationId","org_id","stringifyAttribute","stringified","attributes","expires","setMilliseconds","getMilliseconds","toUTCString","secure","sameSite","stringifyAttributes","cookieString","cookies","rdecode","cookie","getAll","__esModule","CookieStorage","Cookies.get","cookieAttributes","location","protocol","cookieDomain","Cookies.set","Cookies.remove","CookieStorageWithLegacySameSite","SessionStorage","sessionStorage","singlePromiseMap","CacheKeyManifest","manifestKey","createManifestKeyFrom","Lock","cacheLocationBuilders","memory","localstorage","cacheFactory","supportWebWorker","navigator","Auth0Client","validateCrypto","cacheLocation","httpTimeoutMs","httpTimeoutInSeconds","cookieStorage","legacySameSiteCookie","orgHintCookieName","isAuthenticatedCookieName","buildIsAuthenticatedCookieName","sessionCheckExpiryDays","domainUrl","transactionStorage","useCookiesForTransactions","transactionManager","cacheManager","tokenIssuer","issuer","getTokenIssuer","defaultScope","advancedOptions","useRefreshTokens","Worker","TokenWorker","customOptions","authorizeTimeoutInSeconds","redirect_uri","getCustomInitialOptions","_url","_getParams","authorizeOptions","code_challenge","detailedResponse","loginOptions","response_type","response_mode","code_challenge_method","_authorizeUrl","_verifyIdToken","verifyIdToken","_parseNumber","_processOrgIdHint","buildAuthorizeUrl","stateIn","nonceIn","code_verifier","code_challengeBuffer","fragment","organization","loginWithPopup","left","screenX","innerWidth","top","screenY","innerHeight","openPopup","origin","href","codeResult","code","grant_type","authResult","getUser","getIdTokenClaims","loginWithRedirect","redirectMethod","urlOptions","handleRedirectCallback","queryStringFragments","queryString","substr","queryParams","parsedQuery","qp","parseQueryResult","tokenOptions","oauthTokenScope","checkSession","getTokenSilently","error_1","ignoreCache","getTokenOptions","_getTokenSilently","_getEntryFromCache","getDetailedEntry","maxNumberOfRetries","_getTokenUsingRefreshToken","_getTokenFromIFrame","access_token","getTokenWithPopup","isAuthenticated","buildLogoutUrl","federated","logoutOptions","federatedQuery","logout","localOnly","postCacheClear","withoutClientOptions","orgIdHint","prompt","crossOriginIsolated","authorizeTimeout","authorizeUrl","eventOrigin","setAttribute","iframeEventHandler","removeIframe","contains","removeChild","timeoutSetTimeoutId","eventSource","CLEANUP_IFRAME_TIMEOUT_IN_SECONDS","tokenResult","e_2","User","createAuth0Client","auth0"],"mappings":"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"}
\No newline at end of file