{"version":3,"file":"app-9bc743e805b46b530bfb.js","mappings":"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","sources":["webpack://berrylanding/./node_modules/idb/build/wrap-idb-value.js","webpack://berrylanding/./node_modules/idb/build/index.js","webpack://berrylanding/./node_modules/@firebase/app/dist/esm/index.esm2017.js","webpack://berrylanding/./node_modules/@firebase/auth/node_modules/tslib/tslib.es6.mjs","webpack://berrylanding/./node_modules/@firebase/component/dist/esm/index.esm2017.js","webpack://berrylanding/./node_modules/@firebase/logger/dist/esm/index.esm2017.js","webpack://berrylanding/./node_modules/@firebase/util/dist/index.esm2017.js","webpack://berrylanding/./node_modules/@firebase/webchannel-wrapper/dist/esm/index.esm2017.js","webpack://berrylanding/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://berrylanding/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://berrylanding/./node_modules/common-tags/es/TemplateTag/TemplateTag.js","webpack://berrylanding/./node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/commaLists/commaLists.js","webpack://berrylanding/./node_modules/common-tags/es/commaListsAnd/commaListsAnd.js","webpack://berrylanding/./node_modules/common-tags/es/commaListsOr/commaListsOr.js","webpack://berrylanding/./node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/html/html.js","webpack://berrylanding/./node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js","webpack://berrylanding/./node_modules/common-tags/es/safeHtml/safeHtml.js","webpack://berrylanding/./node_modules/common-tags/es/oneLine/oneLine.js","webpack://berrylanding/./node_modules/common-tags/es/oneLineTrim/oneLineTrim.js","webpack://berrylanding/./node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js","webpack://berrylanding/./node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js","webpack://berrylanding/./node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js","webpack://berrylanding/./node_modules/common-tags/es/inlineLists/inlineLists.js","webpack://berrylanding/./node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js","webpack://berrylanding/./node_modules/common-tags/es/stripIndent/stripIndent.js","webpack://berrylanding/./node_modules/common-tags/es/stripIndents/stripIndents.js","webpack://berrylanding/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://berrylanding/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://berrylanding/./node_modules/core-js/internals/a-callable.js","webpack://berrylanding/./node_modules/core-js/internals/a-constructor.js","webpack://berrylanding/./node_modules/core-js/internals/an-object.js","webpack://berrylanding/./node_modules/core-js/internals/array-includes.js","webpack://berrylanding/./node_modules/core-js/internals/classof-raw.js","webpack://berrylanding/./node_modules/core-js/internals/classof.js","webpack://berrylanding/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://berrylanding/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://berrylanding/./node_modules/core-js/internals/create-property-descriptor.js","webpack://berrylanding/./node_modules/core-js/internals/define-built-in.js","webpack://berrylanding/./node_modules/core-js/internals/descriptors.js","webpack://berrylanding/./node_modules/core-js/internals/document-create-element.js","webpack://berrylanding/./node_modules/core-js/internals/engine-user-agent.js","webpack://berrylanding/./node_modules/core-js/internals/engine-v8-version.js","webpack://berrylanding/./node_modules/core-js/internals/enum-bug-keys.js","webpack://berrylanding/./node_modules/core-js/internals/export.js","webpack://berrylanding/./node_modules/core-js/internals/fails.js","webpack://berrylanding/./node_modules/core-js/internals/function-bind-native.js","webpack://berrylanding/./node_modules/core-js/internals/function-call.js","webpack://berrylanding/./node_modules/core-js/internals/function-name.js","webpack://berrylanding/./node_modules/core-js/internals/function-uncurry-this.js","webpack://berrylanding/./node_modules/core-js/internals/get-built-in.js","webpack://berrylanding/./node_modules/core-js/internals/get-method.js","webpack://berrylanding/./node_modules/core-js/internals/global.js","webpack://berrylanding/./node_modules/core-js/internals/has-own-property.js","webpack://berrylanding/./node_modules/core-js/internals/hidden-keys.js","webpack://berrylanding/./node_modules/core-js/internals/ie8-dom-define.js","webpack://berrylanding/./node_modules/core-js/internals/indexed-object.js","webpack://berrylanding/./node_modules/core-js/internals/inspect-source.js","webpack://berrylanding/./node_modules/core-js/internals/internal-state.js","webpack://berrylanding/./node_modules/core-js/internals/is-callable.js","webpack://berrylanding/./node_modules/core-js/internals/is-constructor.js","webpack://berrylanding/./node_modules/core-js/internals/is-forced.js","webpack://berrylanding/./node_modules/core-js/internals/is-object.js","webpack://berrylanding/./node_modules/core-js/internals/is-pure.js","webpack://berrylanding/./node_modules/core-js/internals/is-symbol.js","webpack://berrylanding/./node_modules/core-js/internals/length-of-array-like.js","webpack://berrylanding/./node_modules/core-js/internals/make-built-in.js","webpack://berrylanding/./node_modules/core-js/internals/native-symbol.js","webpack://berrylanding/./node_modules/core-js/internals/native-weak-map.js","webpack://berrylanding/./node_modules/core-js/internals/new-promise-capability.js","webpack://berrylanding/./node_modules/core-js/internals/object-define-property.js","webpack://berrylanding/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://berrylanding/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://berrylanding/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://berrylanding/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://berrylanding/./node_modules/core-js/internals/object-keys-internal.js","webpack://berrylanding/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://berrylanding/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://berrylanding/./node_modules/core-js/internals/own-keys.js","webpack://berrylanding/./node_modules/core-js/internals/promise-native-constructor.js","webpack://berrylanding/./node_modules/core-js/internals/promise-resolve.js","webpack://berrylanding/./node_modules/core-js/internals/require-object-coercible.js","webpack://berrylanding/./node_modules/core-js/internals/set-global.js","webpack://berrylanding/./node_modules/core-js/internals/shared-key.js","webpack://berrylanding/./node_modules/core-js/internals/shared-store.js","webpack://berrylanding/./node_modules/core-js/internals/shared.js","webpack://berrylanding/./node_modules/core-js/internals/species-constructor.js","webpack://berrylanding/./node_modules/core-js/internals/to-absolute-index.js","webpack://berrylanding/./node_modules/core-js/internals/to-indexed-object.js","webpack://berrylanding/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://berrylanding/./node_modules/core-js/internals/to-length.js","webpack://berrylanding/./node_modules/core-js/internals/to-object.js","webpack://berrylanding/./node_modules/core-js/internals/to-primitive.js","webpack://berrylanding/./node_modules/core-js/internals/to-property-key.js","webpack://berrylanding/./node_modules/core-js/internals/to-string-tag-support.js","webpack://berrylanding/./node_modules/core-js/internals/try-to-string.js","webpack://berrylanding/./node_modules/core-js/internals/uid.js","webpack://berrylanding/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://berrylanding/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://berrylanding/./node_modules/core-js/internals/well-known-symbol.js","webpack://berrylanding/./node_modules/core-js/modules/es.global-this.js","webpack://berrylanding/./node_modules/core-js/modules/es.promise.finally.js","webpack://berrylanding/./node_modules/core-js/modules/esnext.global-this.js","webpack://berrylanding/./node_modules/gatsby-react-router-scroll/index.js","webpack://berrylanding/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://berrylanding/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://berrylanding/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://berrylanding/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://berrylanding/./.cache/api-runner-browser-plugins.js","webpack://berrylanding/./.cache/api-runner-browser.js","webpack://berrylanding/./node_modules/mitt/dist/mitt.es.js","webpack://berrylanding/./.cache/emitter.js","webpack://berrylanding/./.cache/normalize-page-path.js","webpack://berrylanding/./.cache/find-path.js","webpack://berrylanding/./.cache/gatsby-browser-entry.js","webpack://berrylanding/./.cache/prefetch.js","webpack://berrylanding/./.cache/loader.js","webpack://berrylanding/./.cache/head/components/fire-callback-in-effect.js","webpack://berrylanding/./.cache/head/constants.js","webpack://berrylanding/./.cache/head/utils.js","webpack://berrylanding/./.cache/head/head-export-handler-for-browser.js","webpack://berrylanding/./.cache/page-renderer.js","webpack://berrylanding/./.cache/route-announcer-props.js","webpack://berrylanding/./.cache/navigation.js","webpack://berrylanding/./node_modules/shallow-compare/es/index.js","webpack://berrylanding/./.cache/ensure-resources.js","webpack://berrylanding/./.cache/production-app.js","webpack://berrylanding/./.cache/public-page-renderer-prod.js","webpack://berrylanding/./.cache/public-page-renderer.js","webpack://berrylanding/./.cache/react-dom-utils.js","webpack://berrylanding/./.cache/react-lifecycles-compat.js","webpack://berrylanding/./.cache/redirect-utils.js","webpack://berrylanding/./.cache/register-service-worker.js","webpack://berrylanding/./.cache/strip-prefix.js","webpack://berrylanding/./node_modules/@firebase/functions/dist/index.esm2017.js","webpack://berrylanding/./node_modules/gatsby-plugin-google-gtag/gatsby-browser.js","webpack://berrylanding/../src/image-utils.ts","webpack://berrylanding/../src/components/hooks.ts","webpack://berrylanding/../src/components/layout-wrapper.tsx","webpack://berrylanding/../src/components/picture.tsx","webpack://berrylanding/../src/components/placeholder.tsx","webpack://berrylanding/../src/components/main-image.tsx","webpack://berrylanding/../src/components/gatsby-image.browser.tsx","webpack://berrylanding/../src/components/gatsby-image.server.tsx","webpack://berrylanding/../src/components/static-image.server.tsx","webpack://berrylanding/../src/components/static-image.tsx","webpack://berrylanding/../src/components/later-hydrator.tsx","webpack://berrylanding/./node_modules/gatsby-plugin-image/gatsby-browser.js","webpack://berrylanding/./node_modules/gatsby-plugin-image/node_modules/camelcase/index.js","webpack://berrylanding/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://berrylanding/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://berrylanding/./node_modules/@mdx-js/react/dist/esm.js","webpack://berrylanding/./node_modules/gatsby-plugin-mdx/context.js","webpack://berrylanding/./node_modules/gatsby-plugin-mdx/loaders/mdx-scopes.js","webpack://berrylanding/./node_modules/gatsby-plugin-mdx/wrap-root-element.js","webpack://berrylanding/./node_modules/gatsby-plugin-mdx/gatsby-browser.js","webpack://berrylanding/./node_modules/gatsby-plugin-mdx/loaders/mdx-components.js","webpack://berrylanding/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://berrylanding/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://berrylanding/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://berrylanding/./node_modules/invariant/browser.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/typeof.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/regenerator/index.js","webpack://berrylanding/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://berrylanding/./node_modules/@builder.io/partytown/react/index.cjs","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://berrylanding/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://berrylanding/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://berrylanding/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["var instanceOfAny = function instanceOfAny(object, constructors) {\n return constructors.some(function (c) {\n return object instanceof c;\n });\n};\n\nvar idbProxyableTypes;\nvar cursorAdvanceMethods; // This is a function to prevent it throwing up in node environments.\n\nfunction getIdbProxyableTypes() {\n return idbProxyableTypes || (idbProxyableTypes = [IDBDatabase, IDBObjectStore, IDBIndex, IDBCursor, IDBTransaction]);\n} // This is a function to prevent it throwing up in node environments.\n\n\nfunction getCursorAdvanceMethods() {\n return cursorAdvanceMethods || (cursorAdvanceMethods = [IDBCursor.prototype.advance, IDBCursor.prototype.continue, IDBCursor.prototype.continuePrimaryKey]);\n}\n\nvar cursorRequestMap = new WeakMap();\nvar transactionDoneMap = new WeakMap();\nvar transactionStoreNamesMap = new WeakMap();\nvar transformCache = new WeakMap();\nvar reverseTransformCache = new WeakMap();\n\nfunction promisifyRequest(request) {\n var promise = new Promise(function (resolve, reject) {\n var unlisten = function unlisten() {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n\n var success = function success() {\n resolve(wrap(request.result));\n unlisten();\n };\n\n var error = function error() {\n reject(request.error);\n unlisten();\n };\n\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise.then(function (value) {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n } // Catching to avoid \"Uncaught Promise exceptions\"\n\n }).catch(function () {}); // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n\n reverseTransformCache.set(promise, request);\n return promise;\n}\n\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx)) return;\n var done = new Promise(function (resolve, reject) {\n var unlisten = function unlisten() {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n\n var complete = function complete() {\n resolve();\n unlisten();\n };\n\n var error = function error() {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n }); // Cache it for later retrieval.\n\n transactionDoneMap.set(tx, done);\n}\n\nvar idbProxyTraps = {\n get: function get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done') return transactionDoneMap.get(target); // Polyfill for objectStoreNames because of Edge.\n\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n } // Make tx.store return the only store in the transaction, or undefined if there are many.\n\n\n if (prop === 'store') {\n return receiver.objectStoreNames[1] ? undefined : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n } // Else transform whatever we get back.\n\n\n return wrap(target[prop]);\n },\n set: function set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has: function has(target, prop) {\n if (target instanceof IDBTransaction && (prop === 'done' || prop === 'store')) {\n return true;\n }\n\n return prop in target;\n }\n};\n\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\n\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction && !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var tx = func.call.apply(func, [unwrap(this), storeNames].concat(args));\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n } // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n\n\n if (getCursorAdvanceMethods().includes(func)) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n\n return function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\n\nfunction transformCachableValue(value) {\n if (typeof value === 'function') return wrapFunction(value); // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n\n if (value instanceof IDBTransaction) cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes())) return new Proxy(value, idbProxyTraps); // Return the same value back if we're not going to transform it.\n\n return value;\n}\n\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest) return promisifyRequest(value); // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n\n if (transformCache.has(value)) return transformCache.get(value);\n var newValue = transformCachableValue(value); // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n\n return newValue;\n}\n\nvar unwrap = function unwrap(value) {\n return reverseTransformCache.get(value);\n};\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };","import _defineProperty from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _asyncToGenerator from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"F:\\\\Work\\\\Abo soltan\\\\accounting-lp\\\\node_modules\\\\@babel\\\\runtime\\\\regenerator\\\\index.js\";\nimport { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\n\nfunction openDB(name, version) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n blocked = _ref.blocked,\n upgrade = _ref.upgrade,\n blocking = _ref.blocking,\n terminated = _ref.terminated;\n\n var request = indexedDB.open(name, version);\n var openPromise = wrap(request);\n\n if (upgrade) {\n request.addEventListener('upgradeneeded', function (event) {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n\n if (blocked) {\n request.addEventListener('blocked', function (event) {\n return blocked( // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event);\n });\n }\n\n openPromise.then(function (db) {\n if (terminated) db.addEventListener('close', function () {\n return terminated();\n });\n\n if (blocking) {\n db.addEventListener('versionchange', function (event) {\n return blocking(event.oldVersion, event.newVersion, event);\n });\n }\n }).catch(function () {});\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\n\n\nfunction deleteDB(name) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n blocked = _ref2.blocked;\n\n var request = indexedDB.deleteDatabase(name);\n\n if (blocked) {\n request.addEventListener('blocked', function (event) {\n return blocked( // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event);\n });\n }\n\n return wrap(request).then(function () {\n return undefined;\n });\n}\n\nvar readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nvar writeMethods = ['put', 'add', 'delete', 'clear'];\nvar cachedMethods = new Map();\n\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase && !(prop in target) && typeof prop === 'string')) {\n return;\n }\n\n if (cachedMethods.get(prop)) return cachedMethods.get(prop);\n var targetFuncName = prop.replace(/FromIndex$/, '');\n var useIndex = prop !== targetFuncName;\n var isWrite = writeMethods.includes(targetFuncName);\n\n if ( // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) || !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n\n var method = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(storeName) {\n var _target;\n\n var tx,\n target,\n _len,\n args,\n _key,\n _args = arguments;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n target = tx.store;\n\n for (_len = _args.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = _args[_key];\n }\n\n if (useIndex) target = target.index(args.shift()); // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n\n _context.next = 6;\n return Promise.all([(_target = target)[targetFuncName].apply(_target, args), isWrite && tx.done]);\n\n case 6:\n return _context.abrupt(\"return\", _context.sent[0]);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function method(_x) {\n return _ref3.apply(this, arguments);\n };\n }();\n\n cachedMethods.set(prop, method);\n return method;\n}\n\nreplaceTraps(function (oldTraps) {\n return _objectSpread(_objectSpread({}, oldTraps), {}, {\n get: function get(target, prop, receiver) {\n return getMethod(target, prop) || oldTraps.get(target, prop, receiver);\n },\n has: function has(target, prop) {\n return !!getMethod(target, prop) || oldTraps.has(target, prop);\n }\n });\n});\nexport { deleteDB, openDB };","import _toConsumableArray from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _asyncToGenerator from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _defineProperty from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _classCallCheck from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/createClass.js\";\n\nvar _PLATFORM_LOG_STRING, _ERRORS;\n\nimport _regeneratorRuntime from \"F:\\\\Work\\\\Abo soltan\\\\accounting-lp\\\\node_modules\\\\@babel\\\\runtime\\\\regenerator\\\\index.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\nvar PlatformLoggerServiceImpl = /*#__PURE__*/function () {\n function PlatformLoggerServiceImpl(container) {\n _classCallCheck(this, PlatformLoggerServiceImpl);\n\n this.container = container;\n } // In initial implementation, this will be called by installations on\n // auth token refresh, and installations will send this string.\n\n\n _createClass(PlatformLoggerServiceImpl, [{\n key: \"getPlatformInfoString\",\n value: function getPlatformInfoString() {\n var providers = this.container.getProviders(); // Loop through providers and get library/version pairs from any that are\n // version components.\n\n return providers.map(function (provider) {\n if (isVersionServiceProvider(provider)) {\n var service = provider.getImmediate();\n return \"\".concat(service.library, \"/\").concat(service.version);\n } else {\n return null;\n }\n }).filter(function (logString) {\n return logString;\n }).join(' ');\n }\n }]);\n\n return PlatformLoggerServiceImpl;\n}();\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\n\n\nfunction isVersionServiceProvider(provider) {\n var component = provider.getComponent();\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\"\n /* ComponentType.VERSION */\n ;\n}\n\nvar name$o = \"@firebase/app\";\nvar version$1 = \"0.9.27\";\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\nvar logger = new Logger('@firebase/app');\nvar name$n = \"@firebase/app-compat\";\nvar name$m = \"@firebase/analytics-compat\";\nvar name$l = \"@firebase/analytics\";\nvar name$k = \"@firebase/app-check-compat\";\nvar name$j = \"@firebase/app-check\";\nvar name$i = \"@firebase/auth\";\nvar name$h = \"@firebase/auth-compat\";\nvar name$g = \"@firebase/database\";\nvar name$f = \"@firebase/database-compat\";\nvar name$e = \"@firebase/functions\";\nvar name$d = \"@firebase/functions-compat\";\nvar name$c = \"@firebase/installations\";\nvar name$b = \"@firebase/installations-compat\";\nvar name$a = \"@firebase/messaging\";\nvar name$9 = \"@firebase/messaging-compat\";\nvar name$8 = \"@firebase/performance\";\nvar name$7 = \"@firebase/performance-compat\";\nvar name$6 = \"@firebase/remote-config\";\nvar name$5 = \"@firebase/remote-config-compat\";\nvar name$4 = \"@firebase/storage\";\nvar name$3 = \"@firebase/storage-compat\";\nvar name$2 = \"@firebase/firestore\";\nvar name$1 = \"@firebase/firestore-compat\";\nvar name = \"firebase\";\nvar version = \"10.8.0\";\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\n\nvar DEFAULT_ENTRY_NAME = '[DEFAULT]';\nvar PLATFORM_LOG_STRING = (_PLATFORM_LOG_STRING = {}, _defineProperty(_PLATFORM_LOG_STRING, name$o, 'fire-core'), _defineProperty(_PLATFORM_LOG_STRING, name$n, 'fire-core-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$l, 'fire-analytics'), _defineProperty(_PLATFORM_LOG_STRING, name$m, 'fire-analytics-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$j, 'fire-app-check'), _defineProperty(_PLATFORM_LOG_STRING, name$k, 'fire-app-check-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$i, 'fire-auth'), _defineProperty(_PLATFORM_LOG_STRING, name$h, 'fire-auth-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$g, 'fire-rtdb'), _defineProperty(_PLATFORM_LOG_STRING, name$f, 'fire-rtdb-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$e, 'fire-fn'), _defineProperty(_PLATFORM_LOG_STRING, name$d, 'fire-fn-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$c, 'fire-iid'), _defineProperty(_PLATFORM_LOG_STRING, name$b, 'fire-iid-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$a, 'fire-fcm'), _defineProperty(_PLATFORM_LOG_STRING, name$9, 'fire-fcm-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$8, 'fire-perf'), _defineProperty(_PLATFORM_LOG_STRING, name$7, 'fire-perf-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$6, 'fire-rc'), _defineProperty(_PLATFORM_LOG_STRING, name$5, 'fire-rc-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$4, 'fire-gcs'), _defineProperty(_PLATFORM_LOG_STRING, name$3, 'fire-gcs-compat'), _defineProperty(_PLATFORM_LOG_STRING, name$2, 'fire-fst'), _defineProperty(_PLATFORM_LOG_STRING, name$1, 'fire-fst-compat'), _defineProperty(_PLATFORM_LOG_STRING, 'fire-js', 'fire-js'), _defineProperty(_PLATFORM_LOG_STRING, name, 'fire-js-all'), _PLATFORM_LOG_STRING);\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * @internal\r\n */\n\nvar _apps = new Map();\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nvar _components = new Map();\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\n\n\nfunction _addComponent(app, component) {\n try {\n app.container.addComponent(component);\n } catch (e) {\n logger.debug(\"Component \".concat(component.name, \" failed to register with FirebaseApp \").concat(app.name), e);\n }\n}\n/**\r\n *\r\n * @internal\r\n */\n\n\nfunction _addOrOverwriteComponent(app, component) {\n app.container.addOrOverwriteComponent(component);\n}\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\n\n\nfunction _registerComponent(component) {\n var componentName = component.name;\n\n if (_components.has(componentName)) {\n logger.debug(\"There were multiple attempts to register component \".concat(componentName, \".\"));\n return false;\n }\n\n _components.set(componentName, component); // add the component to existing app instances\n\n\n var _iterator = _createForOfIteratorHelper(_apps.values()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var app = _step.value;\n\n _addComponent(app, component);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return true;\n}\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\n\n\nfunction _getProvider(app, name) {\n var heartbeatController = app.container.getProvider('heartbeat').getImmediate({\n optional: true\n });\n\n if (heartbeatController) {\n void heartbeatController.triggerHeartbeat();\n }\n\n return app.container.getProvider(name);\n}\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\n\n\nfunction _removeServiceInstance(app, name) {\n var instanceIdentifier = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ENTRY_NAME;\n\n _getProvider(app, name).clearInstance(instanceIdentifier);\n}\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\n\n\nfunction _clearComponents() {\n _components.clear();\n}\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar ERRORS = (_ERRORS = {}, _defineProperty(_ERRORS, \"no-app\"\n/* AppError.NO_APP */\n, \"No Firebase App '{$appName}' has been created - \" + 'call initializeApp() first'), _defineProperty(_ERRORS, \"bad-app-name\"\n/* AppError.BAD_APP_NAME */\n, \"Illegal App name: '{$appName}\"), _defineProperty(_ERRORS, \"duplicate-app\"\n/* AppError.DUPLICATE_APP */\n, \"Firebase App named '{$appName}' already exists with different options or config\"), _defineProperty(_ERRORS, \"app-deleted\"\n/* AppError.APP_DELETED */\n, \"Firebase App named '{$appName}' already deleted\"), _defineProperty(_ERRORS, \"no-options\"\n/* AppError.NO_OPTIONS */\n, 'Need to provide options, when not being deployed to hosting via source.'), _defineProperty(_ERRORS, \"invalid-app-argument\"\n/* AppError.INVALID_APP_ARGUMENT */\n, 'firebase.{$appName}() takes either no argument or a ' + 'Firebase App instance.'), _defineProperty(_ERRORS, \"invalid-log-argument\"\n/* AppError.INVALID_LOG_ARGUMENT */\n, 'First argument to `onLog` must be null or a function.'), _defineProperty(_ERRORS, \"idb-open\"\n/* AppError.IDB_OPEN */\n, 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.'), _defineProperty(_ERRORS, \"idb-get\"\n/* AppError.IDB_GET */\n, 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.'), _defineProperty(_ERRORS, \"idb-set\"\n/* AppError.IDB_WRITE */\n, 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.'), _defineProperty(_ERRORS, \"idb-delete\"\n/* AppError.IDB_DELETE */\n, 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.'), _ERRORS);\nvar ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\nvar FirebaseAppImpl = /*#__PURE__*/function () {\n function FirebaseAppImpl(options, config, container) {\n var _this = this;\n\n _classCallCheck(this, FirebaseAppImpl);\n\n this._isDeleted = false;\n this._options = Object.assign({}, options);\n this._config = Object.assign({}, config);\n this._name = config.name;\n this._automaticDataCollectionEnabled = config.automaticDataCollectionEnabled;\n this._container = container;\n this.container.addComponent(new Component('app', function () {\n return _this;\n }, \"PUBLIC\"\n /* ComponentType.PUBLIC */\n ));\n }\n\n _createClass(FirebaseAppImpl, [{\n key: \"automaticDataCollectionEnabled\",\n get: function get() {\n this.checkDestroyed();\n return this._automaticDataCollectionEnabled;\n },\n set: function set(val) {\n this.checkDestroyed();\n this._automaticDataCollectionEnabled = val;\n }\n }, {\n key: \"name\",\n get: function get() {\n this.checkDestroyed();\n return this._name;\n }\n }, {\n key: \"options\",\n get: function get() {\n this.checkDestroyed();\n return this._options;\n }\n }, {\n key: \"config\",\n get: function get() {\n this.checkDestroyed();\n return this._config;\n }\n }, {\n key: \"container\",\n get: function get() {\n return this._container;\n }\n }, {\n key: \"isDeleted\",\n get: function get() {\n return this._isDeleted;\n },\n set: function set(val) {\n this._isDeleted = val;\n }\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\n\n }, {\n key: \"checkDestroyed\",\n value: function checkDestroyed() {\n if (this.isDeleted) {\n throw ERROR_FACTORY.create(\"app-deleted\"\n /* AppError.APP_DELETED */\n , {\n appName: this._name\n });\n }\n }\n }]);\n\n return FirebaseAppImpl;\n}();\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\n\n\nvar SDK_VERSION = version;\n\nfunction initializeApp(_options) {\n var rawConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = _options;\n\n if (typeof rawConfig !== 'object') {\n var _name = rawConfig;\n rawConfig = {\n name: _name\n };\n }\n\n var config = Object.assign({\n name: DEFAULT_ENTRY_NAME,\n automaticDataCollectionEnabled: false\n }, rawConfig);\n var name = config.name;\n\n if (typeof name !== 'string' || !name) {\n throw ERROR_FACTORY.create(\"bad-app-name\"\n /* AppError.BAD_APP_NAME */\n , {\n appName: String(name)\n });\n }\n\n options || (options = getDefaultAppConfig());\n\n if (!options) {\n throw ERROR_FACTORY.create(\"no-options\"\n /* AppError.NO_OPTIONS */\n );\n }\n\n var existingApp = _apps.get(name);\n\n if (existingApp) {\n // return the existing app if options and config deep equal the ones in the existing app.\n if (deepEqual(options, existingApp.options) && deepEqual(config, existingApp.config)) {\n return existingApp;\n } else {\n throw ERROR_FACTORY.create(\"duplicate-app\"\n /* AppError.DUPLICATE_APP */\n , {\n appName: name\n });\n }\n }\n\n var container = new ComponentContainer(name);\n\n var _iterator2 = _createForOfIteratorHelper(_components.values()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var component = _step2.value;\n container.addComponent(component);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var newApp = new FirebaseAppImpl(options, config, container);\n\n _apps.set(name, newApp);\n\n return newApp;\n}\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\n\n\nfunction getApp() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n\n var app = _apps.get(name);\n\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\n return initializeApp();\n }\n\n if (!app) {\n throw ERROR_FACTORY.create(\"no-app\"\n /* AppError.NO_APP */\n , {\n appName: name\n });\n }\n\n return app;\n}\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\n\n\nfunction getApps() {\n return Array.from(_apps.values());\n}\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\n\n\nfunction deleteApp(_x) {\n return _deleteApp.apply(this, arguments);\n}\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\n\n\nfunction _deleteApp() {\n _deleteApp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(app) {\n var name;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n name = app.name;\n\n if (!_apps.has(name)) {\n _context7.next = 6;\n break;\n }\n\n _apps.delete(name);\n\n _context7.next = 5;\n return Promise.all(app.container.getProviders().map(function (provider) {\n return provider.delete();\n }));\n\n case 5:\n app.isDeleted = true;\n\n case 6:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }));\n return _deleteApp.apply(this, arguments);\n}\n\nfunction registerVersion(libraryKeyOrName, version, variant) {\n var _a; // TODO: We can use this check to whitelist strings when/if we set up\n // a good whitelist system.\n\n\n var library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\n\n if (variant) {\n library += \"-\".concat(variant);\n }\n\n var libraryMismatch = library.match(/\\s|\\//);\n var versionMismatch = version.match(/\\s|\\//);\n\n if (libraryMismatch || versionMismatch) {\n var warning = [\"Unable to register library \\\"\".concat(library, \"\\\" with version \\\"\").concat(version, \"\\\":\")];\n\n if (libraryMismatch) {\n warning.push(\"library name \\\"\".concat(library, \"\\\" contains illegal characters (whitespace or \\\"/\\\")\"));\n }\n\n if (libraryMismatch && versionMismatch) {\n warning.push('and');\n }\n\n if (versionMismatch) {\n warning.push(\"version name \\\"\".concat(version, \"\\\" contains illegal characters (whitespace or \\\"/\\\")\"));\n }\n\n logger.warn(warning.join(' '));\n return;\n }\n\n _registerComponent(new Component(\"\".concat(library, \"-version\"), function () {\n return {\n library: library,\n version: version\n };\n }, \"VERSION\"\n /* ComponentType.VERSION */\n ));\n}\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\n\n\nfunction onLog(logCallback, options) {\n if (logCallback !== null && typeof logCallback !== 'function') {\n throw ERROR_FACTORY.create(\"invalid-log-argument\"\n /* AppError.INVALID_LOG_ARGUMENT */\n );\n }\n\n setUserLogHandler(logCallback, options);\n}\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\n\n\nfunction setLogLevel(logLevel) {\n setLogLevel$1(logLevel);\n}\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar DB_NAME = 'firebase-heartbeat-database';\nvar DB_VERSION = 1;\nvar STORE_NAME = 'firebase-heartbeat-store';\nvar dbPromise = null;\n\nfunction getDbPromise() {\n if (!dbPromise) {\n dbPromise = openDB(DB_NAME, DB_VERSION, {\n upgrade: function upgrade(db, oldVersion) {\n // We don't use 'break' in this switch statement, the fall-through\n // behavior is what we want, because if there are multiple versions between\n // the old version and the current version, we want ALL the migrations\n // that correspond to those versions to run, not only the last one.\n // eslint-disable-next-line default-case\n switch (oldVersion) {\n case 0:\n try {\n db.createObjectStore(STORE_NAME);\n } catch (e) {\n // Safari/iOS browsers throw occasional exceptions on\n // db.createObjectStore() that may be a bug. Avoid blocking\n // the rest of the app functionality.\n console.warn(e);\n }\n\n }\n }\n }).catch(function (e) {\n throw ERROR_FACTORY.create(\"idb-open\"\n /* AppError.IDB_OPEN */\n , {\n originalErrorMessage: e.message\n });\n });\n }\n\n return dbPromise;\n}\n\nfunction readHeartbeatsFromIndexedDB(_x2) {\n return _readHeartbeatsFromIndexedDB.apply(this, arguments);\n}\n\nfunction _readHeartbeatsFromIndexedDB() {\n _readHeartbeatsFromIndexedDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(app) {\n var db, tx, result, idbGetError;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.prev = 0;\n _context8.next = 3;\n return getDbPromise();\n\n case 3:\n db = _context8.sent;\n tx = db.transaction(STORE_NAME);\n _context8.next = 7;\n return tx.objectStore(STORE_NAME).get(computeKey(app));\n\n case 7:\n result = _context8.sent;\n _context8.next = 10;\n return tx.done;\n\n case 10:\n return _context8.abrupt(\"return\", result);\n\n case 13:\n _context8.prev = 13;\n _context8.t0 = _context8[\"catch\"](0);\n\n if (_context8.t0 instanceof FirebaseError) {\n logger.warn(_context8.t0.message);\n } else {\n idbGetError = ERROR_FACTORY.create(\"idb-get\"\n /* AppError.IDB_GET */\n , {\n originalErrorMessage: _context8.t0 === null || _context8.t0 === void 0 ? void 0 : _context8.t0.message\n });\n logger.warn(idbGetError.message);\n }\n\n case 16:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[0, 13]]);\n }));\n return _readHeartbeatsFromIndexedDB.apply(this, arguments);\n}\n\nfunction writeHeartbeatsToIndexedDB(_x3, _x4) {\n return _writeHeartbeatsToIndexedDB.apply(this, arguments);\n}\n\nfunction _writeHeartbeatsToIndexedDB() {\n _writeHeartbeatsToIndexedDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(app, heartbeatObject) {\n var db, tx, objectStore, idbGetError;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.prev = 0;\n _context9.next = 3;\n return getDbPromise();\n\n case 3:\n db = _context9.sent;\n tx = db.transaction(STORE_NAME, 'readwrite');\n objectStore = tx.objectStore(STORE_NAME);\n _context9.next = 8;\n return objectStore.put(heartbeatObject, computeKey(app));\n\n case 8:\n _context9.next = 10;\n return tx.done;\n\n case 10:\n _context9.next = 15;\n break;\n\n case 12:\n _context9.prev = 12;\n _context9.t0 = _context9[\"catch\"](0);\n\n if (_context9.t0 instanceof FirebaseError) {\n logger.warn(_context9.t0.message);\n } else {\n idbGetError = ERROR_FACTORY.create(\"idb-set\"\n /* AppError.IDB_WRITE */\n , {\n originalErrorMessage: _context9.t0 === null || _context9.t0 === void 0 ? void 0 : _context9.t0.message\n });\n logger.warn(idbGetError.message);\n }\n\n case 15:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, null, [[0, 12]]);\n }));\n return _writeHeartbeatsToIndexedDB.apply(this, arguments);\n}\n\nfunction computeKey(app) {\n return \"\".concat(app.name, \"!\").concat(app.options.appId);\n}\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar MAX_HEADER_BYTES = 1024; // 30 days\n\nvar STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\n\nvar HeartbeatServiceImpl = /*#__PURE__*/function () {\n function HeartbeatServiceImpl(container) {\n var _this2 = this;\n\n _classCallCheck(this, HeartbeatServiceImpl);\n\n this.container = container;\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\n\n this._heartbeatsCache = null;\n var app = this.container.getProvider('app').getImmediate();\n this._storage = new HeartbeatStorageImpl(app);\n this._heartbeatsCachePromise = this._storage.read().then(function (result) {\n _this2._heartbeatsCache = result;\n return result;\n });\n }\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\n\n\n _createClass(HeartbeatServiceImpl, [{\n key: \"triggerHeartbeat\",\n value: function () {\n var _triggerHeartbeat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _a, _b, platformLogger, agent, date;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n platformLogger = this.container.getProvider('platform-logger').getImmediate(); // This is the \"Firebase user agent\" string from the platform logger\n // service, not the browser user agent.\n\n agent = platformLogger.getPlatformInfoString();\n date = getUTCDateString();\n\n if (!(((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null)) {\n _context.next = 9;\n break;\n }\n\n _context.next = 6;\n return this._heartbeatsCachePromise;\n\n case 6:\n this._heartbeatsCache = _context.sent;\n\n if (!(((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null)) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 9:\n if (!(this._heartbeatsCache.lastSentHeartbeatDate === date || this._heartbeatsCache.heartbeats.some(function (singleDateHeartbeat) {\n return singleDateHeartbeat.date === date;\n }))) {\n _context.next = 13;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 13:\n // There is no entry for this date. Create one.\n this._heartbeatsCache.heartbeats.push({\n date: date,\n agent: agent\n });\n\n case 14:\n // Remove entries older than 30 days.\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(function (singleDateHeartbeat) {\n var hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\n var now = Date.now();\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\n });\n return _context.abrupt(\"return\", this._storage.overwrite(this._heartbeatsCache));\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function triggerHeartbeat() {\n return _triggerHeartbeat.apply(this, arguments);\n }\n\n return triggerHeartbeat;\n }()\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\n\n }, {\n key: \"getHeartbeatsHeader\",\n value: function () {\n var _getHeartbeatsHeader = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _a, date, _extractHeartbeatsFor, heartbeatsToSend, unsentEntries, headerString;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._heartbeatsCache === null)) {\n _context2.next = 3;\n break;\n }\n\n _context2.next = 3;\n return this._heartbeatsCachePromise;\n\n case 3:\n if (!(((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null || this._heartbeatsCache.heartbeats.length === 0)) {\n _context2.next = 5;\n break;\n }\n\n return _context2.abrupt(\"return\", '');\n\n case 5:\n date = getUTCDateString(); // Extract as many heartbeats from the cache as will fit under the size limit.\n\n _extractHeartbeatsFor = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats), heartbeatsToSend = _extractHeartbeatsFor.heartbeatsToSend, unsentEntries = _extractHeartbeatsFor.unsentEntries;\n headerString = base64urlEncodeWithoutPadding(JSON.stringify({\n version: 2,\n heartbeats: heartbeatsToSend\n })); // Store last sent date to prevent another being logged/sent for the same day.\n\n this._heartbeatsCache.lastSentHeartbeatDate = date;\n\n if (!(unsentEntries.length > 0)) {\n _context2.next = 15;\n break;\n }\n\n // Store any unsent entries if they exist.\n this._heartbeatsCache.heartbeats = unsentEntries; // This seems more likely than emptying the array (below) to lead to some odd state\n // since the cache isn't empty and this will be called again on the next request,\n // and is probably safest if we await it.\n\n _context2.next = 13;\n return this._storage.overwrite(this._heartbeatsCache);\n\n case 13:\n _context2.next = 17;\n break;\n\n case 15:\n this._heartbeatsCache.heartbeats = []; // Do not wait for this, to reduce latency.\n\n void this._storage.overwrite(this._heartbeatsCache);\n\n case 17:\n return _context2.abrupt(\"return\", headerString);\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getHeartbeatsHeader() {\n return _getHeartbeatsHeader.apply(this, arguments);\n }\n\n return getHeartbeatsHeader;\n }()\n }]);\n\n return HeartbeatServiceImpl;\n}();\n\nfunction getUTCDateString() {\n var today = new Date(); // Returns date format 'YYYY-MM-DD'\n\n return today.toISOString().substring(0, 10);\n}\n\nfunction extractHeartbeatsForHeader(heartbeatsCache) {\n var maxSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : MAX_HEADER_BYTES;\n // Heartbeats grouped by user agent in the standard format to be sent in\n // the header.\n var heartbeatsToSend = []; // Single date format heartbeats that are not sent.\n\n var unsentEntries = heartbeatsCache.slice();\n\n var _iterator3 = _createForOfIteratorHelper(heartbeatsCache),\n _step3;\n\n try {\n var _loop = function _loop() {\n var singleDateHeartbeat = _step3.value;\n // Look for an existing entry with the same user agent.\n var heartbeatEntry = heartbeatsToSend.find(function (hb) {\n return hb.agent === singleDateHeartbeat.agent;\n });\n\n if (!heartbeatEntry) {\n // If no entry for this user agent exists, create one.\n heartbeatsToSend.push({\n agent: singleDateHeartbeat.agent,\n dates: [singleDateHeartbeat.date]\n });\n\n if (countBytes(heartbeatsToSend) > maxSize) {\n // If the header would exceed max size, remove the added heartbeat\n // entry and stop adding to the header.\n heartbeatsToSend.pop();\n return \"break\";\n }\n } else {\n heartbeatEntry.dates.push(singleDateHeartbeat.date); // If the header would exceed max size, remove the added date\n // and stop adding to the header.\n\n if (countBytes(heartbeatsToSend) > maxSize) {\n heartbeatEntry.dates.pop();\n return \"break\";\n }\n } // Pop unsent entry from queue. (Skipped if adding the entry exceeded\n // quota and the loop breaks early.)\n\n\n unsentEntries = unsentEntries.slice(1);\n };\n\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return {\n heartbeatsToSend: heartbeatsToSend,\n unsentEntries: unsentEntries\n };\n}\n\nvar HeartbeatStorageImpl = /*#__PURE__*/function () {\n function HeartbeatStorageImpl(app) {\n _classCallCheck(this, HeartbeatStorageImpl);\n\n this.app = app;\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\n }\n\n _createClass(HeartbeatStorageImpl, [{\n key: \"runIndexedDBEnvironmentCheck\",\n value: function () {\n var _runIndexedDBEnvironmentCheck = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (isIndexedDBAvailable()) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt(\"return\", false);\n\n case 4:\n return _context3.abrupt(\"return\", validateIndexedDBOpenable().then(function () {\n return true;\n }).catch(function () {\n return false;\n }));\n\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function runIndexedDBEnvironmentCheck() {\n return _runIndexedDBEnvironmentCheck.apply(this, arguments);\n }\n\n return runIndexedDBEnvironmentCheck;\n }()\n /**\r\n * Read all heartbeats.\r\n */\n\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var canUseIndexedDB, idbHeartbeatObject;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._canUseIndexedDBPromise;\n\n case 2:\n canUseIndexedDB = _context4.sent;\n\n if (canUseIndexedDB) {\n _context4.next = 7;\n break;\n }\n\n return _context4.abrupt(\"return\", {\n heartbeats: []\n });\n\n case 7:\n _context4.next = 9;\n return readHeartbeatsFromIndexedDB(this.app);\n\n case 9:\n idbHeartbeatObject = _context4.sent;\n\n if (!(idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats)) {\n _context4.next = 14;\n break;\n }\n\n return _context4.abrupt(\"return\", idbHeartbeatObject);\n\n case 14:\n return _context4.abrupt(\"return\", {\n heartbeats: []\n });\n\n case 15:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }() // overwrite the storage with the provided heartbeats\n\n }, {\n key: \"overwrite\",\n value: function () {\n var _overwrite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(heartbeatsObject) {\n var _a, canUseIndexedDB, existingHeartbeatsObject;\n\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._canUseIndexedDBPromise;\n\n case 2:\n canUseIndexedDB = _context5.sent;\n\n if (canUseIndexedDB) {\n _context5.next = 7;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 7:\n _context5.next = 9;\n return this.read();\n\n case 9:\n existingHeartbeatsObject = _context5.sent;\n return _context5.abrupt(\"return\", writeHeartbeatsToIndexedDB(this.app, {\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\n heartbeats: heartbeatsObject.heartbeats\n }));\n\n case 11:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function overwrite(_x5) {\n return _overwrite.apply(this, arguments);\n }\n\n return overwrite;\n }() // add heartbeats\n\n }, {\n key: \"add\",\n value: function () {\n var _add = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(heartbeatsObject) {\n var _a, canUseIndexedDB, existingHeartbeatsObject;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this._canUseIndexedDBPromise;\n\n case 2:\n canUseIndexedDB = _context6.sent;\n\n if (canUseIndexedDB) {\n _context6.next = 7;\n break;\n }\n\n return _context6.abrupt(\"return\");\n\n case 7:\n _context6.next = 9;\n return this.read();\n\n case 9:\n existingHeartbeatsObject = _context6.sent;\n return _context6.abrupt(\"return\", writeHeartbeatsToIndexedDB(this.app, {\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\n heartbeats: [].concat(_toConsumableArray(existingHeartbeatsObject.heartbeats), _toConsumableArray(heartbeatsObject.heartbeats))\n }));\n\n case 11:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function add(_x6) {\n return _add.apply(this, arguments);\n }\n\n return add;\n }()\n }]);\n\n return HeartbeatStorageImpl;\n}();\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\n\n\nfunction countBytes(heartbeatsCache) {\n // base64 has a restricted set of characters, all of which should be 1 byte.\n return base64urlEncodeWithoutPadding( // heartbeatsCache wrapper properties\n JSON.stringify({\n version: 2,\n heartbeats: heartbeatsCache\n })).length;\n}\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nfunction registerCoreComponents(variant) {\n _registerComponent(new Component('platform-logger', function (container) {\n return new PlatformLoggerServiceImpl(container);\n }, \"PRIVATE\"\n /* ComponentType.PRIVATE */\n ));\n\n _registerComponent(new Component('heartbeat', function (container) {\n return new HeartbeatServiceImpl(container);\n }, \"PRIVATE\"\n /* ComponentType.PRIVATE */\n )); // Register `app` package.\n\n\n registerVersion(name$o, version$1, variant); // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n\n registerVersion(name$o, version$1, 'esm2017'); // Register platform SDK identifier (no version).\n\n registerVersion('fire-js', '');\n}\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\n\n\nregisterCoreComponents('');\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _registerComponent, _removeServiceInstance, deleteApp, getApp, getApps, initializeApp, onLog, registerVersion, setLogLevel };","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n\n/* global Reflect, Promise, SuppressedError, Symbol */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n\n var _,\n done = false;\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n\n for (var p in contextIn) {\n context[p] = p === \"access\" ? {} : contextIn[p];\n }\n\n for (var p in contextIn.access) {\n context.access[p] = contextIn.access[p];\n }\n\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (g && (g = 0, op[0] && (_ = 0)), _) {\n 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\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\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 () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\n\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) {\n env.stack.push({\n async: true\n });\n }\n\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function (e) {\n fail(e);\n return next();\n });\n } catch (e) {\n fail(e);\n }\n }\n\n if (env.hasError) throw env.error;\n }\n\n return next();\n}\nexport default {\n __extends: __extends,\n __assign: _assign,\n __rest: __rest,\n __decorate: __decorate,\n __param: __param,\n __metadata: __metadata,\n __awaiter: __awaiter,\n __generator: __generator,\n __createBinding: __createBinding,\n __exportStar: __exportStar,\n __values: __values,\n __read: __read,\n __spread: __spread,\n __spreadArrays: __spreadArrays,\n __spreadArray: __spreadArray,\n __await: __await,\n __asyncGenerator: __asyncGenerator,\n __asyncDelegator: __asyncDelegator,\n __asyncValues: __asyncValues,\n __makeTemplateObject: __makeTemplateObject,\n __importStar: __importStar,\n __importDefault: __importDefault,\n __classPrivateFieldGet: __classPrivateFieldGet,\n __classPrivateFieldSet: __classPrivateFieldSet,\n __classPrivateFieldIn: __classPrivateFieldIn,\n __addDisposableResource: __addDisposableResource,\n __disposeResources: __disposeResources\n};","import _toConsumableArray from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _asyncToGenerator from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _slicedToArray from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _classCallCheck from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _regeneratorRuntime from \"F:\\\\Work\\\\Abo soltan\\\\accounting-lp\\\\node_modules\\\\@babel\\\\runtime\\\\regenerator\\\\index.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Deferred } from '@firebase/util';\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\n\nvar Component = /*#__PURE__*/function () {\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\n function Component(name, instanceFactory, type) {\n _classCallCheck(this, Component);\n\n this.name = name;\n this.instanceFactory = instanceFactory;\n this.type = type;\n this.multipleInstances = false;\n /**\r\n * Properties to be added to the service namespace\r\n */\n\n this.serviceProps = {};\n this.instantiationMode = \"LAZY\"\n /* InstantiationMode.LAZY */\n ;\n this.onInstanceCreated = null;\n }\n\n _createClass(Component, [{\n key: \"setInstantiationMode\",\n value: function setInstantiationMode(mode) {\n this.instantiationMode = mode;\n return this;\n }\n }, {\n key: \"setMultipleInstances\",\n value: function setMultipleInstances(multipleInstances) {\n this.multipleInstances = multipleInstances;\n return this;\n }\n }, {\n key: \"setServiceProps\",\n value: function setServiceProps(props) {\n this.serviceProps = props;\n return this;\n }\n }, {\n key: \"setInstanceCreatedCallback\",\n value: function setInstanceCreatedCallback(callback) {\n this.onInstanceCreated = callback;\n return this;\n }\n }]);\n\n return Component;\n}();\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar DEFAULT_ENTRY_NAME = '[DEFAULT]';\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\n\nvar Provider = /*#__PURE__*/function () {\n function Provider(name, container) {\n _classCallCheck(this, Provider);\n\n this.name = name;\n this.container = container;\n this.component = null;\n this.instances = new Map();\n this.instancesDeferred = new Map();\n this.instancesOptions = new Map();\n this.onInitCallbacks = new Map();\n }\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\n\n\n _createClass(Provider, [{\n key: \"get\",\n value: function get(identifier) {\n // if multipleInstances is not supported, use the default name\n var normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\n var deferred = new Deferred();\n this.instancesDeferred.set(normalizedIdentifier, deferred);\n\n if (this.isInitialized(normalizedIdentifier) || this.shouldAutoInitialize()) {\n // initialize the service if it can be auto-initialized\n try {\n var instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n\n if (instance) {\n deferred.resolve(instance);\n }\n } catch (e) {// when the instance factory throws an exception during get(), it should not cause\n // a fatal error. We just return the unresolved promise in this case.\n }\n }\n }\n\n return this.instancesDeferred.get(normalizedIdentifier).promise;\n }\n }, {\n key: \"getImmediate\",\n value: function getImmediate(options) {\n var _a; // if multipleInstances is not supported, use the default name\n\n\n var normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\n var optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\n\n if (this.isInitialized(normalizedIdentifier) || this.shouldAutoInitialize()) {\n try {\n return this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n } catch (e) {\n if (optional) {\n return null;\n } else {\n throw e;\n }\n }\n } else {\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\n if (optional) {\n return null;\n } else {\n throw Error(\"Service \".concat(this.name, \" is not available\"));\n }\n }\n }\n }, {\n key: \"getComponent\",\n value: function getComponent() {\n return this.component;\n }\n }, {\n key: \"setComponent\",\n value: function setComponent(component) {\n if (component.name !== this.name) {\n throw Error(\"Mismatching Component \".concat(component.name, \" for Provider \").concat(this.name, \".\"));\n }\n\n if (this.component) {\n throw Error(\"Component for \".concat(this.name, \" has already been provided\"));\n }\n\n this.component = component; // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\n\n if (!this.shouldAutoInitialize()) {\n return;\n } // if the service is eager, initialize the default instance\n\n\n if (isComponentEager(component)) {\n try {\n this.getOrInitializeService({\n instanceIdentifier: DEFAULT_ENTRY_NAME\n });\n } catch (e) {// when the instance factory for an eager Component throws an exception during the eager\n // initialization, it should not cause a fatal error.\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\n // a fatal error in this case?\n }\n } // Create service instances for the pending promises and resolve them\n // NOTE: if this.multipleInstances is false, only the default instance will be created\n // and all promises with resolve with it regardless of the identifier.\n\n\n var _iterator = _createForOfIteratorHelper(this.instancesDeferred.entries()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n instanceIdentifier = _step$value[0],\n instanceDeferred = _step$value[1];\n\n var normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\n\n try {\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\n var instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n instanceDeferred.resolve(instance);\n } catch (e) {// when the instance factory throws an exception, it should not cause\n // a fatal error. We just leave the promise unresolved.\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"clearInstance\",\n value: function clearInstance() {\n var identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n this.instancesDeferred.delete(identifier);\n this.instancesOptions.delete(identifier);\n this.instances.delete(identifier);\n } // app.delete() will call this method on every provider to delete the services\n // TODO: should we mark the provider as deleted?\n\n }, {\n key: \"delete\",\n value: function () {\n var _delete2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var services;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n services = Array.from(this.instances.values());\n _context.next = 3;\n return Promise.all([].concat(_toConsumableArray(services.filter(function (service) {\n return 'INTERNAL' in service;\n }) // legacy services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(function (service) {\n return service.INTERNAL.delete();\n })), _toConsumableArray(services.filter(function (service) {\n return '_delete' in service;\n }) // modularized services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(function (service) {\n return service._delete();\n }))));\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _delete() {\n return _delete2.apply(this, arguments);\n }\n\n return _delete;\n }()\n }, {\n key: \"isComponentSet\",\n value: function isComponentSet() {\n return this.component != null;\n }\n }, {\n key: \"isInitialized\",\n value: function isInitialized() {\n var identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n return this.instances.has(identifier);\n }\n }, {\n key: \"getOptions\",\n value: function getOptions() {\n var identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n return this.instancesOptions.get(identifier) || {};\n }\n }, {\n key: \"initialize\",\n value: function initialize() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$options = opts.options,\n options = _opts$options === void 0 ? {} : _opts$options;\n var normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\n\n if (this.isInitialized(normalizedIdentifier)) {\n throw Error(\"\".concat(this.name, \"(\").concat(normalizedIdentifier, \") has already been initialized\"));\n }\n\n if (!this.isComponentSet()) {\n throw Error(\"Component \".concat(this.name, \" has not been registered yet\"));\n }\n\n var instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier,\n options: options\n }); // resolve any pending promise waiting for the service instance\n\n var _iterator2 = _createForOfIteratorHelper(this.instancesDeferred.entries()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n instanceIdentifier = _step2$value[0],\n instanceDeferred = _step2$value[1];\n\n var normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\n\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\n instanceDeferred.resolve(instance);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return instance;\n }\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\n\n }, {\n key: \"onInit\",\n value: function onInit(callback, identifier) {\n var _a;\n\n var normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n var existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\n existingCallbacks.add(callback);\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\n var existingInstance = this.instances.get(normalizedIdentifier);\n\n if (existingInstance) {\n callback(existingInstance, normalizedIdentifier);\n }\n\n return function () {\n existingCallbacks.delete(callback);\n };\n }\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\n\n }, {\n key: \"invokeOnInitCallbacks\",\n value: function invokeOnInitCallbacks(instance, identifier) {\n var callbacks = this.onInitCallbacks.get(identifier);\n\n if (!callbacks) {\n return;\n }\n\n var _iterator3 = _createForOfIteratorHelper(callbacks),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var callback = _step3.value;\n\n try {\n callback(instance, identifier);\n } catch (_a) {// ignore errors in the onInit callback\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"getOrInitializeService\",\n value: function getOrInitializeService(_ref) {\n var instanceIdentifier = _ref.instanceIdentifier,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options;\n var instance = this.instances.get(instanceIdentifier);\n\n if (!instance && this.component) {\n instance = this.component.instanceFactory(this.container, {\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\n options: options\n });\n this.instances.set(instanceIdentifier, instance);\n this.instancesOptions.set(instanceIdentifier, options);\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\n\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\n\n if (this.component.onInstanceCreated) {\n try {\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\n } catch (_a) {// ignore errors in the onInstanceCreatedCallback\n }\n }\n }\n\n return instance || null;\n }\n }, {\n key: \"normalizeInstanceIdentifier\",\n value: function normalizeInstanceIdentifier() {\n var identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_ENTRY_NAME;\n\n if (this.component) {\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\n } else {\n return identifier; // assume multiple instances are supported before the component is provided.\n }\n }\n }, {\n key: \"shouldAutoInitialize\",\n value: function shouldAutoInitialize() {\n return !!this.component && this.component.instantiationMode !== \"EXPLICIT\"\n /* InstantiationMode.EXPLICIT */\n ;\n }\n }]);\n\n return Provider;\n}(); // undefined should be passed to the service factory for the default instance\n\n\nfunction normalizeIdentifierForFactory(identifier) {\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\n}\n\nfunction isComponentEager(component) {\n return component.instantiationMode === \"EAGER\"\n /* InstantiationMode.EAGER */\n ;\n}\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\n\n\nvar ComponentContainer = /*#__PURE__*/function () {\n function ComponentContainer(name) {\n _classCallCheck(this, ComponentContainer);\n\n this.name = name;\n this.providers = new Map();\n }\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\n\n\n _createClass(ComponentContainer, [{\n key: \"addComponent\",\n value: function addComponent(component) {\n var provider = this.getProvider(component.name);\n\n if (provider.isComponentSet()) {\n throw new Error(\"Component \".concat(component.name, \" has already been registered with \").concat(this.name));\n }\n\n provider.setComponent(component);\n }\n }, {\n key: \"addOrOverwriteComponent\",\n value: function addOrOverwriteComponent(component) {\n var provider = this.getProvider(component.name);\n\n if (provider.isComponentSet()) {\n // delete the existing provider from the container, so we can register the new component\n this.providers.delete(component.name);\n }\n\n this.addComponent(component);\n }\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\n\n }, {\n key: \"getProvider\",\n value: function getProvider(name) {\n if (this.providers.has(name)) {\n return this.providers.get(name);\n } // create a Provider for a service that hasn't registered with Firebase\n\n\n var provider = new Provider(name, this);\n this.providers.set(name, provider);\n return provider;\n }\n }, {\n key: \"getProviders\",\n value: function getProviders() {\n return Array.from(this.providers.values());\n }\n }]);\n\n return ComponentContainer;\n}();\n\nexport { Component, ComponentContainer, Provider };","import _classCallCheck from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _defineProperty from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\n\nvar _ConsoleMethod;\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * A container for all of the Logger instances\r\n */\nvar instances = [];\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\n\nvar LogLevel;\n\n(function (LogLevel) {\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\n})(LogLevel || (LogLevel = {}));\n\nvar levelStringToEnum = {\n 'debug': LogLevel.DEBUG,\n 'verbose': LogLevel.VERBOSE,\n 'info': LogLevel.INFO,\n 'warn': LogLevel.WARN,\n 'error': LogLevel.ERROR,\n 'silent': LogLevel.SILENT\n};\n/**\r\n * The default log level\r\n */\n\nvar defaultLogLevel = LogLevel.INFO;\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\n\nvar ConsoleMethod = (_ConsoleMethod = {}, _defineProperty(_ConsoleMethod, LogLevel.DEBUG, 'log'), _defineProperty(_ConsoleMethod, LogLevel.VERBOSE, 'log'), _defineProperty(_ConsoleMethod, LogLevel.INFO, 'info'), _defineProperty(_ConsoleMethod, LogLevel.WARN, 'warn'), _defineProperty(_ConsoleMethod, LogLevel.ERROR, 'error'), _ConsoleMethod);\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\n\nvar defaultLogHandler = function defaultLogHandler(instance, logType) {\n if (logType < instance.logLevel) {\n return;\n }\n\n var now = new Date().toISOString();\n var method = ConsoleMethod[logType];\n\n if (method) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, [\"[\".concat(now, \"] \").concat(instance.name, \":\")].concat(args));\n } else {\n throw new Error(\"Attempted to log a message with an invalid logType (value: \".concat(logType, \")\"));\n }\n};\n\nvar Logger = /*#__PURE__*/function () {\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\n function Logger(name) {\n _classCallCheck(this, Logger);\n\n this.name = name;\n /**\r\n * The log level of the given Logger instance.\r\n */\n\n this._logLevel = defaultLogLevel;\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\n\n this._logHandler = defaultLogHandler;\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\n\n this._userLogHandler = null;\n /**\r\n * Capture the current instance for later use\r\n */\n\n instances.push(this);\n }\n\n _createClass(Logger, [{\n key: \"logLevel\",\n get: function get() {\n return this._logLevel;\n },\n set: function set(val) {\n if (!(val in LogLevel)) {\n throw new TypeError(\"Invalid value \\\"\".concat(val, \"\\\" assigned to `logLevel`\"));\n }\n\n this._logLevel = val;\n } // Workaround for setter/getter having to be the same type.\n\n }, {\n key: \"setLogLevel\",\n value: function setLogLevel(val) {\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\n }\n }, {\n key: \"logHandler\",\n get: function get() {\n return this._logHandler;\n },\n set: function set(val) {\n if (typeof val !== 'function') {\n throw new TypeError('Value assigned to `logHandler` must be a function');\n }\n\n this._logHandler = val;\n }\n }, {\n key: \"userLogHandler\",\n get: function get() {\n return this._userLogHandler;\n },\n set: function set(val) {\n this._userLogHandler = val;\n }\n /**\r\n * The functions below are all based on the `console` interface\r\n */\n\n }, {\n key: \"debug\",\n value: function debug() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n this._userLogHandler && this._userLogHandler.apply(this, [this, LogLevel.DEBUG].concat(args));\n\n this._logHandler.apply(this, [this, LogLevel.DEBUG].concat(args));\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this._userLogHandler && this._userLogHandler.apply(this, [this, LogLevel.VERBOSE].concat(args));\n\n this._logHandler.apply(this, [this, LogLevel.VERBOSE].concat(args));\n }\n }, {\n key: \"info\",\n value: function info() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this._userLogHandler && this._userLogHandler.apply(this, [this, LogLevel.INFO].concat(args));\n\n this._logHandler.apply(this, [this, LogLevel.INFO].concat(args));\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n this._userLogHandler && this._userLogHandler.apply(this, [this, LogLevel.WARN].concat(args));\n\n this._logHandler.apply(this, [this, LogLevel.WARN].concat(args));\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n this._userLogHandler && this._userLogHandler.apply(this, [this, LogLevel.ERROR].concat(args));\n\n this._logHandler.apply(this, [this, LogLevel.ERROR].concat(args));\n }\n }]);\n\n return Logger;\n}();\n\nfunction setLogLevel(level) {\n instances.forEach(function (inst) {\n inst.setLogLevel(level);\n });\n}\n\nfunction setUserLogHandler(logCallback, options) {\n var _iterator = _createForOfIteratorHelper(instances),\n _step;\n\n try {\n var _loop = function _loop() {\n var instance = _step.value;\n var customLogLevel = null;\n\n if (options && options.level) {\n customLogLevel = levelStringToEnum[options.level];\n }\n\n if (logCallback === null) {\n instance.userLogHandler = null;\n } else {\n instance.userLogHandler = function (instance, level) {\n for (var _len7 = arguments.length, args = new Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) {\n args[_key7 - 2] = arguments[_key7];\n }\n\n var message = args.map(function (arg) {\n if (arg == null) {\n return null;\n } else if (typeof arg === 'string') {\n return arg;\n } else if (typeof arg === 'number' || typeof arg === 'boolean') {\n return arg.toString();\n } else if (arg instanceof Error) {\n return arg.message;\n } else {\n try {\n return JSON.stringify(arg);\n } catch (ignored) {\n return null;\n }\n }\n }).filter(function (arg) {\n return arg;\n }).join(' ');\n\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\n logCallback({\n level: LogLevel[level].toLowerCase(),\n message: message,\n args: args,\n type: instance.name\n });\n }\n };\n }\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };","import _slicedToArray from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _assertThisInitialized from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _createClass from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _classCallCheck from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _inherits from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _wrapNativeSuper from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\nvar CONSTANTS = {\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\n NODE_CLIENT: false,\n\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\n NODE_ADMIN: false,\n\n /**\r\n * Firebase SDK Version\r\n */\n SDK_VERSION: '${JSCORE_VERSION}'\n};\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\n\nvar assert = function assert(assertion, message) {\n if (!assertion) {\n throw assertionError(message);\n }\n};\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\n\n\nvar assertionError = function assertionError(message) {\n return new Error('Firebase Database (' + CONSTANTS.SDK_VERSION + ') INTERNAL ASSERT FAILED: ' + message);\n};\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar stringToByteArray$1 = function stringToByteArray$1(str) {\n // TODO(user): Use native implementations if/when available\n var out = [];\n var p = 0;\n\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n\n if (c < 128) {\n out[p++] = c;\n } else if (c < 2048) {\n out[p++] = c >> 6 | 192;\n out[p++] = c & 63 | 128;\n } else if ((c & 0xfc00) === 0xd800 && i + 1 < str.length && (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n // Surrogate Pair\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\n out[p++] = c >> 18 | 240;\n out[p++] = c >> 12 & 63 | 128;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n } else {\n out[p++] = c >> 12 | 224;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n }\n }\n\n return out;\n};\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\n\n\nvar byteArrayToString = function byteArrayToString(bytes) {\n // TODO(user): Use native implementations if/when available\n var out = [];\n var pos = 0,\n c = 0;\n\n while (pos < bytes.length) {\n var c1 = bytes[pos++];\n\n if (c1 < 128) {\n out[c++] = String.fromCharCode(c1);\n } else if (c1 > 191 && c1 < 224) {\n var c2 = bytes[pos++];\n out[c++] = String.fromCharCode((c1 & 31) << 6 | c2 & 63);\n } else if (c1 > 239 && c1 < 365) {\n // Surrogate Pair\n var _c = bytes[pos++];\n var c3 = bytes[pos++];\n var c4 = bytes[pos++];\n var u = ((c1 & 7) << 18 | (_c & 63) << 12 | (c3 & 63) << 6 | c4 & 63) - 0x10000;\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\n } else {\n var _c2 = bytes[pos++];\n var _c3 = bytes[pos++];\n out[c++] = String.fromCharCode((c1 & 15) << 12 | (_c2 & 63) << 6 | _c3 & 63);\n }\n }\n\n return out.join('');\n}; // We define it as an object literal instead of a class because a class compiled down to es5 can't\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\n// Static lookup maps, lazily populated by init_()\n\n\nvar base64 = {\n /**\r\n * Maps bytes to characters.\r\n */\n byteToCharMap_: null,\n\n /**\r\n * Maps characters to bytes.\r\n */\n charToByteMap_: null,\n\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\n byteToCharMapWebSafe_: null,\n\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\n charToByteMapWebSafe_: null,\n\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\n\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\n get ENCODED_VALS() {\n return this.ENCODED_VALS_BASE + '+/=';\n },\n\n /**\r\n * Our websafe alphabet.\r\n */\n get ENCODED_VALS_WEBSAFE() {\n return this.ENCODED_VALS_BASE + '-_.';\n },\n\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\n\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\n encodeByteArray: function encodeByteArray(input, webSafe) {\n if (!Array.isArray(input)) {\n throw Error('encodeByteArray takes an array as a parameter');\n }\n\n this.init_();\n var byteToCharMap = webSafe ? this.byteToCharMapWebSafe_ : this.byteToCharMap_;\n var output = [];\n\n for (var i = 0; i < input.length; i += 3) {\n var byte1 = input[i];\n var haveByte2 = i + 1 < input.length;\n var byte2 = haveByte2 ? input[i + 1] : 0;\n var haveByte3 = i + 2 < input.length;\n var byte3 = haveByte3 ? input[i + 2] : 0;\n var outByte1 = byte1 >> 2;\n var outByte2 = (byte1 & 0x03) << 4 | byte2 >> 4;\n var outByte3 = (byte2 & 0x0f) << 2 | byte3 >> 6;\n var outByte4 = byte3 & 0x3f;\n\n if (!haveByte3) {\n outByte4 = 64;\n\n if (!haveByte2) {\n outByte3 = 64;\n }\n }\n\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\n }\n\n return output.join('');\n },\n\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\n encodeString: function encodeString(input, webSafe) {\n // Shortcut for Mozilla browsers that implement\n // a native base64 encoder in the form of \"btoa/atob\"\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\n return btoa(input);\n }\n\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\n },\n\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\n decodeString: function decodeString(input, webSafe) {\n // Shortcut for Mozilla browsers that implement\n // a native base64 encoder in the form of \"btoa/atob\"\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\n return atob(input);\n }\n\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\n },\n\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\n decodeStringToByteArray: function decodeStringToByteArray(input, webSafe) {\n this.init_();\n var charToByteMap = webSafe ? this.charToByteMapWebSafe_ : this.charToByteMap_;\n var output = [];\n\n for (var i = 0; i < input.length;) {\n var byte1 = charToByteMap[input.charAt(i++)];\n var haveByte2 = i < input.length;\n var byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\n ++i;\n var haveByte3 = i < input.length;\n var byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\n ++i;\n var haveByte4 = i < input.length;\n var byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\n ++i;\n\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\n throw new DecodeBase64StringError();\n }\n\n var outByte1 = byte1 << 2 | byte2 >> 4;\n output.push(outByte1);\n\n if (byte3 !== 64) {\n var outByte2 = byte2 << 4 & 0xf0 | byte3 >> 2;\n output.push(outByte2);\n\n if (byte4 !== 64) {\n var outByte3 = byte3 << 6 & 0xc0 | byte4;\n output.push(outByte3);\n }\n }\n }\n\n return output;\n },\n\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\n init_: function init_() {\n if (!this.byteToCharMap_) {\n this.byteToCharMap_ = {};\n this.charToByteMap_ = {};\n this.byteToCharMapWebSafe_ = {};\n this.charToByteMapWebSafe_ = {}; // We want quick mappings back and forth, so we precompute two maps.\n\n for (var i = 0; i < this.ENCODED_VALS.length; i++) {\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i; // Be forgiving when decoding and correctly decode both encodings.\n\n if (i >= this.ENCODED_VALS_BASE.length) {\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\n }\n }\n }\n }\n};\n/**\r\n * An error encountered while decoding base64 string.\r\n */\n\nvar DecodeBase64StringError = /*#__PURE__*/function (_Error) {\n _inherits(DecodeBase64StringError, _Error);\n\n var _super = _createSuper(DecodeBase64StringError);\n\n function DecodeBase64StringError() {\n var _this;\n\n _classCallCheck(this, DecodeBase64StringError);\n\n _this = _super.apply(this, arguments);\n _this.name = 'DecodeBase64StringError';\n return _this;\n }\n\n return _createClass(DecodeBase64StringError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/**\r\n * URL-safe base64 encoding\r\n */\n\n\nvar base64Encode = function base64Encode(str) {\n var utf8Bytes = stringToByteArray$1(str);\n return base64.encodeByteArray(utf8Bytes, true);\n};\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\n\n\nvar base64urlEncodeWithoutPadding = function base64urlEncodeWithoutPadding(str) {\n // Use base64url encoding and remove padding in the end (dot characters).\n return base64Encode(str).replace(/\\./g, '');\n};\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\n\n\nvar base64Decode = function base64Decode(str) {\n try {\n return base64.decodeString(str, true);\n } catch (e) {\n console.error('base64Decode failed: ', e);\n }\n\n return null;\n};\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\n\n\nfunction deepCopy(value) {\n return deepExtend(undefined, value);\n}\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\n\n\nfunction deepExtend(target, source) {\n if (!(source instanceof Object)) {\n return source;\n }\n\n switch (source.constructor) {\n case Date:\n // Treat Dates like scalars; if the target date object had any child\n // properties - they will be lost!\n var dateValue = source;\n return new Date(dateValue.getTime());\n\n case Object:\n if (target === undefined) {\n target = {};\n }\n\n break;\n\n case Array:\n // Always copy the array source and overwrite the target.\n target = [];\n break;\n\n default:\n // Not a plain Object - treat it as a scalar.\n return source;\n }\n\n for (var prop in source) {\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\n continue;\n }\n\n target[prop] = deepExtend(target[prop], source[prop]);\n }\n\n return target;\n}\n\nfunction isValidKey(key) {\n return key !== '__proto__';\n}\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\n\n\nfunction getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n throw new Error('Unable to locate global object.');\n}\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar getDefaultsFromGlobal = function getDefaultsFromGlobal() {\n return getGlobal().__FIREBASE_DEFAULTS__;\n};\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\n\n\nvar getDefaultsFromEnvVariable = function getDefaultsFromEnvVariable() {\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\n return;\n }\n\n var defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\n\n if (defaultsJsonString) {\n return JSON.parse(defaultsJsonString);\n }\n};\n\nvar getDefaultsFromCookie = function getDefaultsFromCookie() {\n if (typeof document === 'undefined') {\n return;\n }\n\n var match;\n\n try {\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\n } catch (e) {\n // Some environments such as Angular Universal SSR have a\n // `document` object but error on accessing `document.cookie`.\n return;\n }\n\n var decoded = match && base64Decode(match[1]);\n return decoded && JSON.parse(decoded);\n};\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\n\n\nvar getDefaults = function getDefaults() {\n try {\n return getDefaultsFromGlobal() || getDefaultsFromEnvVariable() || getDefaultsFromCookie();\n } catch (e) {\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\n console.info(\"Unable to get __FIREBASE_DEFAULTS__ due to: \".concat(e));\n return;\n }\n};\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\n\n\nvar getDefaultEmulatorHost = function getDefaultEmulatorHost(productName) {\n var _a, _b;\n\n return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName];\n};\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\n\n\nvar getDefaultEmulatorHostnameAndPort = function getDefaultEmulatorHostnameAndPort(productName) {\n var host = getDefaultEmulatorHost(productName);\n\n if (!host) {\n return undefined;\n }\n\n var separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\n\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\n throw new Error(\"Invalid host \".concat(host, \" with no separate hostname and port!\"));\n } // eslint-disable-next-line no-restricted-globals\n\n\n var port = parseInt(host.substring(separatorIndex + 1), 10);\n\n if (host[0] === '[') {\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\n return [host.substring(1, separatorIndex - 1), port];\n } else {\n return [host.substring(0, separatorIndex), port];\n }\n};\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\n\n\nvar getDefaultAppConfig = function getDefaultAppConfig() {\n var _a;\n\n return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config;\n};\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\n\n\nvar getExperimentalSetting = function getExperimentalSetting(name) {\n var _a;\n\n return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[\"_\".concat(name)];\n};\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar Deferred = /*#__PURE__*/function () {\n function Deferred() {\n var _this2 = this;\n\n _classCallCheck(this, Deferred);\n\n this.reject = function () {};\n\n this.resolve = function () {};\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n }\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\n\n\n _createClass(Deferred, [{\n key: \"wrapCallback\",\n value: function wrapCallback(callback) {\n var _this3 = this;\n\n return function (error, value) {\n if (error) {\n _this3.reject(error);\n } else {\n _this3.resolve(value);\n }\n\n if (typeof callback === 'function') {\n // Attaching noop handler just in case developer wasn't expecting\n // promises\n _this3.promise.catch(function () {}); // Some of our callbacks don't expect a value and our own tests\n // assert that the parameter length is 1\n\n\n if (callback.length === 1) {\n callback(error);\n } else {\n callback(error, value);\n }\n }\n };\n }\n }]);\n\n return Deferred;\n}();\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nfunction createMockUserToken(token, projectId) {\n if (token.uid) {\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\n } // Unsecured JWTs use \"none\" as the algorithm.\n\n\n var header = {\n alg: 'none',\n type: 'JWT'\n };\n var project = projectId || 'demo-project';\n var iat = token.iat || 0;\n var sub = token.sub || token.user_id;\n\n if (!sub) {\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\n }\n\n var payload = Object.assign({\n // Set all required fields to decent defaults\n iss: \"https://securetoken.google.com/\".concat(project),\n aud: project,\n iat: iat,\n exp: iat + 3600,\n auth_time: iat,\n sub: sub,\n user_id: sub,\n firebase: {\n sign_in_provider: 'custom',\n identities: {}\n }\n }, token); // Unsecured JWTs use the empty string as a signature.\n\n var signature = '';\n return [base64urlEncodeWithoutPadding(JSON.stringify(header)), base64urlEncodeWithoutPadding(JSON.stringify(payload)), signature].join('.');\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\n\n\nfunction getUA() {\n if (typeof navigator !== 'undefined' && typeof navigator['userAgent'] === 'string') {\n return navigator['userAgent'];\n } else {\n return '';\n }\n}\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\n\n\nfunction isMobileCordova() {\n return typeof window !== 'undefined' && // @ts-ignore Setting up an broadly applicable index signature for Window\n // just to deal with this case would probably be a bad idea.\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) && /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA());\n}\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\n// Node detection logic from: https://github.com/iliakan/detect-node/\n\n\nfunction isNode() {\n var _a;\n\n var forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\n\n if (forceEnvironment === 'node') {\n return true;\n } else if (forceEnvironment === 'browser') {\n return false;\n }\n\n try {\n return Object.prototype.toString.call(global.process) === '[object process]';\n } catch (e) {\n return false;\n }\n}\n/**\r\n * Detect Browser Environment\r\n */\n\n\nfunction isBrowser() {\n return typeof self === 'object' && self.self === self;\n}\n\nfunction isBrowserExtension() {\n var runtime = typeof chrome === 'object' ? chrome.runtime : typeof browser === 'object' ? browser.runtime : undefined;\n return typeof runtime === 'object' && runtime.id !== undefined;\n}\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\n\n\nfunction isReactNative() {\n return typeof navigator === 'object' && navigator['product'] === 'ReactNative';\n}\n/** Detects Electron apps. */\n\n\nfunction isElectron() {\n return getUA().indexOf('Electron/') >= 0;\n}\n/** Detects Internet Explorer. */\n\n\nfunction isIE() {\n var ua = getUA();\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\n}\n/** Detects Universal Windows Platform apps. */\n\n\nfunction isUWP() {\n return getUA().indexOf('MSAppHost/') >= 0;\n}\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\n\n\nfunction isNodeSdk() {\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\n}\n/** Returns true if we are running in Safari. */\n\n\nfunction isSafari() {\n return !isNode() && !!navigator.userAgent && navigator.userAgent.includes('Safari') && !navigator.userAgent.includes('Chrome');\n}\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\n\n\nfunction isIndexedDBAvailable() {\n try {\n return typeof indexedDB === 'object';\n } catch (e) {\n return false;\n }\n}\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\n\n\nfunction validateIndexedDBOpenable() {\n return new Promise(function (resolve, reject) {\n try {\n var preExist = true;\n var DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\n var request = self.indexedDB.open(DB_CHECK_NAME);\n\n request.onsuccess = function () {\n request.result.close(); // delete database only when it doesn't pre-exist\n\n if (!preExist) {\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\n }\n\n resolve(true);\n };\n\n request.onupgradeneeded = function () {\n preExist = false;\n };\n\n request.onerror = function () {\n var _a;\n\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\n };\n } catch (error) {\n reject(error);\n }\n });\n}\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\n\n\nfunction areCookiesEnabled() {\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\n return false;\n }\n\n return true;\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\n\n\nvar ERROR_NAME = 'FirebaseError'; // Based on code from:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\n\nvar FirebaseError = /*#__PURE__*/function (_Error2) {\n _inherits(FirebaseError, _Error2);\n\n var _super2 = _createSuper(FirebaseError);\n\n function FirebaseError(\n /** The error code for this error. */\n code, message,\n /** Custom data for this error. */\n customData) {\n var _this4;\n\n _classCallCheck(this, FirebaseError);\n\n _this4 = _super2.call(this, message);\n _this4.code = code;\n _this4.customData = customData;\n /** The custom name for all FirebaseErrors. */\n\n _this4.name = ERROR_NAME; // Fix For ES5\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\n Object.setPrototypeOf(_assertThisInitialized(_this4), FirebaseError.prototype); // Maintains proper stack trace for where our error was thrown.\n // Only available on V8.\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this4), ErrorFactory.prototype.create);\n }\n\n return _this4;\n }\n\n return _createClass(FirebaseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar ErrorFactory = /*#__PURE__*/function () {\n function ErrorFactory(service, serviceName, errors) {\n _classCallCheck(this, ErrorFactory);\n\n this.service = service;\n this.serviceName = serviceName;\n this.errors = errors;\n }\n\n _createClass(ErrorFactory, [{\n key: \"create\",\n value: function create(code) {\n var customData = (arguments.length <= 1 ? undefined : arguments[1]) || {};\n var fullCode = \"\".concat(this.service, \"/\").concat(code);\n var template = this.errors[code];\n var message = template ? replaceTemplate(template, customData) : 'Error'; // Service Name: Error message (service/code).\n\n var fullMessage = \"\".concat(this.serviceName, \": \").concat(message, \" (\").concat(fullCode, \").\");\n var error = new FirebaseError(fullCode, fullMessage, customData);\n return error;\n }\n }]);\n\n return ErrorFactory;\n}();\n\nfunction replaceTemplate(template, data) {\n return template.replace(PATTERN, function (_, key) {\n var value = data[key];\n return value != null ? String(value) : \"<\".concat(key, \"?>\");\n });\n}\n\nvar PATTERN = /\\{\\$([^}]+)}/g;\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\n\nfunction jsonEval(str) {\n return JSON.parse(str);\n}\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\n\n\nfunction stringify(data) {\n return JSON.stringify(data);\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\n\n\nvar decode = function decode(token) {\n var header = {},\n claims = {},\n data = {},\n signature = '';\n\n try {\n var parts = token.split('.');\n header = jsonEval(base64Decode(parts[0]) || '');\n claims = jsonEval(base64Decode(parts[1]) || '');\n signature = parts[2];\n data = claims['d'] || {};\n delete claims['d'];\n } catch (e) {}\n\n return {\n header: header,\n claims: claims,\n data: data,\n signature: signature\n };\n};\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\n\n\nvar isValidTimestamp = function isValidTimestamp(token) {\n var claims = decode(token).claims;\n var now = Math.floor(new Date().getTime() / 1000);\n var validSince = 0,\n validUntil = 0;\n\n if (typeof claims === 'object') {\n if (claims.hasOwnProperty('nbf')) {\n validSince = claims['nbf'];\n } else if (claims.hasOwnProperty('iat')) {\n validSince = claims['iat'];\n }\n\n if (claims.hasOwnProperty('exp')) {\n validUntil = claims['exp'];\n } else {\n // token will expire after 24h by default\n validUntil = validSince + 86400;\n }\n }\n\n return !!now && !!validSince && !!validUntil && now >= validSince && now <= validUntil;\n};\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\n\n\nvar issuedAtTime = function issuedAtTime(token) {\n var claims = decode(token).claims;\n\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\n return claims['iat'];\n }\n\n return null;\n};\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\n\n\nvar isValidFormat = function isValidFormat(token) {\n var decoded = decode(token),\n claims = decoded.claims;\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\n};\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\n\n\nvar isAdmin = function isAdmin(token) {\n var claims = decode(token).claims;\n return typeof claims === 'object' && claims['admin'] === true;\n};\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nfunction contains(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction safeGet(obj, key) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key];\n } else {\n return undefined;\n }\n}\n\nfunction isEmpty(obj) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction map(obj, fn, contextObj) {\n var res = {};\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n res[key] = fn.call(contextObj, obj[key], key, obj);\n }\n }\n\n return res;\n}\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\n\n\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n for (var _i = 0, _aKeys = aKeys; _i < _aKeys.length; _i++) {\n var k = _aKeys[_i];\n\n if (!bKeys.includes(k)) {\n return false;\n }\n\n var aProp = a[k];\n var bProp = b[k];\n\n if (isObject(aProp) && isObject(bProp)) {\n if (!deepEqual(aProp, bProp)) {\n return false;\n }\n } else if (aProp !== bProp) {\n return false;\n }\n }\n\n for (var _i2 = 0, _bKeys = bKeys; _i2 < _bKeys.length; _i2++) {\n var _k = _bKeys[_i2];\n\n if (!aKeys.includes(_k)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isObject(thing) {\n return thing !== null && typeof thing === 'object';\n}\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\n\n\nfunction promiseWithTimeout(promise) {\n var timeInMS = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var deferredPromise = new Deferred();\n setTimeout(function () {\n return deferredPromise.reject('timeout!');\n }, timeInMS);\n promise.then(deferredPromise.resolve, deferredPromise.reject);\n return deferredPromise.promise;\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\n\n\nfunction querystring(querystringParams) {\n var params = [];\n\n var _loop = function _loop() {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i3], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n if (Array.isArray(value)) {\n value.forEach(function (arrayVal) {\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\n });\n } else {\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n };\n\n for (var _i3 = 0, _Object$entries = Object.entries(querystringParams); _i3 < _Object$entries.length; _i3++) {\n _loop();\n }\n\n return params.length ? '&' + params.join('&') : '';\n}\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\n\n\nfunction querystringDecode(querystring) {\n var obj = {};\n var tokens = querystring.replace(/^\\?/, '').split('&');\n tokens.forEach(function (token) {\n if (token) {\n var _token$split = token.split('='),\n _token$split2 = _slicedToArray(_token$split, 2),\n key = _token$split2[0],\n value = _token$split2[1];\n\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n });\n return obj;\n}\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\n\n\nfunction extractQuerystring(url) {\n var queryStart = url.indexOf('?');\n\n if (!queryStart) {\n return '';\n }\n\n var fragmentStart = url.indexOf('#', queryStart);\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\n\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\n\n\nvar Sha1 = /*#__PURE__*/function () {\n function Sha1() {\n _classCallCheck(this, Sha1);\n\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\n this.chain_ = [];\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\n\n this.buf_ = [];\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\n\n this.W_ = [];\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\n\n this.pad_ = [];\n /**\r\n * @private {number}\r\n */\n\n this.inbuf_ = 0;\n /**\r\n * @private {number}\r\n */\n\n this.total_ = 0;\n this.blockSize = 512 / 8;\n this.pad_[0] = 128;\n\n for (var i = 1; i < this.blockSize; ++i) {\n this.pad_[i] = 0;\n }\n\n this.reset();\n }\n\n _createClass(Sha1, [{\n key: \"reset\",\n value: function reset() {\n this.chain_[0] = 0x67452301;\n this.chain_[1] = 0xefcdab89;\n this.chain_[2] = 0x98badcfe;\n this.chain_[3] = 0x10325476;\n this.chain_[4] = 0xc3d2e1f0;\n this.inbuf_ = 0;\n this.total_ = 0;\n }\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\n\n }, {\n key: \"compress_\",\n value: function compress_(buf, offset) {\n if (!offset) {\n offset = 0;\n }\n\n var W = this.W_; // get 16 big endian words\n\n if (typeof buf === 'string') {\n for (var i = 0; i < 16; i++) {\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\n // have a bug that turns the post-increment ++ operator into pre-increment\n // during JIT compilation. We have code that depends heavily on SHA-1 for\n // correctness and which is affected by this bug, so I've removed all uses\n // of post-increment ++ in which the result value is used. We can revert\n // this change once the Safari bug\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\n // most clients have been updated.\n W[i] = buf.charCodeAt(offset) << 24 | buf.charCodeAt(offset + 1) << 16 | buf.charCodeAt(offset + 2) << 8 | buf.charCodeAt(offset + 3);\n offset += 4;\n }\n } else {\n for (var _i4 = 0; _i4 < 16; _i4++) {\n W[_i4] = buf[offset] << 24 | buf[offset + 1] << 16 | buf[offset + 2] << 8 | buf[offset + 3];\n offset += 4;\n }\n } // expand to 80 words\n\n\n for (var _i5 = 16; _i5 < 80; _i5++) {\n var t = W[_i5 - 3] ^ W[_i5 - 8] ^ W[_i5 - 14] ^ W[_i5 - 16];\n W[_i5] = (t << 1 | t >>> 31) & 0xffffffff;\n }\n\n var a = this.chain_[0];\n var b = this.chain_[1];\n var c = this.chain_[2];\n var d = this.chain_[3];\n var e = this.chain_[4];\n var f, k; // TODO(user): Try to unroll this loop to speed up the computation.\n\n for (var _i6 = 0; _i6 < 80; _i6++) {\n if (_i6 < 40) {\n if (_i6 < 20) {\n f = d ^ b & (c ^ d);\n k = 0x5a827999;\n } else {\n f = b ^ c ^ d;\n k = 0x6ed9eba1;\n }\n } else {\n if (_i6 < 60) {\n f = b & c | d & (b | c);\n k = 0x8f1bbcdc;\n } else {\n f = b ^ c ^ d;\n k = 0xca62c1d6;\n }\n }\n\n var _t = (a << 5 | a >>> 27) + f + e + k + W[_i6] & 0xffffffff;\n\n e = d;\n d = c;\n c = (b << 30 | b >>> 2) & 0xffffffff;\n b = a;\n a = _t;\n }\n\n this.chain_[0] = this.chain_[0] + a & 0xffffffff;\n this.chain_[1] = this.chain_[1] + b & 0xffffffff;\n this.chain_[2] = this.chain_[2] + c & 0xffffffff;\n this.chain_[3] = this.chain_[3] + d & 0xffffffff;\n this.chain_[4] = this.chain_[4] + e & 0xffffffff;\n }\n }, {\n key: \"update\",\n value: function update(bytes, length) {\n // TODO(johnlenz): tighten the function signature and remove this check\n if (bytes == null) {\n return;\n }\n\n if (length === undefined) {\n length = bytes.length;\n }\n\n var lengthMinusBlock = length - this.blockSize;\n var n = 0; // Using local instead of member variables gives ~5% speedup on Firefox 16.\n\n var buf = this.buf_;\n var inbuf = this.inbuf_; // The outer while loop should execute at most twice.\n\n while (n < length) {\n // When we have no data in the block to top up, we can directly process the\n // input buffer (assuming it contains sufficient data). This gives ~25%\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\n // the data is provided in large chunks (or in multiples of 64 bytes).\n if (inbuf === 0) {\n while (n <= lengthMinusBlock) {\n this.compress_(bytes, n);\n n += this.blockSize;\n }\n }\n\n if (typeof bytes === 'string') {\n while (n < length) {\n buf[inbuf] = bytes.charCodeAt(n);\n ++inbuf;\n ++n;\n\n if (inbuf === this.blockSize) {\n this.compress_(buf);\n inbuf = 0; // Jump to the outer loop so we use the full-block optimization.\n\n break;\n }\n }\n } else {\n while (n < length) {\n buf[inbuf] = bytes[n];\n ++inbuf;\n ++n;\n\n if (inbuf === this.blockSize) {\n this.compress_(buf);\n inbuf = 0; // Jump to the outer loop so we use the full-block optimization.\n\n break;\n }\n }\n }\n }\n\n this.inbuf_ = inbuf;\n this.total_ += length;\n }\n /** @override */\n\n }, {\n key: \"digest\",\n value: function digest() {\n var digest = [];\n var totalBits = this.total_ * 8; // Add pad 0x80 0x00*.\n\n if (this.inbuf_ < 56) {\n this.update(this.pad_, 56 - this.inbuf_);\n } else {\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\n } // Add # bits.\n\n\n for (var i = this.blockSize - 1; i >= 56; i--) {\n this.buf_[i] = totalBits & 255;\n totalBits /= 256; // Don't use bit-shifting here!\n }\n\n this.compress_(this.buf_);\n var n = 0;\n\n for (var _i7 = 0; _i7 < 5; _i7++) {\n for (var j = 24; j >= 0; j -= 8) {\n digest[n] = this.chain_[_i7] >> j & 255;\n ++n;\n }\n }\n\n return digest;\n }\n }]);\n\n return Sha1;\n}();\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\n\n\nfunction createSubscribe(executor, onNoObservers) {\n var proxy = new ObserverProxy(executor, onNoObservers);\n return proxy.subscribe.bind(proxy);\n}\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\n\n\nvar ObserverProxy = /*#__PURE__*/function () {\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\n function ObserverProxy(executor, onNoObservers) {\n var _this5 = this;\n\n _classCallCheck(this, ObserverProxy);\n\n this.observers = [];\n this.unsubscribes = [];\n this.observerCount = 0; // Micro-task scheduling by calling task.then().\n\n this.task = Promise.resolve();\n this.finalized = false;\n this.onNoObservers = onNoObservers; // Call the executor asynchronously so subscribers that are called\n // synchronously after the creation of the subscribe function\n // can still receive the very first value generated in the executor.\n\n this.task.then(function () {\n executor(_this5);\n }).catch(function (e) {\n _this5.error(e);\n });\n }\n\n _createClass(ObserverProxy, [{\n key: \"next\",\n value: function next(value) {\n this.forEachObserver(function (observer) {\n observer.next(value);\n });\n }\n }, {\n key: \"error\",\n value: function error(_error) {\n this.forEachObserver(function (observer) {\n observer.error(_error);\n });\n this.close(_error);\n }\n }, {\n key: \"complete\",\n value: function complete() {\n this.forEachObserver(function (observer) {\n observer.complete();\n });\n this.close();\n }\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\n\n }, {\n key: \"subscribe\",\n value: function subscribe(nextOrObserver, error, complete) {\n var _this6 = this;\n\n var observer;\n\n if (nextOrObserver === undefined && error === undefined && complete === undefined) {\n throw new Error('Missing Observer.');\n } // Assemble an Observer object when passed as callback functions.\n\n\n if (implementsAnyMethods(nextOrObserver, ['next', 'error', 'complete'])) {\n observer = nextOrObserver;\n } else {\n observer = {\n next: nextOrObserver,\n error: error,\n complete: complete\n };\n }\n\n if (observer.next === undefined) {\n observer.next = noop;\n }\n\n if (observer.error === undefined) {\n observer.error = noop;\n }\n\n if (observer.complete === undefined) {\n observer.complete = noop;\n }\n\n var unsub = this.unsubscribeOne.bind(this, this.observers.length); // Attempt to subscribe to a terminated Observable - we\n // just respond to the Observer with the final error or complete\n // event.\n\n if (this.finalized) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(function () {\n try {\n if (_this6.finalError) {\n observer.error(_this6.finalError);\n } else {\n observer.complete();\n }\n } catch (e) {// nothing\n }\n\n return;\n });\n }\n\n this.observers.push(observer);\n return unsub;\n } // Unsubscribe is synchronous - we guarantee that no events are sent to\n // any unsubscribed Observer.\n\n }, {\n key: \"unsubscribeOne\",\n value: function unsubscribeOne(i) {\n if (this.observers === undefined || this.observers[i] === undefined) {\n return;\n }\n\n delete this.observers[i];\n this.observerCount -= 1;\n\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\n this.onNoObservers(this);\n }\n }\n }, {\n key: \"forEachObserver\",\n value: function forEachObserver(fn) {\n if (this.finalized) {\n // Already closed by previous event....just eat the additional values.\n return;\n } // Since sendOne calls asynchronously - there is no chance that\n // this.observers will become undefined.\n\n\n for (var i = 0; i < this.observers.length; i++) {\n this.sendOne(i, fn);\n }\n } // Call the Observer via one of it's callback function. We are careful to\n // confirm that the observe has not been unsubscribed since this asynchronous\n // function had been queued.\n\n }, {\n key: \"sendOne\",\n value: function sendOne(i, fn) {\n var _this7 = this;\n\n // Execute the callback asynchronously\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.task.then(function () {\n if (_this7.observers !== undefined && _this7.observers[i] !== undefined) {\n try {\n fn(_this7.observers[i]);\n } catch (e) {\n // Ignore exceptions raised in Observers or missing methods of an\n // Observer.\n // Log error to console. b/31404806\n if (typeof console !== 'undefined' && console.error) {\n console.error(e);\n }\n }\n }\n });\n }\n }, {\n key: \"close\",\n value: function close(err) {\n var _this8 = this;\n\n if (this.finalized) {\n return;\n }\n\n this.finalized = true;\n\n if (err !== undefined) {\n this.finalError = err;\n } // Proxy is no longer needed - garbage collect references\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n\n\n this.task.then(function () {\n _this8.observers = undefined;\n _this8.onNoObservers = undefined;\n });\n }\n }]);\n\n return ObserverProxy;\n}();\n/** Turn synchronous function into one called asynchronously. */\n// eslint-disable-next-line @typescript-eslint/ban-types\n\n\nfunction async(fn, onError) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n Promise.resolve(true).then(function () {\n fn.apply(void 0, args);\n }).catch(function (error) {\n if (onError) {\n onError(error);\n }\n });\n };\n}\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\n\n\nfunction implementsAnyMethods(obj, methods) {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n\n var _iterator = _createForOfIteratorHelper(methods),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var method = _step.value;\n\n if (method in obj && typeof obj[method] === 'function') {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n}\n\nfunction noop() {// do nothing\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\n\n\nvar validateArgCount = function validateArgCount(fnName, minCount, maxCount, argCount) {\n var argError;\n\n if (argCount < minCount) {\n argError = 'at least ' + minCount;\n } else if (argCount > maxCount) {\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\n }\n\n if (argError) {\n var error = fnName + ' failed: Was called with ' + argCount + (argCount === 1 ? ' argument.' : ' arguments.') + ' Expects ' + argError + '.';\n throw new Error(error);\n }\n};\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\n\n\nfunction errorPrefix(fnName, argName) {\n return \"\".concat(fnName, \" failed: \").concat(argName, \" argument \");\n}\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\n\n\nfunction validateNamespace(fnName, namespace, optional) {\n if (optional && !namespace) {\n return;\n }\n\n if (typeof namespace !== 'string') {\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\n }\n}\n\nfunction validateCallback(fnName, argumentName, // eslint-disable-next-line @typescript-eslint/ban-types\ncallback, optional) {\n if (optional && !callback) {\n return;\n }\n\n if (typeof callback !== 'function') {\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\n }\n}\n\nfunction validateContextObject(fnName, argumentName, context, optional) {\n if (optional && !context) {\n return;\n }\n\n if (typeof context !== 'object' || context === null) {\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\n }\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\n// so it's been modified.\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\n// pair).\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\n\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\n\n\nvar stringToByteArray = function stringToByteArray(str) {\n var out = [];\n var p = 0;\n\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i); // Is this the lead surrogate in a surrogate pair?\n\n if (c >= 0xd800 && c <= 0xdbff) {\n var high = c - 0xd800; // the high 10 bits.\n\n i++;\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\n var low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\n\n c = 0x10000 + (high << 10) + low;\n }\n\n if (c < 128) {\n out[p++] = c;\n } else if (c < 2048) {\n out[p++] = c >> 6 | 192;\n out[p++] = c & 63 | 128;\n } else if (c < 65536) {\n out[p++] = c >> 12 | 224;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n } else {\n out[p++] = c >> 18 | 240;\n out[p++] = c >> 12 & 63 | 128;\n out[p++] = c >> 6 & 63 | 128;\n out[p++] = c & 63 | 128;\n }\n }\n\n return out;\n};\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\n\n\nvar stringLength = function stringLength(str) {\n var p = 0;\n\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n\n if (c < 128) {\n p++;\n } else if (c < 2048) {\n p += 2;\n } else if (c >= 0xd800 && c <= 0xdbff) {\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\n p += 4;\n i++; // skip trail surrogate.\n } else {\n p += 3;\n }\n }\n\n return p;\n};\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\n\n\nvar uuidv4 = function uuidv4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0,\n v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n};\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\n\n\nvar DEFAULT_INTERVAL_MILLIS = 1000;\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\n\nvar DEFAULT_BACKOFF_FACTOR = 2;\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\n\nvar MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\n\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\n\nvar RANDOM_FACTOR = 0.5;\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\n\nfunction calculateBackoffMillis(backoffCount) {\n var intervalMillis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_INTERVAL_MILLIS;\n var backoffFactor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_BACKOFF_FACTOR;\n // Calculates an exponentially increasing value.\n // Deviation: calculates value from count and a constant interval, so we only need to save value\n // and count to restore state.\n var currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount); // A random \"fuzz\" to avoid waves of retries.\n // Deviation: randomFactor is required.\n\n var randomWait = Math.round( // A fraction of the backoff value to add/subtract.\n // Deviation: changes multiplication order to improve readability.\n RANDOM_FACTOR * currBaseValue * ( // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\n // if we add or subtract.\n Math.random() - 0.5) * 2); // Limits backoff to max to avoid effectively permanent backoff.\n\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\n}\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Provide English ordinal letters after a number\r\n */\n\n\nfunction ordinal(i) {\n if (!Number.isFinite(i)) {\n return \"\".concat(i);\n }\n\n return i + indicator(i);\n}\n\nfunction indicator(i) {\n i = Math.abs(i);\n var cent = i % 100;\n\n if (cent >= 10 && cent <= 20) {\n return 'th';\n }\n\n var dec = i % 10;\n\n if (dec === 1) {\n return 'st';\n }\n\n if (dec === 2) {\n return 'nd';\n }\n\n if (dec === 3) {\n return 'rd';\n }\n\n return 'th';\n}\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nfunction getModularInstance(service) {\n if (service && service._delegate) {\n return service._delegate;\n } else {\n return service;\n }\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };","import _slicedToArray from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _get from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _inherits from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _classCallCheck from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/createClass.js\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport \"core-js/modules/esnext.global-this.js\";\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar esm = {};\n/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n\nvar k,\n goog = goog || {},\n l = commonjsGlobal || self;\n\nfunction aa(a) {\n var b = typeof a;\n b = \"object\" != b ? b : a ? Array.isArray(a) ? \"array\" : b : \"null\";\n return \"array\" == b || \"object\" == b && \"number\" == typeof a.length;\n}\n\nfunction p(a) {\n var b = typeof a;\n return \"object\" == b && null != a || \"function\" == b;\n}\n\nfunction ba(a) {\n return Object.prototype.hasOwnProperty.call(a, ca) && a[ca] || (a[ca] = ++da);\n}\n\nvar ca = \"closure_uid_\" + (1E9 * Math.random() >>> 0),\n da = 0;\n\nfunction ea(a, b, c) {\n return a.call.apply(a.bind, arguments);\n}\n\nfunction fa(a, b, c) {\n if (!a) throw Error();\n\n if (2 < arguments.length) {\n var d = Array.prototype.slice.call(arguments, 2);\n return function () {\n var e = Array.prototype.slice.call(arguments);\n Array.prototype.unshift.apply(e, d);\n return a.apply(b, e);\n };\n }\n\n return function () {\n return a.apply(b, arguments);\n };\n}\n\nfunction q(a, b, c) {\n Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf(\"native code\") ? q = ea : q = fa;\n return q.apply(null, arguments);\n}\n\nfunction ha(a, b) {\n var c = Array.prototype.slice.call(arguments, 1);\n return function () {\n var d = c.slice();\n d.push.apply(d, arguments);\n return a.apply(this, d);\n };\n}\n\nfunction r(a, b) {\n function c() {}\n\n c.prototype = b.prototype;\n a.$ = b.prototype;\n a.prototype = new c();\n a.prototype.constructor = a;\n\n a.ac = function (d, e, f) {\n for (var h = Array(arguments.length - 2), n = 2; n < arguments.length; n++) {\n h[n - 2] = arguments[n];\n }\n\n return b.prototype[e].apply(d, h);\n };\n}\n\nfunction v() {\n this.s = this.s;\n this.o = this.o;\n}\n\nvar ia = 0;\nv.prototype.s = !1;\n\nv.prototype.sa = function () {\n if (!this.s && (this.s = !0, this.N(), 0 != ia)) {\n ba(this);\n }\n};\n\nv.prototype.N = function () {\n if (this.o) for (; this.o.length;) {\n this.o.shift()();\n }\n};\n\nvar ka = Array.prototype.indexOf ? function (a, b) {\n return Array.prototype.indexOf.call(a, b, void 0);\n} : function (a, b) {\n if (\"string\" === typeof a) return \"string\" !== typeof b || 1 != b.length ? -1 : a.indexOf(b, 0);\n\n for (var c = 0; c < a.length; c++) {\n if (c in a && a[c] === b) return c;\n }\n\n return -1;\n};\n\nfunction ma(a) {\n var b = a.length;\n\n if (0 < b) {\n var c = Array(b);\n\n for (var d = 0; d < b; d++) {\n c[d] = a[d];\n }\n\n return c;\n }\n\n return [];\n}\n\nfunction na(a, b) {\n for (var c = 1; c < arguments.length; c++) {\n var d = arguments[c];\n\n if (aa(d)) {\n var e = a.length || 0,\n f = d.length || 0;\n a.length = e + f;\n\n for (var h = 0; h < f; h++) {\n a[e + h] = d[h];\n }\n } else a.push(d);\n }\n}\n\nfunction w(a, b) {\n this.type = a;\n this.g = this.target = b;\n this.defaultPrevented = !1;\n}\n\nw.prototype.h = function () {\n this.defaultPrevented = !0;\n};\n\nvar oa = function () {\n if (!l.addEventListener || !Object.defineProperty) return !1;\n var a = !1,\n b = Object.defineProperty({}, \"passive\", {\n get: function get() {\n a = !0;\n }\n });\n\n try {\n var c = function c() {};\n\n l.addEventListener(\"test\", c, b);\n l.removeEventListener(\"test\", c, b);\n } catch (c) {}\n\n return a;\n}();\n\nfunction x(a) {\n return /^[\\s\\xa0]*$/.test(a);\n}\n\nfunction pa() {\n var a = l.navigator;\n return a && (a = a.userAgent) ? a : \"\";\n}\n\nfunction y(a) {\n return -1 != pa().indexOf(a);\n}\n\nfunction qa(a) {\n qa[\" \"](a);\n return a;\n}\n\nqa[\" \"] = function () {};\n\nfunction ra(a, b) {\n var c = sa;\n return Object.prototype.hasOwnProperty.call(c, a) ? c[a] : c[a] = b(a);\n}\n\nvar ta = y(\"Opera\"),\n z = y(\"Trident\") || y(\"MSIE\"),\n ua = y(\"Edge\"),\n va = ua || z,\n wa = y(\"Gecko\") && !(-1 != pa().toLowerCase().indexOf(\"webkit\") && !y(\"Edge\")) && !(y(\"Trident\") || y(\"MSIE\")) && !y(\"Edge\"),\n xa = -1 != pa().toLowerCase().indexOf(\"webkit\") && !y(\"Edge\");\n\nfunction ya() {\n var a = l.document;\n return a ? a.documentMode : void 0;\n}\n\nvar za;\n\na: {\n var Aa = \"\",\n Ba = function () {\n var a = pa();\n if (wa) return /rv:([^\\);]+)(\\)|;)/.exec(a);\n if (ua) return /Edge\\/([\\d\\.]+)/.exec(a);\n if (z) return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);\n if (xa) return /WebKit\\/(\\S+)/.exec(a);\n if (ta) return /(?:Version)[ \\/]?(\\S+)/.exec(a);\n }();\n\n Ba && (Aa = Ba ? Ba[1] : \"\");\n\n if (z) {\n var Ca = ya();\n\n if (null != Ca && Ca > parseFloat(Aa)) {\n za = String(Ca);\n break a;\n }\n }\n\n za = Aa;\n}\n\nvar Da;\n\nif (l.document && z) {\n var Ea = ya();\n Da = Ea ? Ea : parseInt(za, 10) || void 0;\n} else Da = void 0;\n\nvar Fa = Da;\n\nfunction A(a, b) {\n w.call(this, a ? a.type : \"\");\n this.relatedTarget = this.g = this.target = null;\n this.button = this.screenY = this.screenX = this.clientY = this.clientX = 0;\n this.key = \"\";\n this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1;\n this.state = null;\n this.pointerId = 0;\n this.pointerType = \"\";\n this.i = null;\n\n if (a) {\n var c = this.type = a.type,\n d = a.changedTouches && a.changedTouches.length ? a.changedTouches[0] : null;\n this.target = a.target || a.srcElement;\n this.g = b;\n\n if (b = a.relatedTarget) {\n if (wa) {\n a: {\n try {\n qa(b.nodeName);\n var e = !0;\n break a;\n } catch (f) {}\n\n e = !1;\n }\n\n e || (b = null);\n }\n } else \"mouseover\" == c ? b = a.fromElement : \"mouseout\" == c && (b = a.toElement);\n\n this.relatedTarget = b;\n d ? (this.clientX = void 0 !== d.clientX ? d.clientX : d.pageX, this.clientY = void 0 !== d.clientY ? d.clientY : d.pageY, this.screenX = d.screenX || 0, this.screenY = d.screenY || 0) : (this.clientX = void 0 !== a.clientX ? a.clientX : a.pageX, this.clientY = void 0 !== a.clientY ? a.clientY : a.pageY, this.screenX = a.screenX || 0, this.screenY = a.screenY || 0);\n this.button = a.button;\n this.key = a.key || \"\";\n this.ctrlKey = a.ctrlKey;\n this.altKey = a.altKey;\n this.shiftKey = a.shiftKey;\n this.metaKey = a.metaKey;\n this.pointerId = a.pointerId || 0;\n this.pointerType = \"string\" === typeof a.pointerType ? a.pointerType : Ga[a.pointerType] || \"\";\n this.state = a.state;\n this.i = a;\n a.defaultPrevented && A.$.h.call(this);\n }\n}\n\nr(A, w);\nvar Ga = {\n 2: \"touch\",\n 3: \"pen\",\n 4: \"mouse\"\n};\n\nA.prototype.h = function () {\n A.$.h.call(this);\n var a = this.i;\n a.preventDefault ? a.preventDefault() : a.returnValue = !1;\n};\n\nvar Ha = \"closure_listenable_\" + (1E6 * Math.random() | 0);\nvar Ia = 0;\n\nfunction Ja(a, b, c, d, e) {\n this.listener = a;\n this.proxy = null;\n this.src = b;\n this.type = c;\n this.capture = !!d;\n this.la = e;\n this.key = ++Ia;\n this.fa = this.ia = !1;\n}\n\nfunction Ma(a) {\n a.fa = !0;\n a.listener = null;\n a.proxy = null;\n a.src = null;\n a.la = null;\n}\n\nfunction Na(a, b, c) {\n for (var d in a) {\n b.call(c, a[d], d, a);\n }\n}\n\nfunction Oa(a, b) {\n for (var c in a) {\n b.call(void 0, a[c], c, a);\n }\n}\n\nfunction Pa(a) {\n var b = {};\n\n for (var c in a) {\n b[c] = a[c];\n }\n\n return b;\n}\n\nvar Qa = \"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\n\nfunction Ra(a, b) {\n var c, d;\n\n for (var e = 1; e < arguments.length; e++) {\n d = arguments[e];\n\n for (c in d) {\n a[c] = d[c];\n }\n\n for (var f = 0; f < Qa.length; f++) {\n c = Qa[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c]);\n }\n }\n}\n\nfunction Sa(a) {\n this.src = a;\n this.g = {};\n this.h = 0;\n}\n\nSa.prototype.add = function (a, b, c, d, e) {\n var f = a.toString();\n a = this.g[f];\n a || (a = this.g[f] = [], this.h++);\n var h = Ta(a, b, d, e);\n -1 < h ? (b = a[h], c || (b.ia = !1)) : (b = new Ja(b, this.src, f, !!d, e), b.ia = c, a.push(b));\n return b;\n};\n\nfunction Ua(a, b) {\n var c = b.type;\n\n if (c in a.g) {\n var d = a.g[c],\n e = ka(d, b),\n f;\n (f = 0 <= e) && Array.prototype.splice.call(d, e, 1);\n f && (Ma(b), 0 == a.g[c].length && (delete a.g[c], a.h--));\n }\n}\n\nfunction Ta(a, b, c, d) {\n for (var e = 0; e < a.length; ++e) {\n var f = a[e];\n if (!f.fa && f.listener == b && f.capture == !!c && f.la == d) return e;\n }\n\n return -1;\n}\n\nvar Va = \"closure_lm_\" + (1E6 * Math.random() | 0),\n Wa = {};\n\nfunction Ya(a, b, c, d, e) {\n if (d && d.once) return Za(a, b, c, d, e);\n\n if (Array.isArray(b)) {\n for (var f = 0; f < b.length; f++) {\n Ya(a, b[f], c, d, e);\n }\n\n return null;\n }\n\n c = $a(c);\n return a && a[Ha] ? a.O(b, c, p(d) ? !!d.capture : !!d, e) : ab(a, b, c, !1, d, e);\n}\n\nfunction ab(a, b, c, d, e, f) {\n if (!b) throw Error(\"Invalid event type\");\n var h = p(e) ? !!e.capture : !!e,\n n = bb(a);\n n || (a[Va] = n = new Sa(a));\n c = n.add(b, c, d, h, f);\n if (c.proxy) return c;\n d = cb();\n c.proxy = d;\n d.src = a;\n d.listener = c;\n if (a.addEventListener) oa || (e = h), void 0 === e && (e = !1), a.addEventListener(b.toString(), d, e);else if (a.attachEvent) a.attachEvent(db(b.toString()), d);else if (a.addListener && a.removeListener) a.addListener(d);else throw Error(\"addEventListener and attachEvent are unavailable.\");\n return c;\n}\n\nfunction cb() {\n function a(c) {\n return b.call(a.src, a.listener, c);\n }\n\n var b = eb;\n return a;\n}\n\nfunction Za(a, b, c, d, e) {\n if (Array.isArray(b)) {\n for (var f = 0; f < b.length; f++) {\n Za(a, b[f], c, d, e);\n }\n\n return null;\n }\n\n c = $a(c);\n return a && a[Ha] ? a.P(b, c, p(d) ? !!d.capture : !!d, e) : ab(a, b, c, !0, d, e);\n}\n\nfunction fb(a, b, c, d, e) {\n if (Array.isArray(b)) for (var f = 0; f < b.length; f++) {\n fb(a, b[f], c, d, e);\n } else (d = p(d) ? !!d.capture : !!d, c = $a(c), a && a[Ha]) ? (a = a.i, b = String(b).toString(), b in a.g && (f = a.g[b], c = Ta(f, c, d, e), -1 < c && (Ma(f[c]), Array.prototype.splice.call(f, c, 1), 0 == f.length && (delete a.g[b], a.h--)))) : a && (a = bb(a)) && (b = a.g[b.toString()], a = -1, b && (a = Ta(b, c, d, e)), (c = -1 < a ? b[a] : null) && gb(c));\n}\n\nfunction gb(a) {\n if (\"number\" !== typeof a && a && !a.fa) {\n var b = a.src;\n if (b && b[Ha]) Ua(b.i, a);else {\n var c = a.type,\n d = a.proxy;\n b.removeEventListener ? b.removeEventListener(c, d, a.capture) : b.detachEvent ? b.detachEvent(db(c), d) : b.addListener && b.removeListener && b.removeListener(d);\n (c = bb(b)) ? (Ua(c, a), 0 == c.h && (c.src = null, b[Va] = null)) : Ma(a);\n }\n }\n}\n\nfunction db(a) {\n return a in Wa ? Wa[a] : Wa[a] = \"on\" + a;\n}\n\nfunction eb(a, b) {\n if (a.fa) a = !0;else {\n b = new A(b, this);\n var c = a.listener,\n d = a.la || a.src;\n a.ia && gb(a);\n a = c.call(d, b);\n }\n return a;\n}\n\nfunction bb(a) {\n a = a[Va];\n return a instanceof Sa ? a : null;\n}\n\nvar hb = \"__closure_events_fn_\" + (1E9 * Math.random() >>> 0);\n\nfunction $a(a) {\n if (\"function\" === typeof a) return a;\n a[hb] || (a[hb] = function (b) {\n return a.handleEvent(b);\n });\n return a[hb];\n}\n\nfunction B() {\n v.call(this);\n this.i = new Sa(this);\n this.S = this;\n this.J = null;\n}\n\nr(B, v);\nB.prototype[Ha] = !0;\n\nB.prototype.removeEventListener = function (a, b, c, d) {\n fb(this, a, b, c, d);\n};\n\nfunction C(a, b) {\n var c,\n d = a.J;\n if (d) for (c = []; d; d = d.J) {\n c.push(d);\n }\n a = a.S;\n d = b.type || b;\n if (\"string\" === typeof b) b = new w(b, a);else if (b instanceof w) b.target = b.target || a;else {\n var e = b;\n b = new w(d, a);\n Ra(b, e);\n }\n e = !0;\n if (c) for (var f = c.length - 1; 0 <= f; f--) {\n var h = b.g = c[f];\n e = ib(h, d, !0, b) && e;\n }\n h = b.g = a;\n e = ib(h, d, !0, b) && e;\n e = ib(h, d, !1, b) && e;\n if (c) for (f = 0; f < c.length; f++) {\n h = b.g = c[f], e = ib(h, d, !1, b) && e;\n }\n}\n\nB.prototype.N = function () {\n B.$.N.call(this);\n\n if (this.i) {\n var a = this.i,\n c;\n\n for (c in a.g) {\n for (var d = a.g[c], e = 0; e < d.length; e++) {\n Ma(d[e]);\n }\n\n delete a.g[c];\n a.h--;\n }\n }\n\n this.J = null;\n};\n\nB.prototype.O = function (a, b, c, d) {\n return this.i.add(String(a), b, !1, c, d);\n};\n\nB.prototype.P = function (a, b, c, d) {\n return this.i.add(String(a), b, !0, c, d);\n};\n\nfunction ib(a, b, c, d) {\n b = a.i.g[String(b)];\n if (!b) return !0;\n b = b.concat();\n\n for (var e = !0, f = 0; f < b.length; ++f) {\n var h = b[f];\n\n if (h && !h.fa && h.capture == c) {\n var n = h.listener,\n t = h.la || h.src;\n h.ia && Ua(a.i, h);\n e = !1 !== n.call(t, d) && e;\n }\n }\n\n return e && !d.defaultPrevented;\n}\n\nvar jb = l.JSON.stringify;\n\nvar kb = /*#__PURE__*/function () {\n function kb(a, b) {\n _classCallCheck(this, kb);\n\n this.i = a;\n this.j = b;\n this.h = 0;\n this.g = null;\n }\n\n _createClass(kb, [{\n key: \"get\",\n value: function get() {\n var a;\n 0 < this.h ? (this.h--, a = this.g, this.g = a.next, a.next = null) : a = this.i();\n return a;\n }\n }]);\n\n return kb;\n}();\n\nfunction lb() {\n var a = mb;\n var b = null;\n a.g && (b = a.g, a.g = a.g.next, a.g || (a.h = null), b.next = null);\n return b;\n}\n\nvar nb = /*#__PURE__*/function () {\n function nb() {\n _classCallCheck(this, nb);\n\n this.h = this.g = null;\n }\n\n _createClass(nb, [{\n key: \"add\",\n value: function add(a, b) {\n var c = ob.get();\n c.set(a, b);\n this.h ? this.h.next = c : this.g = c;\n this.h = c;\n }\n }]);\n\n return nb;\n}();\n\nvar ob = new kb(function () {\n return new pb();\n}, function (a) {\n return a.reset();\n});\n\nvar pb = /*#__PURE__*/function () {\n function pb() {\n _classCallCheck(this, pb);\n\n this.next = this.g = this.h = null;\n }\n\n _createClass(pb, [{\n key: \"set\",\n value: function set(a, b) {\n this.h = a;\n this.g = b;\n this.next = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.next = this.g = this.h = null;\n }\n }]);\n\n return pb;\n}();\n\nfunction qb(a) {\n var b = 1;\n a = a.split(\":\");\n var c = [];\n\n for (; 0 < b && a.length;) {\n c.push(a.shift()), b--;\n }\n\n a.length && c.push(a.join(\":\"));\n return c;\n}\n\nfunction rb(a) {\n l.setTimeout(function () {\n throw a;\n }, 0);\n}\n\nvar sb,\n tb = !1,\n mb = new nb(),\n vb = function vb() {\n var a = l.Promise.resolve(void 0);\n\n sb = function sb() {\n a.then(ub);\n };\n};\n\nvar ub = function ub() {\n for (var a; a = lb();) {\n try {\n a.h.call(a.g);\n } catch (c) {\n rb(c);\n }\n\n var b = ob;\n b.j(a);\n 100 > b.h && (b.h++, a.next = b.g, b.g = a);\n }\n\n tb = !1;\n};\n\nfunction wb(a, b) {\n B.call(this);\n this.h = a || 1;\n this.g = b || l;\n this.j = q(this.qb, this);\n this.l = Date.now();\n}\n\nr(wb, B);\nk = wb.prototype;\nk.ga = !1;\nk.T = null;\n\nk.qb = function () {\n if (this.ga) {\n var a = Date.now() - this.l;\n 0 < a && a < .8 * this.h ? this.T = this.g.setTimeout(this.j, this.h - a) : (this.T && (this.g.clearTimeout(this.T), this.T = null), C(this, \"tick\"), this.ga && (xb(this), this.start()));\n }\n};\n\nk.start = function () {\n this.ga = !0;\n this.T || (this.T = this.g.setTimeout(this.j, this.h), this.l = Date.now());\n};\n\nfunction xb(a) {\n a.ga = !1;\n a.T && (a.g.clearTimeout(a.T), a.T = null);\n}\n\nk.N = function () {\n wb.$.N.call(this);\n xb(this);\n delete this.g;\n};\n\nfunction yb(a, b, c) {\n if (\"function\" === typeof a) c && (a = q(a, c));else if (a && \"function\" == typeof a.handleEvent) a = q(a.handleEvent, a);else throw Error(\"Invalid listener argument\");\n return 2147483647 < Number(b) ? -1 : l.setTimeout(a, b || 0);\n}\n\nfunction zb(a) {\n a.g = yb(function () {\n a.g = null;\n a.i && (a.i = !1, zb(a));\n }, a.j);\n var b = a.h;\n a.h = null;\n a.m.apply(null, b);\n}\n\nvar Ab = /*#__PURE__*/function (_v) {\n _inherits(Ab, _v);\n\n var _super = _createSuper(Ab);\n\n function Ab(a, b) {\n var _this;\n\n _classCallCheck(this, Ab);\n\n _this = _super.call(this);\n _this.m = a;\n _this.j = b;\n _this.h = null;\n _this.i = !1;\n _this.g = null;\n return _this;\n }\n\n _createClass(Ab, [{\n key: \"l\",\n value: function l(a) {\n this.h = arguments;\n this.g ? this.i = !0 : zb(this);\n }\n }, {\n key: \"N\",\n value: function N() {\n _get(_getPrototypeOf(Ab.prototype), \"N\", this).call(this);\n\n this.g && (l.clearTimeout(this.g), this.g = null, this.i = !1, this.h = null);\n }\n }]);\n\n return Ab;\n}(v);\n\nfunction Bb(a) {\n v.call(this);\n this.h = a;\n this.g = {};\n}\n\nr(Bb, v);\nvar Cb = [];\n\nfunction Eb(a, b, c, d) {\n Array.isArray(c) || (c && (Cb[0] = c.toString()), c = Cb);\n\n for (var e = 0; e < c.length; e++) {\n var f = Ya(b, c[e], d || a.handleEvent, !1, a.h || a);\n if (!f) break;\n a.g[f.key] = f;\n }\n}\n\nfunction Fb(a) {\n Na(a.g, function (b, c) {\n this.g.hasOwnProperty(c) && gb(b);\n }, a);\n a.g = {};\n}\n\nBb.prototype.N = function () {\n Bb.$.N.call(this);\n Fb(this);\n};\n\nBb.prototype.handleEvent = function () {\n throw Error(\"EventHandler.handleEvent not implemented\");\n};\n\nfunction Gb() {\n this.g = !0;\n}\n\nGb.prototype.Ea = function () {\n this.g = !1;\n};\n\nfunction Hb(a, b, c, d, e, f) {\n a.info(function () {\n if (a.g) {\n if (f) {\n var h = \"\";\n\n for (var n = f.split(\"&\"), t = 0; t < n.length; t++) {\n var m = n[t].split(\"=\");\n\n if (1 < m.length) {\n var u = m[0];\n m = m[1];\n var L = u.split(\"_\");\n h = 2 <= L.length && \"type\" == L[1] ? h + (u + \"=\" + m + \"&\") : h + (u + \"=redacted&\");\n }\n }\n } else h = null;\n } else h = f;\n return \"XMLHTTP REQ (\" + d + \") [attempt \" + e + \"]: \" + b + \"\\n\" + c + \"\\n\" + h;\n });\n}\n\nfunction Ib(a, b, c, d, e, f, h) {\n a.info(function () {\n return \"XMLHTTP RESP (\" + d + \") [ attempt \" + e + \"]: \" + b + \"\\n\" + c + \"\\n\" + f + \" \" + h;\n });\n}\n\nfunction D(a, b, c, d) {\n a.info(function () {\n return \"XMLHTTP TEXT (\" + b + \"): \" + Jb(a, c) + (d ? \" \" + d : \"\");\n });\n}\n\nfunction Kb(a, b) {\n a.info(function () {\n return \"TIMEOUT: \" + b;\n });\n}\n\nGb.prototype.info = function () {};\n\nfunction Jb(a, b) {\n if (!a.g) return b;\n if (!b) return null;\n\n try {\n var c = JSON.parse(b);\n if (c) for (a = 0; a < c.length; a++) {\n if (Array.isArray(c[a])) {\n var d = c[a];\n\n if (!(2 > d.length)) {\n var e = d[1];\n\n if (Array.isArray(e) && !(1 > e.length)) {\n var f = e[0];\n if (\"noop\" != f && \"stop\" != f && \"close\" != f) for (var h = 1; h < e.length; h++) {\n e[h] = \"\";\n }\n }\n }\n }\n }\n return jb(c);\n } catch (n) {\n return b;\n }\n}\n\nvar E = {},\n Lb = null;\n\nfunction Mb() {\n return Lb = Lb || new B();\n}\n\nE.Ta = \"serverreachability\";\n\nfunction Nb(a) {\n w.call(this, E.Ta, a);\n}\n\nr(Nb, w);\n\nfunction Ob(a) {\n var b = Mb();\n C(b, new Nb(b));\n}\n\nE.STAT_EVENT = \"statevent\";\n\nfunction Pb(a, b) {\n w.call(this, E.STAT_EVENT, a);\n this.stat = b;\n}\n\nr(Pb, w);\n\nfunction F(a) {\n var b = Mb();\n C(b, new Pb(b, a));\n}\n\nE.Ua = \"timingevent\";\n\nfunction Qb(a, b) {\n w.call(this, E.Ua, a);\n this.size = b;\n}\n\nr(Qb, w);\n\nfunction Rb(a, b) {\n if (\"function\" !== typeof a) throw Error(\"Fn must not be null and must be a function\");\n return l.setTimeout(function () {\n a();\n }, b);\n}\n\nvar Sb = {\n NO_ERROR: 0,\n rb: 1,\n Eb: 2,\n Db: 3,\n yb: 4,\n Cb: 5,\n Fb: 6,\n Qa: 7,\n TIMEOUT: 8,\n Ib: 9\n};\nvar Tb = {\n wb: \"complete\",\n Sb: \"success\",\n Ra: \"error\",\n Qa: \"abort\",\n Kb: \"ready\",\n Lb: \"readystatechange\",\n TIMEOUT: \"timeout\",\n Gb: \"incrementaldata\",\n Jb: \"progress\",\n zb: \"downloadprogress\",\n $b: \"uploadprogress\"\n};\n\nfunction Ub() {}\n\nUb.prototype.h = null;\n\nfunction Vb(a) {\n return a.h || (a.h = a.i());\n}\n\nfunction Wb() {}\n\nvar Xb = {\n OPEN: \"a\",\n vb: \"b\",\n Ra: \"c\",\n Hb: \"d\"\n};\n\nfunction Yb() {\n w.call(this, \"d\");\n}\n\nr(Yb, w);\n\nfunction Zb() {\n w.call(this, \"c\");\n}\n\nr(Zb, w);\nvar $b;\n\nfunction ac() {}\n\nr(ac, Ub);\n\nac.prototype.g = function () {\n return new XMLHttpRequest();\n};\n\nac.prototype.i = function () {\n return {};\n};\n\n$b = new ac();\n\nfunction bc(a, b, c, d) {\n this.l = a;\n this.j = b;\n this.m = c;\n this.W = d || 1;\n this.U = new Bb(this);\n this.P = cc;\n a = va ? 125 : void 0;\n this.V = new wb(a);\n this.I = null;\n this.i = !1;\n this.u = this.B = this.A = this.L = this.G = this.Y = this.C = null;\n this.F = [];\n this.g = null;\n this.o = 0;\n this.s = this.v = null;\n this.ca = -1;\n this.J = !1;\n this.O = 0;\n this.M = null;\n this.ba = this.K = this.aa = this.S = !1;\n this.h = new dc();\n}\n\nfunction dc() {\n this.i = null;\n this.g = \"\";\n this.h = !1;\n}\n\nvar cc = 45E3,\n ec = {},\n fc = {};\nk = bc.prototype;\n\nk.setTimeout = function (a) {\n this.P = a;\n};\n\nfunction gc(a, b, c) {\n a.L = 1;\n a.A = hc(G(b));\n a.u = c;\n a.S = !0;\n ic(a, null);\n}\n\nfunction ic(a, b) {\n a.G = Date.now();\n jc(a);\n a.B = G(a.A);\n var c = a.B,\n d = a.W;\n Array.isArray(d) || (d = [String(d)]);\n kc(c.i, \"t\", d);\n a.o = 0;\n c = a.l.J;\n a.h = new dc();\n a.g = lc(a.l, c ? b : null, !a.u);\n 0 < a.O && (a.M = new Ab(q(a.Pa, a, a.g), a.O));\n Eb(a.U, a.g, \"readystatechange\", a.nb);\n b = a.I ? Pa(a.I) : {};\n a.u ? (a.v || (a.v = \"POST\"), b[\"Content-Type\"] = \"application/x-www-form-urlencoded\", a.g.ha(a.B, a.v, a.u, b)) : (a.v = \"GET\", a.g.ha(a.B, a.v, null, b));\n Ob();\n Hb(a.j, a.v, a.B, a.m, a.W, a.u);\n}\n\nk.nb = function (a) {\n a = a.target;\n var b = this.M;\n b && 3 == H(a) ? b.l() : this.Pa(a);\n};\n\nk.Pa = function (a) {\n try {\n if (a == this.g) a: {\n var u = H(this.g);\n var b = this.g.Ia();\n var L = this.g.da();\n\n if (!(3 > u) && (3 != u || va || this.g && (this.h.h || this.g.ja() || mc(this.g)))) {\n this.J || 4 != u || 7 == b || (8 == b || 0 >= L ? Ob(3) : Ob(2));\n nc(this);\n var c = this.g.da();\n this.ca = c;\n\n b: if (oc(this)) {\n var d = mc(this.g);\n a = \"\";\n var e = d.length,\n f = 4 == H(this.g);\n\n if (!this.h.i) {\n if (\"undefined\" === typeof TextDecoder) {\n I(this);\n pc(this);\n var h = \"\";\n break b;\n }\n\n this.h.i = new l.TextDecoder();\n }\n\n for (b = 0; b < e; b++) {\n this.h.h = !0, a += this.h.i.decode(d[b], {\n stream: f && b == e - 1\n });\n }\n\n d.length = 0;\n this.h.g += a;\n this.o = 0;\n h = this.h.g;\n } else h = this.g.ja();\n\n this.i = 200 == c;\n Ib(this.j, this.v, this.B, this.m, this.W, u, c);\n\n if (this.i) {\n if (this.aa && !this.K) {\n b: {\n if (this.g) {\n var n,\n t = this.g;\n\n if ((n = t.g ? t.g.getResponseHeader(\"X-HTTP-Initial-Response\") : null) && !x(n)) {\n var m = n;\n break b;\n }\n }\n\n m = null;\n }\n\n if (c = m) D(this.j, this.m, c, \"Initial handshake response via X-HTTP-Initial-Response\"), this.K = !0, qc(this, c);else {\n this.i = !1;\n this.s = 3;\n F(12);\n I(this);\n pc(this);\n break a;\n }\n }\n\n this.S ? (rc(this, u, h), va && this.i && 3 == u && (Eb(this.U, this.V, \"tick\", this.mb), this.V.start())) : (D(this.j, this.m, h, null), qc(this, h));\n 4 == u && I(this);\n this.i && !this.J && (4 == u ? sc(this.l, this) : (this.i = !1, jc(this)));\n } else tc(this.g), 400 == c && 0 < h.indexOf(\"Unknown SID\") ? (this.s = 3, F(12)) : (this.s = 0, F(13)), I(this), pc(this);\n }\n }\n } catch (u) {} finally {}\n};\n\nfunction oc(a) {\n return a.g ? \"GET\" == a.v && 2 != a.L && a.l.Ha : !1;\n}\n\nfunction rc(a, b, c) {\n var d = !0,\n e;\n\n for (; !a.J && a.o < c.length;) {\n if (e = uc(a, c), e == fc) {\n 4 == b && (a.s = 4, F(14), d = !1);\n D(a.j, a.m, null, \"[Incomplete Response]\");\n break;\n } else if (e == ec) {\n a.s = 4;\n F(15);\n D(a.j, a.m, c, \"[Invalid Chunk]\");\n d = !1;\n break;\n } else D(a.j, a.m, e, null), qc(a, e);\n }\n\n oc(a) && 0 != a.o && (a.h.g = a.h.g.slice(a.o), a.o = 0);\n 4 != b || 0 != c.length || a.h.h || (a.s = 1, F(16), d = !1);\n a.i = a.i && d;\n d ? 0 < c.length && !a.ba && (a.ba = !0, b = a.l, b.g == a && b.ca && !b.M && (b.l.info(\"Great, no buffering proxy detected. Bytes received: \" + c.length), vc(b), b.M = !0, F(11))) : (D(a.j, a.m, c, \"[Invalid Chunked Response]\"), I(a), pc(a));\n}\n\nk.mb = function () {\n if (this.g) {\n var a = H(this.g),\n b = this.g.ja();\n this.o < b.length && (nc(this), rc(this, a, b), this.i && 4 != a && jc(this));\n }\n};\n\nfunction uc(a, b) {\n var c = a.o,\n d = b.indexOf(\"\\n\", c);\n if (-1 == d) return fc;\n c = Number(b.substring(c, d));\n if (isNaN(c)) return ec;\n d += 1;\n if (d + c > b.length) return fc;\n b = b.slice(d, d + c);\n a.o = d + c;\n return b;\n}\n\nk.cancel = function () {\n this.J = !0;\n I(this);\n};\n\nfunction jc(a) {\n a.Y = Date.now() + a.P;\n wc(a, a.P);\n}\n\nfunction wc(a, b) {\n if (null != a.C) throw Error(\"WatchDog timer not null\");\n a.C = Rb(q(a.lb, a), b);\n}\n\nfunction nc(a) {\n a.C && (l.clearTimeout(a.C), a.C = null);\n}\n\nk.lb = function () {\n this.C = null;\n var a = Date.now();\n 0 <= a - this.Y ? (Kb(this.j, this.B), 2 != this.L && (Ob(), F(17)), I(this), this.s = 2, pc(this)) : wc(this, this.Y - a);\n};\n\nfunction pc(a) {\n 0 == a.l.H || a.J || sc(a.l, a);\n}\n\nfunction I(a) {\n nc(a);\n var b = a.M;\n b && \"function\" == typeof b.sa && b.sa();\n a.M = null;\n xb(a.V);\n Fb(a.U);\n a.g && (b = a.g, a.g = null, b.abort(), b.sa());\n}\n\nfunction qc(a, b) {\n try {\n var c = a.l;\n if (0 != c.H && (c.g == a || xc(c.i, a))) if (!a.K && xc(c.i, a) && 3 == c.H) {\n try {\n var d = c.Ja.g.parse(b);\n } catch (m) {\n d = null;\n }\n\n if (Array.isArray(d) && 3 == d.length) {\n var e = d;\n if (0 == e[0]) a: {\n if (!c.u) {\n if (c.g) if (c.g.G + 3E3 < a.G) yc(c), zc(c);else break a;\n Ac(c);\n F(18);\n }\n } else c.Fa = e[1], 0 < c.Fa - c.V && 37500 > e[2] && c.G && 0 == c.A && !c.v && (c.v = Rb(q(c.ib, c), 6E3));\n\n if (1 >= Bc(c.i) && c.oa) {\n try {\n c.oa();\n } catch (m) {}\n\n c.oa = void 0;\n }\n } else J(c, 11);\n } else if ((a.K || c.g == a) && yc(c), !x(b)) for (e = c.Ja.g.parse(b), b = 0; b < e.length; b++) {\n var m = e[b];\n c.V = m[0];\n m = m[1];\n if (2 == c.H) {\n if (\"c\" == m[0]) {\n c.K = m[1];\n c.pa = m[2];\n var u = m[3];\n null != u && (c.ra = u, c.l.info(\"VER=\" + c.ra));\n var L = m[4];\n null != L && (c.Ga = L, c.l.info(\"SVER=\" + c.Ga));\n var Ka = m[5];\n null != Ka && \"number\" === typeof Ka && 0 < Ka && (d = 1.5 * Ka, c.L = d, c.l.info(\"backChannelRequestTimeoutMs_=\" + d));\n d = c;\n var la = a.g;\n\n if (la) {\n var La = la.g ? la.g.getResponseHeader(\"X-Client-Wire-Protocol\") : null;\n\n if (La) {\n var f = d.i;\n f.g || -1 == La.indexOf(\"spdy\") && -1 == La.indexOf(\"quic\") && -1 == La.indexOf(\"h2\") || (f.j = f.l, f.g = new Set(), f.h && (Cc(f, f.h), f.h = null));\n }\n\n if (d.F) {\n var Db = la.g ? la.g.getResponseHeader(\"X-HTTP-Session-Id\") : null;\n Db && (d.Da = Db, K(d.I, d.F, Db));\n }\n }\n\n c.H = 3;\n c.h && c.h.Ba();\n c.ca && (c.S = Date.now() - a.G, c.l.info(\"Handshake RTT: \" + c.S + \"ms\"));\n d = c;\n var h = a;\n d.wa = Dc(d, d.J ? d.pa : null, d.Y);\n\n if (h.K) {\n Ec(d.i, h);\n var n = h,\n t = d.L;\n t && n.setTimeout(t);\n n.C && (nc(n), jc(n));\n d.g = h;\n } else Fc(d);\n\n 0 < c.j.length && Gc(c);\n } else \"stop\" != m[0] && \"close\" != m[0] || J(c, 7);\n } else 3 == c.H && (\"stop\" == m[0] || \"close\" == m[0] ? \"stop\" == m[0] ? J(c, 7) : Hc(c) : \"noop\" != m[0] && c.h && c.h.Aa(m), c.A = 0);\n }\n Ob(4);\n } catch (m) {}\n}\n\nfunction Ic(a) {\n if (a.Z && \"function\" == typeof a.Z) return a.Z();\n if (\"undefined\" !== typeof Map && a instanceof Map || \"undefined\" !== typeof Set && a instanceof Set) return Array.from(a.values());\n if (\"string\" === typeof a) return a.split(\"\");\n\n if (aa(a)) {\n for (var b = [], c = a.length, d = 0; d < c; d++) {\n b.push(a[d]);\n }\n\n return b;\n }\n\n b = [];\n c = 0;\n\n for (d in a) {\n b[c++] = a[d];\n }\n\n return b;\n}\n\nfunction Jc(a) {\n if (a.ta && \"function\" == typeof a.ta) return a.ta();\n\n if (!a.Z || \"function\" != typeof a.Z) {\n if (\"undefined\" !== typeof Map && a instanceof Map) return Array.from(a.keys());\n\n if (!(\"undefined\" !== typeof Set && a instanceof Set)) {\n if (aa(a) || \"string\" === typeof a) {\n var b = [];\n a = a.length;\n\n for (var c = 0; c < a; c++) {\n b.push(c);\n }\n\n return b;\n }\n\n b = [];\n c = 0;\n\n for (var d in a) {\n b[c++] = d;\n }\n\n return b;\n }\n }\n}\n\nfunction Kc(a, b) {\n if (a.forEach && \"function\" == typeof a.forEach) a.forEach(b, void 0);else if (aa(a) || \"string\" === typeof a) Array.prototype.forEach.call(a, b, void 0);else for (var c = Jc(a), d = Ic(a), e = d.length, f = 0; f < e; f++) {\n b.call(void 0, d[f], c && c[f], a);\n }\n}\n\nvar Lc = RegExp(\"^(?:([^:/?#.]+):)?(?://(?:([^\\\\\\\\/?#]*)@)?([^\\\\\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\\\\\/?#]|$))?([^?#]+)?(?:\\\\?([^#]*))?(?:#([\\\\s\\\\S]*))?$\");\n\nfunction Mc(a, b) {\n if (a) {\n a = a.split(\"&\");\n\n for (var c = 0; c < a.length; c++) {\n var d = a[c].indexOf(\"=\"),\n e = null;\n\n if (0 <= d) {\n var f = a[c].substring(0, d);\n e = a[c].substring(d + 1);\n } else f = a[c];\n\n b(f, e ? decodeURIComponent(e.replace(/\\+/g, \" \")) : \"\");\n }\n }\n}\n\nfunction M(a) {\n this.g = this.s = this.j = \"\";\n this.m = null;\n this.o = this.l = \"\";\n this.h = !1;\n\n if (a instanceof M) {\n this.h = a.h;\n Nc(this, a.j);\n this.s = a.s;\n this.g = a.g;\n Oc(this, a.m);\n this.l = a.l;\n var b = a.i;\n var c = new Pc();\n c.i = b.i;\n b.g && (c.g = new Map(b.g), c.h = b.h);\n Qc(this, c);\n this.o = a.o;\n } else a && (b = String(a).match(Lc)) ? (this.h = !1, Nc(this, b[1] || \"\", !0), this.s = Rc(b[2] || \"\"), this.g = Rc(b[3] || \"\", !0), Oc(this, b[4]), this.l = Rc(b[5] || \"\", !0), Qc(this, b[6] || \"\", !0), this.o = Rc(b[7] || \"\")) : (this.h = !1, this.i = new Pc(null, this.h));\n}\n\nM.prototype.toString = function () {\n var a = [],\n b = this.j;\n b && a.push(Sc(b, Tc, !0), \":\");\n var c = this.g;\n if (c || \"file\" == b) a.push(\"//\"), (b = this.s) && a.push(Sc(b, Tc, !0), \"@\"), a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g, \"%$1\")), c = this.m, null != c && a.push(\":\", String(c));\n if (c = this.l) this.g && \"/\" != c.charAt(0) && a.push(\"/\"), a.push(Sc(c, \"/\" == c.charAt(0) ? Uc : Vc, !0));\n (c = this.i.toString()) && a.push(\"?\", c);\n (c = this.o) && a.push(\"#\", Sc(c, Wc));\n return a.join(\"\");\n};\n\nfunction G(a) {\n return new M(a);\n}\n\nfunction Nc(a, b, c) {\n a.j = c ? Rc(b, !0) : b;\n a.j && (a.j = a.j.replace(/:$/, \"\"));\n}\n\nfunction Oc(a, b) {\n if (b) {\n b = Number(b);\n if (isNaN(b) || 0 > b) throw Error(\"Bad port number \" + b);\n a.m = b;\n } else a.m = null;\n}\n\nfunction Qc(a, b, c) {\n b instanceof Pc ? (a.i = b, Xc(a.i, a.h)) : (c || (b = Sc(b, Yc)), a.i = new Pc(b, a.h));\n}\n\nfunction K(a, b, c) {\n a.i.set(b, c);\n}\n\nfunction hc(a) {\n K(a, \"zx\", Math.floor(2147483648 * Math.random()).toString(36) + Math.abs(Math.floor(2147483648 * Math.random()) ^ Date.now()).toString(36));\n return a;\n}\n\nfunction Rc(a, b) {\n return a ? b ? decodeURI(a.replace(/%25/g, \"%2525\")) : decodeURIComponent(a) : \"\";\n}\n\nfunction Sc(a, b, c) {\n return \"string\" === typeof a ? (a = encodeURI(a).replace(b, Zc), c && (a = a.replace(/%25([0-9a-fA-F]{2})/g, \"%$1\")), a) : null;\n}\n\nfunction Zc(a) {\n a = a.charCodeAt(0);\n return \"%\" + (a >> 4 & 15).toString(16) + (a & 15).toString(16);\n}\n\nvar Tc = /[#\\/\\?@]/g,\n Vc = /[#\\?:]/g,\n Uc = /[#\\?]/g,\n Yc = /[#\\?@]/g,\n Wc = /#/g;\n\nfunction Pc(a, b) {\n this.h = this.g = null;\n this.i = a || null;\n this.j = !!b;\n}\n\nfunction N(a) {\n a.g || (a.g = new Map(), a.h = 0, a.i && Mc(a.i, function (b, c) {\n a.add(decodeURIComponent(b.replace(/\\+/g, \" \")), c);\n }));\n}\n\nk = Pc.prototype;\n\nk.add = function (a, b) {\n N(this);\n this.i = null;\n a = O(this, a);\n var c = this.g.get(a);\n c || this.g.set(a, c = []);\n c.push(b);\n this.h += 1;\n return this;\n};\n\nfunction $c(a, b) {\n N(a);\n b = O(a, b);\n a.g.has(b) && (a.i = null, a.h -= a.g.get(b).length, a.g.delete(b));\n}\n\nfunction ad(a, b) {\n N(a);\n b = O(a, b);\n return a.g.has(b);\n}\n\nk.forEach = function (a, b) {\n N(this);\n this.g.forEach(function (c, d) {\n c.forEach(function (e) {\n a.call(b, e, d, this);\n }, this);\n }, this);\n};\n\nk.ta = function () {\n N(this);\n var a = Array.from(this.g.values()),\n b = Array.from(this.g.keys()),\n c = [];\n\n for (var d = 0; d < b.length; d++) {\n var e = a[d];\n\n for (var f = 0; f < e.length; f++) {\n c.push(b[d]);\n }\n }\n\n return c;\n};\n\nk.Z = function (a) {\n N(this);\n var b = [];\n if (\"string\" === typeof a) ad(this, a) && (b = b.concat(this.g.get(O(this, a))));else {\n a = Array.from(this.g.values());\n\n for (var c = 0; c < a.length; c++) {\n b = b.concat(a[c]);\n }\n }\n return b;\n};\n\nk.set = function (a, b) {\n N(this);\n this.i = null;\n a = O(this, a);\n ad(this, a) && (this.h -= this.g.get(a).length);\n this.g.set(a, [b]);\n this.h += 1;\n return this;\n};\n\nk.get = function (a, b) {\n if (!a) return b;\n a = this.Z(a);\n return 0 < a.length ? String(a[0]) : b;\n};\n\nfunction kc(a, b, c) {\n $c(a, b);\n 0 < c.length && (a.i = null, a.g.set(O(a, b), ma(c)), a.h += c.length);\n}\n\nk.toString = function () {\n if (this.i) return this.i;\n if (!this.g) return \"\";\n var a = [],\n b = Array.from(this.g.keys());\n\n for (var c = 0; c < b.length; c++) {\n var d = b[c];\n var f = encodeURIComponent(String(d)),\n h = this.Z(d);\n\n for (d = 0; d < h.length; d++) {\n var e = f;\n \"\" !== h[d] && (e += \"=\" + encodeURIComponent(String(h[d])));\n a.push(e);\n }\n }\n\n return this.i = a.join(\"&\");\n};\n\nfunction O(a, b) {\n b = String(b);\n a.j && (b = b.toLowerCase());\n return b;\n}\n\nfunction Xc(a, b) {\n b && !a.j && (N(a), a.i = null, a.g.forEach(function (c, d) {\n var e = d.toLowerCase();\n d != e && ($c(this, d), kc(this, e, c));\n }, a));\n a.j = b;\n}\n\nvar bd = /*#__PURE__*/_createClass(function bd(a, b) {\n _classCallCheck(this, bd);\n\n this.g = a;\n this.map = b;\n});\n\nfunction cd(a) {\n this.l = a || dd;\n l.PerformanceNavigationTiming ? (a = l.performance.getEntriesByType(\"navigation\"), a = 0 < a.length && (\"hq\" == a[0].nextHopProtocol || \"h2\" == a[0].nextHopProtocol)) : a = !!(l.g && l.g.Ka && l.g.Ka() && l.g.Ka().dc);\n this.j = a ? this.l : 1;\n this.g = null;\n 1 < this.j && (this.g = new Set());\n this.h = null;\n this.i = [];\n}\n\nvar dd = 10;\n\nfunction ed(a) {\n return a.h ? !0 : a.g ? a.g.size >= a.j : !1;\n}\n\nfunction Bc(a) {\n return a.h ? 1 : a.g ? a.g.size : 0;\n}\n\nfunction xc(a, b) {\n return a.h ? a.h == b : a.g ? a.g.has(b) : !1;\n}\n\nfunction Cc(a, b) {\n a.g ? a.g.add(b) : a.h = b;\n}\n\nfunction Ec(a, b) {\n a.h && a.h == b ? a.h = null : a.g && a.g.has(b) && a.g.delete(b);\n}\n\ncd.prototype.cancel = function () {\n this.i = fd(this);\n if (this.h) this.h.cancel(), this.h = null;else if (this.g && 0 !== this.g.size) {\n var _iterator = _createForOfIteratorHelper(this.g.values()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var a = _step.value;\n a.cancel();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.g.clear();\n }\n};\n\nfunction fd(a) {\n if (null != a.h) return a.i.concat(a.h.F);\n\n if (null != a.g && 0 !== a.g.size) {\n var b = a.i;\n\n var _iterator2 = _createForOfIteratorHelper(a.g.values()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var c = _step2.value;\n b = b.concat(c.F);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return b;\n }\n\n return ma(a.i);\n}\n\nvar gd = /*#__PURE__*/function () {\n function gd() {\n _classCallCheck(this, gd);\n }\n\n _createClass(gd, [{\n key: \"stringify\",\n value: function stringify(a) {\n return l.JSON.stringify(a, void 0);\n }\n }, {\n key: \"parse\",\n value: function parse(a) {\n return l.JSON.parse(a, void 0);\n }\n }]);\n\n return gd;\n}();\n\nfunction hd() {\n this.g = new gd();\n}\n\nfunction id(a, b, c) {\n var d = c || \"\";\n\n try {\n Kc(a, function (e, f) {\n var h = e;\n p(e) && (h = jb(e));\n b.push(d + f + \"=\" + encodeURIComponent(h));\n });\n } catch (e) {\n throw b.push(d + \"type=\" + encodeURIComponent(\"_badmap\")), e;\n }\n}\n\nfunction jd(a, b) {\n var c = new Gb();\n\n if (l.Image) {\n var d = new Image();\n d.onload = ha(kd, c, d, \"TestLoadImage: loaded\", !0, b);\n d.onerror = ha(kd, c, d, \"TestLoadImage: error\", !1, b);\n d.onabort = ha(kd, c, d, \"TestLoadImage: abort\", !1, b);\n d.ontimeout = ha(kd, c, d, \"TestLoadImage: timeout\", !1, b);\n l.setTimeout(function () {\n if (d.ontimeout) d.ontimeout();\n }, 1E4);\n d.src = a;\n } else b(!1);\n}\n\nfunction kd(a, b, c, d, e) {\n try {\n b.onload = null, b.onerror = null, b.onabort = null, b.ontimeout = null, e(d);\n } catch (f) {}\n}\n\nfunction ld(a) {\n this.l = a.ec || null;\n this.j = a.ob || !1;\n}\n\nr(ld, Ub);\n\nld.prototype.g = function () {\n return new md(this.l, this.j);\n};\n\nld.prototype.i = function (a) {\n return function () {\n return a;\n };\n}({});\n\nfunction md(a, b) {\n B.call(this);\n this.F = a;\n this.u = b;\n this.m = void 0;\n this.readyState = nd;\n this.status = 0;\n this.responseType = this.responseText = this.response = this.statusText = \"\";\n this.onreadystatechange = null;\n this.v = new Headers();\n this.h = null;\n this.C = \"GET\";\n this.B = \"\";\n this.g = !1;\n this.A = this.j = this.l = null;\n}\n\nr(md, B);\nvar nd = 0;\nk = md.prototype;\n\nk.open = function (a, b) {\n if (this.readyState != nd) throw this.abort(), Error(\"Error reopening a connection\");\n this.C = a;\n this.B = b;\n this.readyState = 1;\n od(this);\n};\n\nk.send = function (a) {\n if (1 != this.readyState) throw this.abort(), Error(\"need to call open() first. \");\n this.g = !0;\n var b = {\n headers: this.v,\n method: this.C,\n credentials: this.m,\n cache: void 0\n };\n a && (b.body = a);\n (this.F || l).fetch(new Request(this.B, b)).then(this.$a.bind(this), this.ka.bind(this));\n};\n\nk.abort = function () {\n this.response = this.responseText = \"\";\n this.v = new Headers();\n this.status = 0;\n this.j && this.j.cancel(\"Request was aborted.\").catch(function () {});\n 1 <= this.readyState && this.g && 4 != this.readyState && (this.g = !1, pd(this));\n this.readyState = nd;\n};\n\nk.$a = function (a) {\n if (this.g && (this.l = a, this.h || (this.status = this.l.status, this.statusText = this.l.statusText, this.h = a.headers, this.readyState = 2, od(this)), this.g && (this.readyState = 3, od(this), this.g))) if (\"arraybuffer\" === this.responseType) a.arrayBuffer().then(this.Ya.bind(this), this.ka.bind(this));else if (\"undefined\" !== typeof l.ReadableStream && \"body\" in a) {\n this.j = a.body.getReader();\n\n if (this.u) {\n if (this.responseType) throw Error('responseType must be empty for \"streamBinaryChunks\" mode responses.');\n this.response = [];\n } else this.response = this.responseText = \"\", this.A = new TextDecoder();\n\n qd(this);\n } else a.text().then(this.Za.bind(this), this.ka.bind(this));\n};\n\nfunction qd(a) {\n a.j.read().then(a.Xa.bind(a)).catch(a.ka.bind(a));\n}\n\nk.Xa = function (a) {\n if (this.g) {\n if (this.u && a.value) this.response.push(a.value);else if (!this.u) {\n var b = a.value ? a.value : new Uint8Array(0);\n if (b = this.A.decode(b, {\n stream: !a.done\n })) this.response = this.responseText += b;\n }\n a.done ? pd(this) : od(this);\n 3 == this.readyState && qd(this);\n }\n};\n\nk.Za = function (a) {\n this.g && (this.response = this.responseText = a, pd(this));\n};\n\nk.Ya = function (a) {\n this.g && (this.response = a, pd(this));\n};\n\nk.ka = function () {\n this.g && pd(this);\n};\n\nfunction pd(a) {\n a.readyState = 4;\n a.l = null;\n a.j = null;\n a.A = null;\n od(a);\n}\n\nk.setRequestHeader = function (a, b) {\n this.v.append(a, b);\n};\n\nk.getResponseHeader = function (a) {\n return this.h ? this.h.get(a.toLowerCase()) || \"\" : \"\";\n};\n\nk.getAllResponseHeaders = function () {\n if (!this.h) return \"\";\n var a = [],\n b = this.h.entries();\n\n for (var c = b.next(); !c.done;) {\n c = c.value, a.push(c[0] + \": \" + c[1]), c = b.next();\n }\n\n return a.join(\"\\r\\n\");\n};\n\nfunction od(a) {\n a.onreadystatechange && a.onreadystatechange.call(a);\n}\n\nObject.defineProperty(md.prototype, \"withCredentials\", {\n get: function get() {\n return \"include\" === this.m;\n },\n set: function set(a) {\n this.m = a ? \"include\" : \"same-origin\";\n }\n});\nvar rd = l.JSON.parse;\n\nfunction P(a) {\n B.call(this);\n this.headers = new Map();\n this.u = a || null;\n this.h = !1;\n this.C = this.g = null;\n this.I = \"\";\n this.m = 0;\n this.j = \"\";\n this.l = this.G = this.v = this.F = !1;\n this.B = 0;\n this.A = null;\n this.K = sd;\n this.L = this.M = !1;\n}\n\nr(P, B);\nvar sd = \"\",\n td = /^https?$/i,\n ud = [\"POST\", \"PUT\"];\nk = P.prototype;\n\nk.Oa = function (a) {\n this.M = a;\n};\n\nk.ha = function (a, b, c, d) {\n if (this.g) throw Error(\"[goog.net.XhrIo] Object is active with another request=\" + this.I + \"; newUri=\" + a);\n b = b ? b.toUpperCase() : \"GET\";\n this.I = a;\n this.j = \"\";\n this.m = 0;\n this.F = !1;\n this.h = !0;\n this.g = this.u ? this.u.g() : $b.g();\n this.C = this.u ? Vb(this.u) : Vb($b);\n this.g.onreadystatechange = q(this.La, this);\n\n try {\n this.G = !0, this.g.open(b, String(a), !0), this.G = !1;\n } catch (f) {\n vd(this, f);\n return;\n }\n\n a = c || \"\";\n c = new Map(this.headers);\n if (d) if (Object.getPrototypeOf(d) === Object.prototype) for (var e in d) {\n c.set(e, d[e]);\n } else if (\"function\" === typeof d.keys && \"function\" === typeof d.get) {\n var _iterator3 = _createForOfIteratorHelper(d.keys()),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var f = _step3.value;\n c.set(f, d.get(f));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n } else throw Error(\"Unknown input type for opt_headers: \" + String(d));\n d = Array.from(c.keys()).find(function (f) {\n return \"content-type\" == f.toLowerCase();\n });\n e = l.FormData && a instanceof l.FormData;\n !(0 <= ka(ud, b)) || d || e || c.set(\"Content-Type\", \"application/x-www-form-urlencoded;charset=utf-8\");\n\n var _iterator4 = _createForOfIteratorHelper(c),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _step4$value = _slicedToArray(_step4.value, 2),\n _f = _step4$value[0],\n h = _step4$value[1];\n\n this.g.setRequestHeader(_f, h);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.K && (this.g.responseType = this.K);\n \"withCredentials\" in this.g && this.g.withCredentials !== this.M && (this.g.withCredentials = this.M);\n\n try {\n wd(this), 0 < this.B && ((this.L = xd(this.g)) ? (this.g.timeout = this.B, this.g.ontimeout = q(this.ua, this)) : this.A = yb(this.ua, this.B, this)), this.v = !0, this.g.send(a), this.v = !1;\n } catch (f) {\n vd(this, f);\n }\n};\n\nfunction xd(a) {\n return z && \"number\" === typeof a.timeout && void 0 !== a.ontimeout;\n}\n\nk.ua = function () {\n \"undefined\" != typeof goog && this.g && (this.j = \"Timed out after \" + this.B + \"ms, aborting\", this.m = 8, C(this, \"timeout\"), this.abort(8));\n};\n\nfunction vd(a, b) {\n a.h = !1;\n a.g && (a.l = !0, a.g.abort(), a.l = !1);\n a.j = b;\n a.m = 5;\n yd(a);\n zd(a);\n}\n\nfunction yd(a) {\n a.F || (a.F = !0, C(a, \"complete\"), C(a, \"error\"));\n}\n\nk.abort = function (a) {\n this.g && this.h && (this.h = !1, this.l = !0, this.g.abort(), this.l = !1, this.m = a || 7, C(this, \"complete\"), C(this, \"abort\"), zd(this));\n};\n\nk.N = function () {\n this.g && (this.h && (this.h = !1, this.l = !0, this.g.abort(), this.l = !1), zd(this, !0));\n P.$.N.call(this);\n};\n\nk.La = function () {\n this.s || (this.G || this.v || this.l ? Ad(this) : this.kb());\n};\n\nk.kb = function () {\n Ad(this);\n};\n\nfunction Ad(a) {\n if (a.h && \"undefined\" != typeof goog && (!a.C[1] || 4 != H(a) || 2 != a.da())) if (a.v && 4 == H(a)) yb(a.La, 0, a);else if (C(a, \"readystatechange\"), 4 == H(a)) {\n a.h = !1;\n\n try {\n var h = a.da();\n\n a: switch (h) {\n case 200:\n case 201:\n case 202:\n case 204:\n case 206:\n case 304:\n case 1223:\n var b = !0;\n break a;\n\n default:\n b = !1;\n }\n\n var c;\n\n if (!(c = b)) {\n var d;\n\n if (d = 0 === h) {\n var e = String(a.I).match(Lc)[1] || null;\n !e && l.self && l.self.location && (e = l.self.location.protocol.slice(0, -1));\n d = !td.test(e ? e.toLowerCase() : \"\");\n }\n\n c = d;\n }\n\n if (c) C(a, \"complete\"), C(a, \"success\");else {\n a.m = 6;\n\n try {\n var f = 2 < H(a) ? a.g.statusText : \"\";\n } catch (n) {\n f = \"\";\n }\n\n a.j = f + \" [\" + a.da() + \"]\";\n yd(a);\n }\n } finally {\n zd(a);\n }\n }\n}\n\nfunction zd(a, b) {\n if (a.g) {\n wd(a);\n var c = a.g,\n d = a.C[0] ? function () {} : null;\n a.g = null;\n a.C = null;\n b || C(a, \"ready\");\n\n try {\n c.onreadystatechange = d;\n } catch (e) {}\n }\n}\n\nfunction wd(a) {\n a.g && a.L && (a.g.ontimeout = null);\n a.A && (l.clearTimeout(a.A), a.A = null);\n}\n\nk.isActive = function () {\n return !!this.g;\n};\n\nfunction H(a) {\n return a.g ? a.g.readyState : 0;\n}\n\nk.da = function () {\n try {\n return 2 < H(this) ? this.g.status : -1;\n } catch (a) {\n return -1;\n }\n};\n\nk.ja = function () {\n try {\n return this.g ? this.g.responseText : \"\";\n } catch (a) {\n return \"\";\n }\n};\n\nk.Wa = function (a) {\n if (this.g) {\n var b = this.g.responseText;\n a && 0 == b.indexOf(a) && (b = b.substring(a.length));\n return rd(b);\n }\n};\n\nfunction mc(a) {\n try {\n if (!a.g) return null;\n if (\"response\" in a.g) return a.g.response;\n\n switch (a.K) {\n case sd:\n case \"text\":\n return a.g.responseText;\n\n case \"arraybuffer\":\n if (\"mozResponseArrayBuffer\" in a.g) return a.g.mozResponseArrayBuffer;\n }\n\n return null;\n } catch (b) {\n return null;\n }\n}\n\nfunction tc(a) {\n var b = {};\n a = (a.g && 2 <= H(a) ? a.g.getAllResponseHeaders() || \"\" : \"\").split(\"\\r\\n\");\n\n for (var d = 0; d < a.length; d++) {\n if (x(a[d])) continue;\n var c = qb(a[d]);\n var e = c[0];\n c = c[1];\n if (\"string\" !== typeof c) continue;\n c = c.trim();\n var f = b[e] || [];\n b[e] = f;\n f.push(c);\n }\n\n Oa(b, function (d) {\n return d.join(\", \");\n });\n}\n\nk.Ia = function () {\n return this.m;\n};\n\nk.Sa = function () {\n return \"string\" === typeof this.j ? this.j : String(this.j);\n};\n\nfunction Bd(a) {\n var b = \"\";\n Na(a, function (c, d) {\n b += d;\n b += \":\";\n b += c;\n b += \"\\r\\n\";\n });\n return b;\n}\n\nfunction Cd(a, b, c) {\n a: {\n for (d in c) {\n var d = !1;\n break a;\n }\n\n d = !0;\n }\n\n d || (c = Bd(c), \"string\" === typeof a ? null != c && encodeURIComponent(String(c)) : K(a, b, c));\n}\n\nfunction Dd(a, b, c) {\n return c && c.internalChannelParams ? c.internalChannelParams[a] || b : b;\n}\n\nfunction Ed(a) {\n this.Ga = 0;\n this.j = [];\n this.l = new Gb();\n this.pa = this.wa = this.I = this.Y = this.g = this.Da = this.F = this.na = this.o = this.U = this.s = null;\n this.fb = this.W = 0;\n this.cb = Dd(\"failFast\", !1, a);\n this.G = this.v = this.u = this.m = this.h = null;\n this.aa = !0;\n this.Fa = this.V = -1;\n this.ba = this.A = this.C = 0;\n this.ab = Dd(\"baseRetryDelayMs\", 5E3, a);\n this.hb = Dd(\"retryDelaySeedMs\", 1E4, a);\n this.eb = Dd(\"forwardChannelMaxRetries\", 2, a);\n this.xa = Dd(\"forwardChannelRequestTimeoutMs\", 2E4, a);\n this.va = a && a.xmlHttpFactory || void 0;\n this.Ha = a && a.useFetchStreams || !1;\n this.L = void 0;\n this.J = a && a.supportsCrossDomainXhr || !1;\n this.K = \"\";\n this.i = new cd(a && a.concurrentRequestLimit);\n this.Ja = new hd();\n this.P = a && a.fastHandshake || !1;\n this.O = a && a.encodeInitMessageHeaders || !1;\n this.P && this.O && (this.O = !1);\n this.bb = a && a.bc || !1;\n a && a.Ea && this.l.Ea();\n a && a.forceLongPolling && (this.aa = !1);\n this.ca = !this.P && this.aa && a && a.detectBufferingProxy || !1;\n this.qa = void 0;\n a && a.longPollingTimeout && 0 < a.longPollingTimeout && (this.qa = a.longPollingTimeout);\n this.oa = void 0;\n this.S = 0;\n this.M = !1;\n this.ma = this.B = null;\n}\n\nk = Ed.prototype;\nk.ra = 8;\nk.H = 1;\n\nfunction Hc(a) {\n Fd(a);\n\n if (3 == a.H) {\n var b = a.W++,\n c = G(a.I);\n K(c, \"SID\", a.K);\n K(c, \"RID\", b);\n K(c, \"TYPE\", \"terminate\");\n Gd(a, c);\n b = new bc(a, a.l, b);\n b.L = 2;\n b.A = hc(G(c));\n c = !1;\n if (l.navigator && l.navigator.sendBeacon) try {\n c = l.navigator.sendBeacon(b.A.toString(), \"\");\n } catch (d) {}\n !c && l.Image && (new Image().src = b.A, c = !0);\n c || (b.g = lc(b.l, null), b.g.ha(b.A));\n b.G = Date.now();\n jc(b);\n }\n\n Hd(a);\n}\n\nfunction zc(a) {\n a.g && (vc(a), a.g.cancel(), a.g = null);\n}\n\nfunction Fd(a) {\n zc(a);\n a.u && (l.clearTimeout(a.u), a.u = null);\n yc(a);\n a.i.cancel();\n a.m && (\"number\" === typeof a.m && l.clearTimeout(a.m), a.m = null);\n}\n\nfunction Gc(a) {\n if (!ed(a.i) && !a.m) {\n a.m = !0;\n var b = a.Na;\n sb || vb();\n tb || (sb(), tb = !0);\n mb.add(b, a);\n a.C = 0;\n }\n}\n\nfunction Id(a, b) {\n if (Bc(a.i) >= a.i.j - (a.m ? 1 : 0)) return !1;\n if (a.m) return a.j = b.F.concat(a.j), !0;\n if (1 == a.H || 2 == a.H || a.C >= (a.cb ? 0 : a.eb)) return !1;\n a.m = Rb(q(a.Na, a, b), Jd(a, a.C));\n a.C++;\n return !0;\n}\n\nk.Na = function (a) {\n if (this.m) if (this.m = null, 1 == this.H) {\n if (!a) {\n this.W = Math.floor(1E5 * Math.random());\n a = this.W++;\n var e = new bc(this, this.l, a);\n var f = this.s;\n this.U && (f ? (f = Pa(f), Ra(f, this.U)) : f = this.U);\n null !== this.o || this.O || (e.I = f, f = null);\n if (this.P) a: {\n var b = 0;\n\n for (var c = 0; c < this.j.length; c++) {\n b: {\n var d = this.j[c];\n\n if (\"__data__\" in d.map && (d = d.map.__data__, \"string\" === typeof d)) {\n d = d.length;\n break b;\n }\n\n d = void 0;\n }\n\n if (void 0 === d) break;\n b += d;\n\n if (4096 < b) {\n b = c;\n break a;\n }\n\n if (4096 === b || c === this.j.length - 1) {\n b = c + 1;\n break a;\n }\n }\n\n b = 1E3;\n } else b = 1E3;\n b = Kd(this, e, b);\n c = G(this.I);\n K(c, \"RID\", a);\n K(c, \"CVER\", 22);\n this.F && K(c, \"X-HTTP-Session-Id\", this.F);\n Gd(this, c);\n f && (this.O ? b = \"headers=\" + encodeURIComponent(String(Bd(f))) + \"&\" + b : this.o && Cd(c, this.o, f));\n Cc(this.i, e);\n this.bb && K(c, \"TYPE\", \"init\");\n this.P ? (K(c, \"$req\", b), K(c, \"SID\", \"null\"), e.aa = !0, gc(e, c, null)) : gc(e, c, b);\n this.H = 2;\n }\n } else 3 == this.H && (a ? Ld(this, a) : 0 == this.j.length || ed(this.i) || Ld(this));\n};\n\nfunction Ld(a, b) {\n var c;\n b ? c = b.m : c = a.W++;\n var d = G(a.I);\n K(d, \"SID\", a.K);\n K(d, \"RID\", c);\n K(d, \"AID\", a.V);\n Gd(a, d);\n a.o && a.s && Cd(d, a.o, a.s);\n c = new bc(a, a.l, c, a.C + 1);\n null === a.o && (c.I = a.s);\n b && (a.j = b.F.concat(a.j));\n b = Kd(a, c, 1E3);\n c.setTimeout(Math.round(.5 * a.xa) + Math.round(.5 * a.xa * Math.random()));\n Cc(a.i, c);\n gc(c, d, b);\n}\n\nfunction Gd(a, b) {\n a.na && Na(a.na, function (c, d) {\n K(b, d, c);\n });\n a.h && Kc({}, function (c, d) {\n K(b, d, c);\n });\n}\n\nfunction Kd(a, b, c) {\n c = Math.min(a.j.length, c);\n var d = a.h ? q(a.h.Va, a.h, a) : null;\n\n a: {\n var e = a.j;\n var f = -1;\n\n for (;;) {\n var h = [\"count=\" + c];\n -1 == f ? 0 < c ? (f = e[0].g, h.push(\"ofs=\" + f)) : f = 0 : h.push(\"ofs=\" + f);\n var n = !0;\n\n for (var t = 0; t < c; t++) {\n var m = e[t].g;\n var u = e[t].map;\n m -= f;\n if (0 > m) f = Math.max(0, e[t].g - 100), n = !1;else try {\n id(u, h, \"req\" + m + \"_\");\n } catch (L) {\n d && d(u);\n }\n }\n\n if (n) {\n d = h.join(\"&\");\n break a;\n }\n }\n }\n\n a = a.j.splice(0, c);\n b.F = a;\n return d;\n}\n\nfunction Fc(a) {\n if (!a.g && !a.u) {\n a.ba = 1;\n var b = a.Ma;\n sb || vb();\n tb || (sb(), tb = !0);\n mb.add(b, a);\n a.A = 0;\n }\n}\n\nfunction Ac(a) {\n if (a.g || a.u || 3 <= a.A) return !1;\n a.ba++;\n a.u = Rb(q(a.Ma, a), Jd(a, a.A));\n a.A++;\n return !0;\n}\n\nk.Ma = function () {\n this.u = null;\n Md(this);\n\n if (this.ca && !(this.M || null == this.g || 0 >= this.S)) {\n var a = 2 * this.S;\n this.l.info(\"BP detection timer enabled: \" + a);\n this.B = Rb(q(this.jb, this), a);\n }\n};\n\nk.jb = function () {\n this.B && (this.B = null, this.l.info(\"BP detection timeout reached.\"), this.l.info(\"Buffering proxy detected and switch to long-polling!\"), this.G = !1, this.M = !0, F(10), zc(this), Md(this));\n};\n\nfunction vc(a) {\n null != a.B && (l.clearTimeout(a.B), a.B = null);\n}\n\nfunction Md(a) {\n a.g = new bc(a, a.l, \"rpc\", a.ba);\n null === a.o && (a.g.I = a.s);\n a.g.O = 0;\n var b = G(a.wa);\n K(b, \"RID\", \"rpc\");\n K(b, \"SID\", a.K);\n K(b, \"AID\", a.V);\n K(b, \"CI\", a.G ? \"0\" : \"1\");\n !a.G && a.qa && K(b, \"TO\", a.qa);\n K(b, \"TYPE\", \"xmlhttp\");\n Gd(a, b);\n a.o && a.s && Cd(b, a.o, a.s);\n a.L && a.g.setTimeout(a.L);\n var c = a.g;\n a = a.pa;\n c.L = 1;\n c.A = hc(G(b));\n c.u = null;\n c.S = !0;\n ic(c, a);\n}\n\nk.ib = function () {\n null != this.v && (this.v = null, zc(this), Ac(this), F(19));\n};\n\nfunction yc(a) {\n null != a.v && (l.clearTimeout(a.v), a.v = null);\n}\n\nfunction sc(a, b) {\n var c = null;\n\n if (a.g == b) {\n yc(a);\n vc(a);\n a.g = null;\n var d = 2;\n } else if (xc(a.i, b)) c = b.F, Ec(a.i, b), d = 1;else return;\n\n if (0 != a.H) if (b.i) {\n if (1 == d) {\n c = b.u ? b.u.length : 0;\n b = Date.now() - b.G;\n var e = a.C;\n d = Mb();\n C(d, new Qb(d, c));\n Gc(a);\n } else Fc(a);\n } else if (e = b.s, 3 == e || 0 == e && 0 < b.ca || !(1 == d && Id(a, b) || 2 == d && Ac(a))) switch (c && 0 < c.length && (b = a.i, b.i = b.i.concat(c)), e) {\n case 1:\n J(a, 5);\n break;\n\n case 4:\n J(a, 10);\n break;\n\n case 3:\n J(a, 6);\n break;\n\n default:\n J(a, 2);\n }\n}\n\nfunction Jd(a, b) {\n var c = a.ab + Math.floor(Math.random() * a.hb);\n a.isActive() || (c *= 2);\n return c * b;\n}\n\nfunction J(a, b) {\n a.l.info(\"Error code \" + b);\n\n if (2 == b) {\n var c = null;\n a.h && (c = null);\n var d = q(a.pb, a);\n c || (c = new M(\"//www.google.com/images/cleardot.gif\"), l.location && \"http\" == l.location.protocol || Nc(c, \"https\"), hc(c));\n jd(c.toString(), d);\n } else F(2);\n\n a.H = 0;\n a.h && a.h.za(b);\n Hd(a);\n Fd(a);\n}\n\nk.pb = function (a) {\n a ? (this.l.info(\"Successfully pinged google.com\"), F(2)) : (this.l.info(\"Failed to ping google.com\"), F(1));\n};\n\nfunction Hd(a) {\n a.H = 0;\n a.ma = [];\n\n if (a.h) {\n var b = fd(a.i);\n if (0 != b.length || 0 != a.j.length) na(a.ma, b), na(a.ma, a.j), a.i.i.length = 0, ma(a.j), a.j.length = 0;\n a.h.ya();\n }\n}\n\nfunction Dc(a, b, c) {\n var d = c instanceof M ? G(c) : new M(c);\n if (\"\" != d.g) b && (d.g = b + \".\" + d.g), Oc(d, d.m);else {\n var e = l.location;\n d = e.protocol;\n b = b ? b + \".\" + e.hostname : e.hostname;\n e = +e.port;\n var f = new M(null);\n d && Nc(f, d);\n b && (f.g = b);\n e && Oc(f, e);\n c && (f.l = c);\n d = f;\n }\n c = a.F;\n b = a.Da;\n c && b && K(d, c, b);\n K(d, \"VER\", a.ra);\n Gd(a, d);\n return d;\n}\n\nfunction lc(a, b, c) {\n if (b && !a.J) throw Error(\"Can't create secondary domain capable XhrIo object.\");\n b = a.Ha && !a.va ? new P(new ld({\n ob: c\n })) : new P(a.va);\n b.Oa(a.J);\n return b;\n}\n\nk.isActive = function () {\n return !!this.h && this.h.isActive(this);\n};\n\nfunction Nd() {}\n\nk = Nd.prototype;\n\nk.Ba = function () {};\n\nk.Aa = function () {};\n\nk.za = function () {};\n\nk.ya = function () {};\n\nk.isActive = function () {\n return !0;\n};\n\nk.Va = function () {};\n\nfunction Od() {\n if (z && !(10 <= Number(Fa))) throw Error(\"Environmental error: no available transport.\");\n}\n\nOd.prototype.g = function (a, b) {\n return new Q(a, b);\n};\n\nfunction Q(a, b) {\n B.call(this);\n this.g = new Ed(b);\n this.l = a;\n this.h = b && b.messageUrlParams || null;\n a = b && b.messageHeaders || null;\n b && b.clientProtocolHeaderRequired && (a ? a[\"X-Client-Protocol\"] = \"webchannel\" : a = {\n \"X-Client-Protocol\": \"webchannel\"\n });\n this.g.s = a;\n a = b && b.initMessageHeaders || null;\n b && b.messageContentType && (a ? a[\"X-WebChannel-Content-Type\"] = b.messageContentType : a = {\n \"X-WebChannel-Content-Type\": b.messageContentType\n });\n b && b.Ca && (a ? a[\"X-WebChannel-Client-Profile\"] = b.Ca : a = {\n \"X-WebChannel-Client-Profile\": b.Ca\n });\n this.g.U = a;\n (a = b && b.cc) && !x(a) && (this.g.o = a);\n this.A = b && b.supportsCrossDomainXhr || !1;\n this.v = b && b.sendRawJson || !1;\n (b = b && b.httpSessionIdParam) && !x(b) && (this.g.F = b, a = this.h, null !== a && b in a && (a = this.h, b in a && delete a[b]));\n this.j = new R(this);\n}\n\nr(Q, B);\n\nQ.prototype.m = function () {\n this.g.h = this.j;\n this.A && (this.g.J = !0);\n var a = this.g,\n b = this.l,\n c = this.h || void 0;\n F(0);\n a.Y = b;\n a.na = c || {};\n a.G = a.aa;\n a.I = Dc(a, null, a.Y);\n Gc(a);\n};\n\nQ.prototype.close = function () {\n Hc(this.g);\n};\n\nQ.prototype.u = function (a) {\n var b = this.g;\n\n if (\"string\" === typeof a) {\n var c = {};\n c.__data__ = a;\n a = c;\n } else this.v && (c = {}, c.__data__ = jb(a), a = c);\n\n b.j.push(new bd(b.fb++, a));\n 3 == b.H && Gc(b);\n};\n\nQ.prototype.N = function () {\n this.g.h = null;\n delete this.j;\n Hc(this.g);\n delete this.g;\n Q.$.N.call(this);\n};\n\nfunction Pd(a) {\n Yb.call(this);\n a.__headers__ && (this.headers = a.__headers__, this.statusCode = a.__status__, delete a.__headers__, delete a.__status__);\n var b = a.__sm__;\n\n if (b) {\n a: {\n for (var c in b) {\n a = c;\n break a;\n }\n\n a = void 0;\n }\n\n if (this.i = a) a = this.i, b = null !== b && a in b ? b[a] : void 0;\n this.data = b;\n } else this.data = a;\n}\n\nr(Pd, Yb);\n\nfunction Qd() {\n Zb.call(this);\n this.status = 1;\n}\n\nr(Qd, Zb);\n\nfunction R(a) {\n this.g = a;\n}\n\nr(R, Nd);\n\nR.prototype.Ba = function () {\n C(this.g, \"a\");\n};\n\nR.prototype.Aa = function (a) {\n C(this.g, new Pd(a));\n};\n\nR.prototype.za = function (a) {\n C(this.g, new Qd());\n};\n\nR.prototype.ya = function () {\n C(this.g, \"b\");\n};\n\nfunction Rd() {\n this.blockSize = -1;\n}\n\nfunction S() {\n this.blockSize = -1;\n this.blockSize = 64;\n this.g = Array(4);\n this.m = Array(this.blockSize);\n this.i = this.h = 0;\n this.reset();\n}\n\nr(S, Rd);\n\nS.prototype.reset = function () {\n this.g[0] = 1732584193;\n this.g[1] = 4023233417;\n this.g[2] = 2562383102;\n this.g[3] = 271733878;\n this.i = this.h = 0;\n};\n\nfunction Sd(a, b, c) {\n c || (c = 0);\n var d = Array(16);\n if (\"string\" === typeof b) for (var e = 0; 16 > e; ++e) {\n d[e] = b.charCodeAt(c++) | b.charCodeAt(c++) << 8 | b.charCodeAt(c++) << 16 | b.charCodeAt(c++) << 24;\n } else for (e = 0; 16 > e; ++e) {\n d[e] = b[c++] | b[c++] << 8 | b[c++] << 16 | b[c++] << 24;\n }\n b = a.g[0];\n c = a.g[1];\n e = a.g[2];\n var f = a.g[3];\n var h = b + (f ^ c & (e ^ f)) + d[0] + 3614090360 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[1] + 3905402710 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[2] + 606105819 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[3] + 3250441966 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (f ^ c & (e ^ f)) + d[4] + 4118548399 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[5] + 1200080426 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[6] + 2821735955 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[7] + 4249261313 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (f ^ c & (e ^ f)) + d[8] + 1770035416 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[9] + 2336552879 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[10] + 4294925233 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[11] + 2304563134 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (f ^ c & (e ^ f)) + d[12] + 1804603682 & 4294967295;\n b = c + (h << 7 & 4294967295 | h >>> 25);\n h = f + (e ^ b & (c ^ e)) + d[13] + 4254626195 & 4294967295;\n f = b + (h << 12 & 4294967295 | h >>> 20);\n h = e + (c ^ f & (b ^ c)) + d[14] + 2792965006 & 4294967295;\n e = f + (h << 17 & 4294967295 | h >>> 15);\n h = c + (b ^ e & (f ^ b)) + d[15] + 1236535329 & 4294967295;\n c = e + (h << 22 & 4294967295 | h >>> 10);\n h = b + (e ^ f & (c ^ e)) + d[1] + 4129170786 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[6] + 3225465664 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[11] + 643717713 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[0] + 3921069994 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (e ^ f & (c ^ e)) + d[5] + 3593408605 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[10] + 38016083 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[15] + 3634488961 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[4] + 3889429448 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (e ^ f & (c ^ e)) + d[9] + 568446438 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[14] + 3275163606 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[3] + 4107603335 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[8] + 1163531501 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (e ^ f & (c ^ e)) + d[13] + 2850285829 & 4294967295;\n b = c + (h << 5 & 4294967295 | h >>> 27);\n h = f + (c ^ e & (b ^ c)) + d[2] + 4243563512 & 4294967295;\n f = b + (h << 9 & 4294967295 | h >>> 23);\n h = e + (b ^ c & (f ^ b)) + d[7] + 1735328473 & 4294967295;\n e = f + (h << 14 & 4294967295 | h >>> 18);\n h = c + (f ^ b & (e ^ f)) + d[12] + 2368359562 & 4294967295;\n c = e + (h << 20 & 4294967295 | h >>> 12);\n h = b + (c ^ e ^ f) + d[5] + 4294588738 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[8] + 2272392833 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[11] + 1839030562 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[14] + 4259657740 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (c ^ e ^ f) + d[1] + 2763975236 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[4] + 1272893353 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[7] + 4139469664 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[10] + 3200236656 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (c ^ e ^ f) + d[13] + 681279174 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[0] + 3936430074 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[3] + 3572445317 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[6] + 76029189 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (c ^ e ^ f) + d[9] + 3654602809 & 4294967295;\n b = c + (h << 4 & 4294967295 | h >>> 28);\n h = f + (b ^ c ^ e) + d[12] + 3873151461 & 4294967295;\n f = b + (h << 11 & 4294967295 | h >>> 21);\n h = e + (f ^ b ^ c) + d[15] + 530742520 & 4294967295;\n e = f + (h << 16 & 4294967295 | h >>> 16);\n h = c + (e ^ f ^ b) + d[2] + 3299628645 & 4294967295;\n c = e + (h << 23 & 4294967295 | h >>> 9);\n h = b + (e ^ (c | ~f)) + d[0] + 4096336452 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[7] + 1126891415 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[14] + 2878612391 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[5] + 4237533241 & 4294967295;\n c = e + (h << 21 & 4294967295 | h >>> 11);\n h = b + (e ^ (c | ~f)) + d[12] + 1700485571 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[3] + 2399980690 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[10] + 4293915773 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[1] + 2240044497 & 4294967295;\n c = e + (h << 21 & 4294967295 | h >>> 11);\n h = b + (e ^ (c | ~f)) + d[8] + 1873313359 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[15] + 4264355552 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[6] + 2734768916 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[13] + 1309151649 & 4294967295;\n c = e + (h << 21 & 4294967295 | h >>> 11);\n h = b + (e ^ (c | ~f)) + d[4] + 4149444226 & 4294967295;\n b = c + (h << 6 & 4294967295 | h >>> 26);\n h = f + (c ^ (b | ~e)) + d[11] + 3174756917 & 4294967295;\n f = b + (h << 10 & 4294967295 | h >>> 22);\n h = e + (b ^ (f | ~c)) + d[2] + 718787259 & 4294967295;\n e = f + (h << 15 & 4294967295 | h >>> 17);\n h = c + (f ^ (e | ~b)) + d[9] + 3951481745 & 4294967295;\n a.g[0] = a.g[0] + b & 4294967295;\n a.g[1] = a.g[1] + (e + (h << 21 & 4294967295 | h >>> 11)) & 4294967295;\n a.g[2] = a.g[2] + e & 4294967295;\n a.g[3] = a.g[3] + f & 4294967295;\n}\n\nS.prototype.j = function (a, b) {\n void 0 === b && (b = a.length);\n\n for (var c = b - this.blockSize, d = this.m, e = this.h, f = 0; f < b;) {\n if (0 == e) for (; f <= c;) {\n Sd(this, a, f), f += this.blockSize;\n }\n if (\"string\" === typeof a) for (; f < b;) {\n if (d[e++] = a.charCodeAt(f++), e == this.blockSize) {\n Sd(this, d);\n e = 0;\n break;\n }\n } else for (; f < b;) {\n if (d[e++] = a[f++], e == this.blockSize) {\n Sd(this, d);\n e = 0;\n break;\n }\n }\n }\n\n this.h = e;\n this.i += b;\n};\n\nS.prototype.l = function () {\n var a = Array((56 > this.h ? this.blockSize : 2 * this.blockSize) - this.h);\n a[0] = 128;\n\n for (var b = 1; b < a.length - 8; ++b) {\n a[b] = 0;\n }\n\n var c = 8 * this.i;\n\n for (b = a.length - 8; b < a.length; ++b) {\n a[b] = c & 255, c /= 256;\n }\n\n this.j(a);\n a = Array(16);\n\n for (b = c = 0; 4 > b; ++b) {\n for (var d = 0; 32 > d; d += 8) {\n a[c++] = this.g[b] >>> d & 255;\n }\n }\n\n return a;\n};\n\nfunction T(a, b) {\n this.h = b;\n\n for (var c = [], d = !0, e = a.length - 1; 0 <= e; e--) {\n var f = a[e] | 0;\n d && f == b || (c[e] = f, d = !1);\n }\n\n this.g = c;\n}\n\nvar sa = {};\n\nfunction Td(a) {\n return -128 <= a && 128 > a ? ra(a, function (b) {\n return new T([b | 0], 0 > b ? -1 : 0);\n }) : new T([a | 0], 0 > a ? -1 : 0);\n}\n\nfunction U(a) {\n if (isNaN(a) || !isFinite(a)) return V;\n if (0 > a) return W(U(-a));\n\n for (var b = [], c = 1, d = 0; a >= c; d++) {\n b[d] = a / c | 0, c *= Ud;\n }\n\n return new T(b, 0);\n}\n\nfunction Vd(a, b) {\n if (0 == a.length) throw Error(\"number format error: empty string\");\n b = b || 10;\n if (2 > b || 36 < b) throw Error(\"radix out of range: \" + b);\n if (\"-\" == a.charAt(0)) return W(Vd(a.substring(1), b));\n if (0 <= a.indexOf(\"-\")) throw Error('number format error: interior \"-\" character');\n\n for (var c = U(Math.pow(b, 8)), d = V, e = 0; e < a.length; e += 8) {\n var f = Math.min(8, a.length - e),\n h = parseInt(a.substring(e, e + f), b);\n 8 > f ? (f = U(Math.pow(b, f)), d = d.R(f).add(U(h))) : (d = d.R(c), d = d.add(U(h)));\n }\n\n return d;\n}\n\nvar Ud = 4294967296,\n V = Td(0),\n Wd = Td(1),\n Xd = Td(16777216);\nk = T.prototype;\n\nk.ea = function () {\n if (X(this)) return -W(this).ea();\n\n for (var a = 0, b = 1, c = 0; c < this.g.length; c++) {\n var d = this.D(c);\n a += (0 <= d ? d : Ud + d) * b;\n b *= Ud;\n }\n\n return a;\n};\n\nk.toString = function (a) {\n a = a || 10;\n if (2 > a || 36 < a) throw Error(\"radix out of range: \" + a);\n if (Y(this)) return \"0\";\n if (X(this)) return \"-\" + W(this).toString(a);\n\n for (var b = U(Math.pow(a, 6)), c = this, d = \"\";;) {\n var e = Yd(c, b).g;\n c = Zd(c, e.R(b));\n var f = ((0 < c.g.length ? c.g[0] : c.h) >>> 0).toString(a);\n c = e;\n if (Y(c)) return f + d;\n\n for (; 6 > f.length;) {\n f = \"0\" + f;\n }\n\n d = f + d;\n }\n};\n\nk.D = function (a) {\n return 0 > a ? 0 : a < this.g.length ? this.g[a] : this.h;\n};\n\nfunction Y(a) {\n if (0 != a.h) return !1;\n\n for (var b = 0; b < a.g.length; b++) {\n if (0 != a.g[b]) return !1;\n }\n\n return !0;\n}\n\nfunction X(a) {\n return -1 == a.h;\n}\n\nk.X = function (a) {\n a = Zd(this, a);\n return X(a) ? -1 : Y(a) ? 0 : 1;\n};\n\nfunction W(a) {\n for (var b = a.g.length, c = [], d = 0; d < b; d++) {\n c[d] = ~a.g[d];\n }\n\n return new T(c, ~a.h).add(Wd);\n}\n\nk.abs = function () {\n return X(this) ? W(this) : this;\n};\n\nk.add = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0, e = 0; e <= b; e++) {\n var f = d + (this.D(e) & 65535) + (a.D(e) & 65535),\n h = (f >>> 16) + (this.D(e) >>> 16) + (a.D(e) >>> 16);\n d = h >>> 16;\n f &= 65535;\n h &= 65535;\n c[e] = h << 16 | f;\n }\n\n return new T(c, c[c.length - 1] & -2147483648 ? -1 : 0);\n};\n\nfunction Zd(a, b) {\n return a.add(W(b));\n}\n\nk.R = function (a) {\n if (Y(this) || Y(a)) return V;\n if (X(this)) return X(a) ? W(this).R(W(a)) : W(W(this).R(a));\n if (X(a)) return W(this.R(W(a)));\n if (0 > this.X(Xd) && 0 > a.X(Xd)) return U(this.ea() * a.ea());\n\n for (var b = this.g.length + a.g.length, c = [], d = 0; d < 2 * b; d++) {\n c[d] = 0;\n }\n\n for (d = 0; d < this.g.length; d++) {\n for (var e = 0; e < a.g.length; e++) {\n var f = this.D(d) >>> 16,\n h = this.D(d) & 65535,\n n = a.D(e) >>> 16,\n t = a.D(e) & 65535;\n c[2 * d + 2 * e] += h * t;\n $d(c, 2 * d + 2 * e);\n c[2 * d + 2 * e + 1] += f * t;\n $d(c, 2 * d + 2 * e + 1);\n c[2 * d + 2 * e + 1] += h * n;\n $d(c, 2 * d + 2 * e + 1);\n c[2 * d + 2 * e + 2] += f * n;\n $d(c, 2 * d + 2 * e + 2);\n }\n }\n\n for (d = 0; d < b; d++) {\n c[d] = c[2 * d + 1] << 16 | c[2 * d];\n }\n\n for (d = b; d < 2 * b; d++) {\n c[d] = 0;\n }\n\n return new T(c, 0);\n};\n\nfunction $d(a, b) {\n for (; (a[b] & 65535) != a[b];) {\n a[b + 1] += a[b] >>> 16, a[b] &= 65535, b++;\n }\n}\n\nfunction ae(a, b) {\n this.g = a;\n this.h = b;\n}\n\nfunction Yd(a, b) {\n if (Y(b)) throw Error(\"division by zero\");\n if (Y(a)) return new ae(V, V);\n if (X(a)) return b = Yd(W(a), b), new ae(W(b.g), W(b.h));\n if (X(b)) return b = Yd(a, W(b)), new ae(W(b.g), b.h);\n\n if (30 < a.g.length) {\n if (X(a) || X(b)) throw Error(\"slowDivide_ only works with positive integers.\");\n\n for (var c = Wd, d = b; 0 >= d.X(a);) {\n c = be(c), d = be(d);\n }\n\n var e = Z(c, 1),\n f = Z(d, 1);\n d = Z(d, 2);\n\n for (c = Z(c, 2); !Y(d);) {\n var h = f.add(d);\n 0 >= h.X(a) && (e = e.add(c), f = h);\n d = Z(d, 1);\n c = Z(c, 1);\n }\n\n b = Zd(a, e.R(b));\n return new ae(e, b);\n }\n\n for (e = V; 0 <= a.X(b);) {\n c = Math.max(1, Math.floor(a.ea() / b.ea()));\n d = Math.ceil(Math.log(c) / Math.LN2);\n d = 48 >= d ? 1 : Math.pow(2, d - 48);\n f = U(c);\n\n for (h = f.R(b); X(h) || 0 < h.X(a);) {\n c -= d, f = U(c), h = f.R(b);\n }\n\n Y(f) && (f = Wd);\n e = e.add(f);\n a = Zd(a, h);\n }\n\n return new ae(e, a);\n}\n\nk.gb = function (a) {\n return Yd(this, a).h;\n};\n\nk.and = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0; d < b; d++) {\n c[d] = this.D(d) & a.D(d);\n }\n\n return new T(c, this.h & a.h);\n};\n\nk.or = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0; d < b; d++) {\n c[d] = this.D(d) | a.D(d);\n }\n\n return new T(c, this.h | a.h);\n};\n\nk.xor = function (a) {\n for (var b = Math.max(this.g.length, a.g.length), c = [], d = 0; d < b; d++) {\n c[d] = this.D(d) ^ a.D(d);\n }\n\n return new T(c, this.h ^ a.h);\n};\n\nfunction be(a) {\n for (var b = a.g.length + 1, c = [], d = 0; d < b; d++) {\n c[d] = a.D(d) << 1 | a.D(d - 1) >>> 31;\n }\n\n return new T(c, a.h);\n}\n\nfunction Z(a, b) {\n var c = b >> 5;\n b %= 32;\n\n for (var d = a.g.length - c, e = [], f = 0; f < d; f++) {\n e[f] = 0 < b ? a.D(f + c) >>> b | a.D(f + c + 1) << 32 - b : a.D(f + c);\n }\n\n return new T(e, a.h);\n}\n\nOd.prototype.createWebChannel = Od.prototype.g;\nQ.prototype.send = Q.prototype.u;\nQ.prototype.open = Q.prototype.m;\nQ.prototype.close = Q.prototype.close;\nSb.NO_ERROR = 0;\nSb.TIMEOUT = 8;\nSb.HTTP_ERROR = 6;\nTb.COMPLETE = \"complete\";\nWb.EventType = Xb;\nXb.OPEN = \"a\";\nXb.CLOSE = \"b\";\nXb.ERROR = \"c\";\nXb.MESSAGE = \"d\";\nB.prototype.listen = B.prototype.O;\nP.prototype.listenOnce = P.prototype.P;\nP.prototype.getLastError = P.prototype.Sa;\nP.prototype.getLastErrorCode = P.prototype.Ia;\nP.prototype.getStatus = P.prototype.da;\nP.prototype.getResponseJson = P.prototype.Wa;\nP.prototype.getResponseText = P.prototype.ja;\nP.prototype.send = P.prototype.ha;\nP.prototype.setWithCredentials = P.prototype.Oa;\nS.prototype.digest = S.prototype.l;\nS.prototype.reset = S.prototype.reset;\nS.prototype.update = S.prototype.j;\nT.prototype.add = T.prototype.add;\nT.prototype.multiply = T.prototype.R;\nT.prototype.modulo = T.prototype.gb;\nT.prototype.compare = T.prototype.X;\nT.prototype.toNumber = T.prototype.ea;\nT.prototype.toString = T.prototype.toString;\nT.prototype.getBits = T.prototype.D;\nT.fromNumber = U;\nT.fromString = Vd;\n\nvar createWebChannelTransport = esm.createWebChannelTransport = function () {\n return new Od();\n};\n\nvar getStatEventTarget = esm.getStatEventTarget = function () {\n return Mb();\n};\n\nvar ErrorCode = esm.ErrorCode = Sb;\nvar EventType = esm.EventType = Tb;\nvar Event = esm.Event = E;\nvar Stat = esm.Stat = {\n xb: 0,\n Ab: 1,\n Bb: 2,\n Ub: 3,\n Zb: 4,\n Wb: 5,\n Xb: 6,\n Vb: 7,\n Tb: 8,\n Yb: 9,\n PROXY: 10,\n NOPROXY: 11,\n Rb: 12,\n Nb: 13,\n Ob: 14,\n Mb: 15,\n Pb: 16,\n Qb: 17,\n tb: 18,\n sb: 19,\n ub: 20\n};\nvar FetchXmlHttpFactory = esm.FetchXmlHttpFactory = ld;\nvar WebChannel = esm.WebChannel = Wb;\nvar XhrIo = esm.XhrIo = P;\nvar Md5 = esm.Md5 = S;\nvar Integer = esm.Integer = T;\nexport { ErrorCode, Event, EventType, FetchXmlHttpFactory, Integer, Md5, Stat, WebChannel, XhrIo, createWebChannelTransport, esm as default, getStatEventTarget };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","var _createClass = function () {\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 return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _templateObject = _taggedTemplateLiteral(['', ''], ['', '']);\n\nfunction _taggedTemplateLiteral(strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n/**\n * @class TemplateTag\n * @classdesc Consumes a pipeline of composable transformer plugins and produces a template tag.\n */\n\n\nvar TemplateTag = function () {\n /**\n * constructs a template tag\n * @constructs TemplateTag\n * @param {...Object} [...transformers] - an array or arguments list of transformers\n * @return {Function} - a template tag\n */\n function TemplateTag() {\n var _this = this;\n\n for (var _len = arguments.length, transformers = Array(_len), _key = 0; _key < _len; _key++) {\n transformers[_key] = arguments[_key];\n }\n\n _classCallCheck(this, TemplateTag);\n\n this.tag = function (strings) {\n for (var _len2 = arguments.length, expressions = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n expressions[_key2 - 1] = arguments[_key2];\n }\n\n if (typeof strings === 'function') {\n // if the first argument passed is a function, assume it is a template tag and return\n // an intermediary tag that processes the template using the aforementioned tag, passing the\n // result to our tag\n return _this.interimTag.bind(_this, strings);\n }\n\n if (typeof strings === 'string') {\n // if the first argument passed is a string, just transform it\n return _this.transformEndResult(strings);\n } // else, return a transformed end result of processing the template with our tag\n\n\n strings = strings.map(_this.transformString.bind(_this));\n return _this.transformEndResult(strings.reduce(_this.processSubstitutions.bind(_this, expressions)));\n }; // if first argument is an array, extrude it as a list of transformers\n\n\n if (transformers.length > 0 && Array.isArray(transformers[0])) {\n transformers = transformers[0];\n } // if any transformers are functions, this means they are not initiated - automatically initiate them\n\n\n this.transformers = transformers.map(function (transformer) {\n return typeof transformer === 'function' ? transformer() : transformer;\n }); // return an ES2015 template tag\n\n return this.tag;\n }\n /**\n * Applies all transformers to a template literal tagged with this method.\n * If a function is passed as the first argument, assumes the function is a template tag\n * and applies it to the template, returning a template tag.\n * @param {(Function|String|Array)} strings - Either a template tag or an array containing template strings separated by identifier\n * @param {...*} ...expressions - Optional list of substitution values.\n * @return {(String|Function)} - Either an intermediary tag function or the results of processing the template.\n */\n\n\n _createClass(TemplateTag, [{\n key: 'interimTag',\n\n /**\n * An intermediary template tag that receives a template tag and passes the result of calling the template with the received\n * template tag to our own template tag.\n * @param {Function} nextTag - the received template tag\n * @param {Array} template - the template to process\n * @param {...*} ...substitutions - `substitutions` is an array of all substitutions in the template\n * @return {*} - the final processed value\n */\n value: function interimTag(previousTag, template) {\n for (var _len3 = arguments.length, substitutions = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n substitutions[_key3 - 2] = arguments[_key3];\n }\n\n return this.tag(_templateObject, previousTag.apply(undefined, [template].concat(substitutions)));\n }\n /**\n * Performs bulk processing on the tagged template, transforming each substitution and then\n * concatenating the resulting values into a string.\n * @param {Array<*>} substitutions - an array of all remaining substitutions present in this template\n * @param {String} resultSoFar - this iteration's result string so far\n * @param {String} remainingPart - the template chunk after the current substitution\n * @return {String} - the result of joining this iteration's processed substitution with the result\n */\n\n }, {\n key: 'processSubstitutions',\n value: function processSubstitutions(substitutions, resultSoFar, remainingPart) {\n var substitution = this.transformSubstitution(substitutions.shift(), resultSoFar);\n return ''.concat(resultSoFar, substitution, remainingPart);\n }\n /**\n * Iterate through each transformer, applying the transformer's `onString` method to the template\n * strings before all substitutions are processed.\n * @param {String} str - The input string\n * @return {String} - The final results of processing each transformer\n */\n\n }, {\n key: 'transformString',\n value: function transformString(str) {\n var cb = function cb(res, transform) {\n return transform.onString ? transform.onString(res) : res;\n };\n\n return this.transformers.reduce(cb, str);\n }\n /**\n * When a substitution is encountered, iterates through each transformer and applies the transformer's\n * `onSubstitution` method to the substitution.\n * @param {*} substitution - The current substitution\n * @param {String} resultSoFar - The result up to and excluding this substitution.\n * @return {*} - The final result of applying all substitution transformations.\n */\n\n }, {\n key: 'transformSubstitution',\n value: function transformSubstitution(substitution, resultSoFar) {\n var cb = function cb(res, transform) {\n return transform.onSubstitution ? transform.onSubstitution(res, resultSoFar) : res;\n };\n\n return this.transformers.reduce(cb, substitution);\n }\n /**\n * Iterates through each transformer, applying the transformer's `onEndResult` method to the\n * template literal after all substitutions have finished processing.\n * @param {String} endResult - The processed template, just before it is returned from the tag\n * @return {String} - The final results of processing each transformer\n */\n\n }, {\n key: 'transformEndResult',\n value: function transformEndResult(endResult) {\n var cb = function cb(res, transform) {\n return transform.onEndResult ? transform.onEndResult(res) : res;\n };\n\n return this.transformers.reduce(cb, endResult);\n }\n }]);\n\n return TemplateTag;\n}();\n\nexport default TemplateTag;","var defaults = {\n separator: '',\n conjunction: '',\n serial: false\n};\n/**\n * Converts an array substitution to a string containing a list\n * @param {String} [opts.separator = ''] - the character that separates each item\n * @param {String} [opts.conjunction = ''] - replace the last separator with this\n * @param {Boolean} [opts.serial = false] - include the separator before the conjunction? (Oxford comma use-case)\n *\n * @return {Object} - a TemplateTag transformer\n */\n\nvar inlineArrayTransformer = function inlineArrayTransformer() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaults;\n return {\n onSubstitution: function onSubstitution(substitution, resultSoFar) {\n // only operate on arrays\n if (Array.isArray(substitution)) {\n var arrayLength = substitution.length;\n var separator = opts.separator;\n var conjunction = opts.conjunction;\n var serial = opts.serial; // join each item in the array into a string where each item is separated by separator\n // be sure to maintain indentation\n\n var indent = resultSoFar.match(/(\\n?[^\\S\\n]+)$/);\n\n if (indent) {\n substitution = substitution.join(separator + indent[1]);\n } else {\n substitution = substitution.join(separator + ' ');\n } // if conjunction is set, replace the last separator with conjunction, but only if there is more than one substitution\n\n\n if (conjunction && arrayLength > 1) {\n var separatorIndex = substitution.lastIndexOf(separator);\n substitution = substitution.slice(0, separatorIndex) + (serial ? separator : '') + ' ' + conjunction + substitution.slice(separatorIndex + 1);\n }\n }\n\n return substitution;\n }\n };\n};\n\nexport default inlineArrayTransformer;","function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\n/**\n * strips indentation from a template literal\n * @param {String} type = 'initial' - whether to remove all indentation or just leading indentation. can be 'all' or 'initial'\n * @return {Object} - a TemplateTag transformer\n */\n\n\nvar stripIndentTransformer = function stripIndentTransformer() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'initial';\n return {\n onEndResult: function onEndResult(endResult) {\n if (type === 'initial') {\n // remove the shortest leading indentation from each line\n var match = endResult.match(/^[^\\S\\n]*(?=\\S)/gm);\n var indent = match && Math.min.apply(Math, _toConsumableArray(match.map(function (el) {\n return el.length;\n })));\n\n if (indent) {\n var regexp = new RegExp('^.{' + indent + '}', 'gm');\n return endResult.replace(regexp, '');\n }\n\n return endResult;\n }\n\n if (type === 'all') {\n // remove all indentation from each line\n return endResult.replace(/^[^\\S\\n]+/gm, '');\n }\n\n throw new Error('Unknown type: ' + type);\n }\n };\n};\n\nexport default stripIndentTransformer;","/**\n * TemplateTag transformer that trims whitespace on the end result of a tagged template\n * @param {String} side = '' - The side of the string to trim. Can be 'start' or 'end' (alternatively 'left' or 'right')\n * @return {Object} - a TemplateTag transformer\n */\nvar trimResultTransformer = function trimResultTransformer() {\n var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return {\n onEndResult: function onEndResult(endResult) {\n if (side === '') {\n return endResult.trim();\n }\n\n side = side.toLowerCase();\n\n if (side === 'start' || side === 'left') {\n return endResult.replace(/^\\s*/, '');\n }\n\n if (side === 'end' || side === 'right') {\n return endResult.replace(/\\s*$/, '');\n }\n\n throw new Error('Side not supported: ' + side);\n }\n };\n};\n\nexport default trimResultTransformer;","var splitStringTransformer = function splitStringTransformer(splitBy) {\n return {\n onSubstitution: function onSubstitution(substitution, resultSoFar) {\n if (splitBy != null && typeof splitBy === 'string') {\n if (typeof substitution === 'string' && substitution.includes(splitBy)) {\n substitution = substitution.split(splitBy);\n }\n } else {\n throw new Error('You need to specify a string character to split by.');\n }\n\n return substitution;\n }\n };\n};\n\nexport default splitStringTransformer;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nvar commaLists = new TemplateTag(inlineArrayTransformer({\n separator: ','\n}), stripIndentTransformer, trimResultTransformer);\nexport default commaLists;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nvar commaListsAnd = new TemplateTag(inlineArrayTransformer({\n separator: ',',\n conjunction: 'and'\n}), stripIndentTransformer, trimResultTransformer);\nexport default commaListsAnd;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nvar commaListsOr = new TemplateTag(inlineArrayTransformer({\n separator: ',',\n conjunction: 'or'\n}), stripIndentTransformer, trimResultTransformer);\nexport default commaListsOr;","var isValidValue = function isValidValue(x) {\n return x != null && !Number.isNaN(x) && typeof x !== 'boolean';\n};\n\nvar removeNonPrintingValuesTransformer = function removeNonPrintingValuesTransformer() {\n return {\n onSubstitution: function onSubstitution(substitution) {\n if (Array.isArray(substitution)) {\n return substitution.filter(isValidValue);\n }\n\n if (isValidValue(substitution)) {\n return substitution;\n }\n\n return '';\n }\n };\n};\n\nexport default removeNonPrintingValuesTransformer;","var replaceSubstitutionTransformer = function replaceSubstitutionTransformer(replaceWhat, replaceWith) {\n return {\n onSubstitution: function onSubstitution(substitution, resultSoFar) {\n if (replaceWhat == null || replaceWith == null) {\n throw new Error('replaceSubstitutionTransformer requires at least 2 arguments.');\n } // Do not touch if null or undefined\n\n\n if (substitution == null) {\n return substitution;\n } else {\n return substitution.toString().replace(replaceWhat, replaceWith);\n }\n }\n };\n};\n\nexport default replaceSubstitutionTransformer;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nimport splitStringTransformer from '../splitStringTransformer';\nimport removeNonPrintingValuesTransformer from '../removeNonPrintingValuesTransformer';\nvar html = new TemplateTag(splitStringTransformer('\\n'), removeNonPrintingValuesTransformer, inlineArrayTransformer, stripIndentTransformer, trimResultTransformer);\nexport default html;","/**\n * Replaces tabs, newlines and spaces with the chosen value when they occur in sequences\n * @param {(String|RegExp)} replaceWhat - the value or pattern that should be replaced\n * @param {*} replaceWith - the replacement value\n * @return {Object} - a TemplateTag transformer\n */\nvar replaceResultTransformer = function replaceResultTransformer(replaceWhat, replaceWith) {\n return {\n onEndResult: function onEndResult(endResult) {\n if (replaceWhat == null || replaceWith == null) {\n throw new Error('replaceResultTransformer requires at least 2 arguments.');\n }\n\n return endResult.replace(replaceWhat, replaceWith);\n }\n };\n};\n\nexport default replaceResultTransformer;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nimport splitStringTransformer from '../splitStringTransformer';\nimport replaceSubstitutionTransformer from '../replaceSubstitutionTransformer';\nvar safeHtml = new TemplateTag(splitStringTransformer('\\n'), inlineArrayTransformer, stripIndentTransformer, trimResultTransformer, replaceSubstitutionTransformer(/&/g, '&'), replaceSubstitutionTransformer(//g, '>'), replaceSubstitutionTransformer(/\"/g, '"'), replaceSubstitutionTransformer(/'/g, '''), replaceSubstitutionTransformer(/`/g, '`'));\nexport default safeHtml;","import TemplateTag from '../TemplateTag';\nimport trimResultTransformer from '../trimResultTransformer';\nimport replaceResultTransformer from '../replaceResultTransformer';\nvar oneLine = new TemplateTag(replaceResultTransformer(/(?:\\n(?:\\s*))+/g, ' '), trimResultTransformer);\nexport default oneLine;","import TemplateTag from '../TemplateTag';\nimport trimResultTransformer from '../trimResultTransformer';\nimport replaceResultTransformer from '../replaceResultTransformer';\nvar oneLineTrim = new TemplateTag(replaceResultTransformer(/(?:\\n\\s*)/g, ''), trimResultTransformer);\nexport default oneLineTrim;","import TemplateTag from '../TemplateTag';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nimport replaceResultTransformer from '../replaceResultTransformer';\nvar oneLineCommaLists = new TemplateTag(inlineArrayTransformer({\n separator: ','\n}), replaceResultTransformer(/(?:\\s+)/g, ' '), trimResultTransformer);\nexport default oneLineCommaLists;","import TemplateTag from '../TemplateTag';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nimport replaceResultTransformer from '../replaceResultTransformer';\nvar oneLineCommaListsOr = new TemplateTag(inlineArrayTransformer({\n separator: ',',\n conjunction: 'or'\n}), replaceResultTransformer(/(?:\\s+)/g, ' '), trimResultTransformer);\nexport default oneLineCommaListsOr;","import TemplateTag from '../TemplateTag';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nimport replaceResultTransformer from '../replaceResultTransformer';\nvar oneLineCommaListsAnd = new TemplateTag(inlineArrayTransformer({\n separator: ',',\n conjunction: 'and'\n}), replaceResultTransformer(/(?:\\s+)/g, ' '), trimResultTransformer);\nexport default oneLineCommaListsAnd;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nvar inlineLists = new TemplateTag(inlineArrayTransformer, stripIndentTransformer, trimResultTransformer);\nexport default inlineLists;","import TemplateTag from '../TemplateTag';\nimport inlineArrayTransformer from '../inlineArrayTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nimport replaceResultTransformer from '../replaceResultTransformer';\nvar oneLineInlineLists = new TemplateTag(inlineArrayTransformer, replaceResultTransformer(/(?:\\s+)/g, ' '), trimResultTransformer);\nexport default oneLineInlineLists;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nvar stripIndent = new TemplateTag(stripIndentTransformer, trimResultTransformer);\nexport default stripIndent;","import TemplateTag from '../TemplateTag';\nimport stripIndentTransformer from '../stripIndentTransformer';\nimport trimResultTransformer from '../trimResultTransformer';\nvar stripIndents = new TemplateTag(stripIndentTransformer('all'), trimResultTransformer);\nexport default stripIndents;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0; // TODO(v5): Remove legacy setting and default to \"always\"\n\nvar applyTrailingSlashOption = function applyTrailingSlashOption(input) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n var hasHtmlSuffix = input.endsWith(\".html\");\n var hasXmlSuffix = input.endsWith(\".xml\");\n var hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n\n return input;\n};\n\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nvar _slicedToArray = require(\"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nexports.__esModule = true;\nexports.wrapRootElement = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _react2 = require(\"@builder.io/partytown/react\");\n\nvar _gatsbyScript = require(\"gatsby-script\");\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction PartytownProvider(_ref) {\n var children = _ref.children;\n\n var _ref2 = (0, _react.useState)({\n collectedForwards: new Set(),\n collectedAnyScript: false\n }),\n _ref3 = _slicedToArray(_ref2, 2),\n _ref3$ = _ref3[0],\n collectedForwards = _ref3$.collectedForwards,\n collectedAnyScript = _ref3$.collectedAnyScript,\n setState = _ref3[1];\n\n return /*#__PURE__*/_react.default.createElement(_gatsbyScript.PartytownContext.Provider, {\n value: {\n collectScript: function collectScript(newScript) {\n var stateShouldChange = false;\n var potentialNewState = {\n collectedAnyScript: collectedAnyScript,\n collectedForwards: collectedForwards\n };\n\n if (!collectedAnyScript) {\n potentialNewState.collectedAnyScript = true;\n stateShouldChange = true;\n }\n\n if (newScript !== null && newScript !== void 0 && newScript.forward) {\n if (Array.isArray(newScript.forward)) {\n var _iterator = _createForOfIteratorHelper(newScript.forward),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var singleForward = _step.value;\n\n if (!potentialNewState.collectedForwards.has(singleForward)) {\n potentialNewState.collectedForwards.add(singleForward);\n stateShouldChange = true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n if (process.env.NODE_ENV === \"development\") {\n console.log(\"unexpected shape of forward\", newScript);\n }\n }\n }\n\n if (stateShouldChange) {\n setState(potentialNewState);\n }\n }\n }\n }, children, collectedAnyScript && /*#__PURE__*/_react.default.createElement(_react2.Partytown, {\n key: \"partytown\",\n forward: Array.from(collectedForwards)\n }));\n}\n\nvar wrapRootElement = function wrapRootElement(_ref4) {\n var element = _ref4.element;\n return /*#__PURE__*/_react.default.createElement(PartytownProvider, null, element);\n};\n\nexports.wrapRootElement = wrapRootElement;","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 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 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 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');\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 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 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 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","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 global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar setGlobal = require('../internals/set-global');\n\nmodule.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 if (isCallable(value)) makeBuiltIn(value, name, options);\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return O;\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 return O;\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 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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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","// 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 global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar 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 defineBuiltIn(target, key, sourceProperty, options);\n }\n};\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\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","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 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 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 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 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 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","module.exports = {};\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 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 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","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\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 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 isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\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 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 fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n\nvar CONFIGURABLE_LENGTH = !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","/* 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","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","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","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 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 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 uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\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","'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","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 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 global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","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","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 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","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.4',\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.4/LICENSE',\n source: 'https://github.com/zloirock/core-js'\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 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","// 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","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 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 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 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 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","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 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","/* 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 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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true }, {\n globalThis: global\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","exports.components = {\n \"component---src-pages-about-js\": () => import(\"./../../../src/pages/about.js\" /* webpackChunkName: \"component---src-pages-about-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-ksa-js\": () => import(\"./../../../src/pages/ksa.js\" /* webpackChunkName: \"component---src-pages-ksa-js\" */),\n \"component---src-pages-kwt-js\": () => import(\"./../../../src/pages/kwt.js\" /* webpackChunkName: \"component---src-pages-kwt-js\" */),\n \"component---src-pages-learn-js\": () => import(\"./../../../src/pages/learn.js\" /* webpackChunkName: \"component---src-pages-learn-js\" */),\n \"component---src-pages-policy-js\": () => import(\"./../../../src/pages/policy.js\" /* webpackChunkName: \"component---src-pages-policy-js\" */),\n \"component---src-pages-pricing-js\": () => import(\"./../../../src/pages/pricing.js\" /* webpackChunkName: \"component---src-pages-pricing-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-image/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"92b9472d076d62a40b75dc2af48b14f0\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-mdx/gatsby-browser.js'),\n options: {\"plugins\":[],\"extensions\":[\".mdx\"],\"defaultLayouts\":{},\"gatsbyRemarkPlugins\":[],\"lessBabel\":false,\"remarkPlugins\":[],\"rehypePlugins\":[],\"mediaTypes\":[\"text/markdown\",\"text/x-markdown\"],\"root\":\"F:\\\\Work\\\\Abo soltan\\\\accounting-lp\",\"commonmark\":false},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"G-7D0534L4YQ\"],\"gtagConfig\":{\"optimize_id\":\"g9dECC-1TA-dJh40XTW0sQ\",\"anonymize_ip\":true,\"cookie_expires\":0},\"pluginConfig\":{\"head\":false,\"respectDNT\":true,\"exclude\":[\"/preview/**\",\"/do-not-track/me/too/\"],\"origin\":\"https://www.googletagmanager.com\"}},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&

Loading (StaticQuery)
}\n \n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return {\n error: page.error,\n status: page.status,\n }\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n const componentChunkPromise = Promise.all([\n this.loadComponent(componentChunkName),\n this.loadComponent(componentChunkName, `head`),\n ]).then(([component, head]) => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component, head)\n }\n // undefined if final result is an error\n return pageResources\n })\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = chunkName => {\n if (!asyncRequires.components[chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name ${chunkName}`\n )\n }\n\n return (\n asyncRequires.components[chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in head.\n * @param {string} tagName\n */\nexport function warnForInvalidTags(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}`\n\n warnOnce(warning)\n }\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport { VALID_NODE_NAMES } from \"./constants\"\nimport {\n headExportValidator,\n filterHeadProps,\n warnForInvalidTags,\n diffNodes,\n} from \"./utils\"\n\nconst hiddenRoot = document.createElement(`div`)\n\nconst removePrevHeadElements = () => {\n const prevHeadNodes = [...document.querySelectorAll(`[data-gatsby-head]`)]\n prevHeadNodes.forEach(e => e.remove())\n}\n\nconst onHeadRendered = () => {\n const validHeadNodes = []\n\n const seenIds = new Map()\n for (const node of hiddenRoot.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes.id?.value\n\n if (!VALID_NODE_NAMES.includes(nodeName)) {\n warnForInvalidTags(nodeName)\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // Create an element for scripts to make script work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n const script = document.createElement(`script`)\n for (const attr of clonedNode.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = clonedNode.innerHTML\n clonedNode = script\n }\n\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[indexOfPreviouslyInsertedNode].remove()\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n }\n\n const existingHeadElements = [\n ...document.querySelectorAll(`[data-gatsby-head]`),\n ]\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.remove(),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // We set up observer to be able to regenerate after react-refresh\n // updates our hidden element.\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const Head = pageComponent.Head\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n \n \n \n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n }\n })\n}\n","import { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n const pageElement = createElement(\n preferDefault(props.pageResources.component),\n {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n }\n )\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props: pageComponentProps },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","/* global HAS_REACT_18 */\n\nconst map = new WeakMap()\n\n/**\n * Since react 18, render and hydrate moved to react-dom/client\n * returns correct hydrate and render function based on installed react-dom version\n */\n\nexport function reactDOMUtils() {\n let render\n let hydrate\n\n if (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n\n render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n } else {\n const reactDomClient = require(`react-dom`)\n render = reactDomClient.render\n hydrate = reactDomClient.hydrate\n }\n\n return { render, hydrate }\n}\n","exports.polyfill = Component => Component\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","import _toConsumableArray from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _asyncToGenerator from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _createClass from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _classCallCheck from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _inherits from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"F:/Work/Abo soltan/accounting-lp/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _regeneratorRuntime from \"F:\\\\Work\\\\Abo soltan\\\\accounting-lp\\\\node_modules\\\\@babel\\\\runtime\\\\regenerator\\\\index.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { _registerComponent, registerVersion, _getProvider, getApp } from '@firebase/app';\nimport { FirebaseError, getModularInstance, getDefaultEmulatorHostnameAndPort } from '@firebase/util';\nimport { Component } from '@firebase/component';\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\nvar LONG_TYPE = 'type.googleapis.com/google.protobuf.Int64Value';\nvar UNSIGNED_LONG_TYPE = 'type.googleapis.com/google.protobuf.UInt64Value';\n\nfunction mapValues( // { [k: string]: unknown } is no longer a wildcard assignment target after typescript 3.5\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no, f) {\n var result = {};\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n result[key] = f(o[key]);\n }\n }\n\n return result;\n}\n/**\r\n * Takes data and encodes it in a JSON-friendly way, such that types such as\r\n * Date are preserved.\r\n * @internal\r\n * @param data - Data to encode.\r\n */\n\n\nfunction encode(data) {\n if (data == null) {\n return null;\n }\n\n if (data instanceof Number) {\n data = data.valueOf();\n }\n\n if (typeof data === 'number' && isFinite(data)) {\n // Any number in JS is safe to put directly in JSON and parse as a double\n // without any loss of precision.\n return data;\n }\n\n if (data === true || data === false) {\n return data;\n }\n\n if (Object.prototype.toString.call(data) === '[object String]') {\n return data;\n }\n\n if (data instanceof Date) {\n return data.toISOString();\n }\n\n if (Array.isArray(data)) {\n return data.map(function (x) {\n return encode(x);\n });\n }\n\n if (typeof data === 'function' || typeof data === 'object') {\n return mapValues(data, function (x) {\n return encode(x);\n });\n } // If we got this far, the data is not encodable.\n\n\n throw new Error('Data cannot be encoded in JSON: ' + data);\n}\n/**\r\n * Takes data that's been encoded in a JSON-friendly form and returns a form\r\n * with richer datatypes, such as Dates, etc.\r\n * @internal\r\n * @param json - JSON to convert.\r\n */\n\n\nfunction decode(json) {\n if (json == null) {\n return json;\n }\n\n if (json['@type']) {\n switch (json['@type']) {\n case LONG_TYPE: // Fall through and handle this the same as unsigned.\n\n case UNSIGNED_LONG_TYPE:\n {\n // Technically, this could work return a valid number for malformed\n // data if there was a number followed by garbage. But it's just not\n // worth all the extra code to detect that case.\n var value = Number(json['value']);\n\n if (isNaN(value)) {\n throw new Error('Data cannot be decoded from JSON: ' + json);\n }\n\n return value;\n }\n\n default:\n {\n throw new Error('Data cannot be decoded from JSON: ' + json);\n }\n }\n }\n\n if (Array.isArray(json)) {\n return json.map(function (x) {\n return decode(x);\n });\n }\n\n if (typeof json === 'function' || typeof json === 'object') {\n return mapValues(json, function (x) {\n return decode(x);\n });\n } // Anything else is safe to return.\n\n\n return json;\n}\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Type constant for Firebase Functions.\r\n */\n\n\nvar FUNCTIONS_TYPE = 'functions';\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Standard error codes for different ways a request can fail, as defined by:\r\n * https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto\r\n *\r\n * This map is used primarily to convert from a backend error code string to\r\n * a client SDK error code string, and make sure it's in the supported set.\r\n */\n\nvar errorCodeMap = {\n OK: 'ok',\n CANCELLED: 'cancelled',\n UNKNOWN: 'unknown',\n INVALID_ARGUMENT: 'invalid-argument',\n DEADLINE_EXCEEDED: 'deadline-exceeded',\n NOT_FOUND: 'not-found',\n ALREADY_EXISTS: 'already-exists',\n PERMISSION_DENIED: 'permission-denied',\n UNAUTHENTICATED: 'unauthenticated',\n RESOURCE_EXHAUSTED: 'resource-exhausted',\n FAILED_PRECONDITION: 'failed-precondition',\n ABORTED: 'aborted',\n OUT_OF_RANGE: 'out-of-range',\n UNIMPLEMENTED: 'unimplemented',\n INTERNAL: 'internal',\n UNAVAILABLE: 'unavailable',\n DATA_LOSS: 'data-loss'\n};\n/**\r\n * An explicit error that can be thrown from a handler to send an error to the\r\n * client that called the function.\r\n */\n\nvar FunctionsError = /*#__PURE__*/function (_FirebaseError) {\n _inherits(FunctionsError, _FirebaseError);\n\n var _super = _createSuper(FunctionsError);\n\n function FunctionsError(\n /**\r\n * A standard error code that will be returned to the client. This also\r\n * determines the HTTP status code of the response, as defined in code.proto.\r\n */\n code, message,\n /**\r\n * Extra data to be converted to JSON and included in the error response.\r\n */\n details) {\n var _this;\n\n _classCallCheck(this, FunctionsError);\n\n _this = _super.call(this, \"\".concat(FUNCTIONS_TYPE, \"/\").concat(code), message || '');\n _this.details = details;\n return _this;\n }\n\n return _createClass(FunctionsError);\n}(FirebaseError);\n/**\r\n * Takes an HTTP status code and returns the corresponding ErrorCode.\r\n * This is the standard HTTP status code -> error mapping defined in:\r\n * https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto\r\n *\r\n * @param status An HTTP status code.\r\n * @return The corresponding ErrorCode, or ErrorCode.UNKNOWN if none.\r\n */\n\n\nfunction codeForHTTPStatus(status) {\n // Make sure any successful status is OK.\n if (status >= 200 && status < 300) {\n return 'ok';\n }\n\n switch (status) {\n case 0:\n // This can happen if the server returns 500.\n return 'internal';\n\n case 400:\n return 'invalid-argument';\n\n case 401:\n return 'unauthenticated';\n\n case 403:\n return 'permission-denied';\n\n case 404:\n return 'not-found';\n\n case 409:\n return 'aborted';\n\n case 429:\n return 'resource-exhausted';\n\n case 499:\n return 'cancelled';\n\n case 500:\n return 'internal';\n\n case 501:\n return 'unimplemented';\n\n case 503:\n return 'unavailable';\n\n case 504:\n return 'deadline-exceeded';\n }\n\n return 'unknown';\n}\n/**\r\n * Takes an HTTP response and returns the corresponding Error, if any.\r\n */\n\n\nfunction _errorForResponse(status, bodyJSON) {\n var code = codeForHTTPStatus(status); // Start with reasonable defaults from the status code.\n\n var description = code;\n var details = undefined; // Then look through the body for explicit details.\n\n try {\n var errorJSON = bodyJSON && bodyJSON.error;\n\n if (errorJSON) {\n var _status = errorJSON.status;\n\n if (typeof _status === 'string') {\n if (!errorCodeMap[_status]) {\n // They must've included an unknown error code in the body.\n return new FunctionsError('internal', 'internal');\n }\n\n code = errorCodeMap[_status]; // TODO(klimt): Add better default descriptions for error enums.\n // The default description needs to be updated for the new code.\n\n description = _status;\n }\n\n var message = errorJSON.message;\n\n if (typeof message === 'string') {\n description = message;\n }\n\n details = errorJSON.details;\n\n if (details !== undefined) {\n details = decode(details);\n }\n }\n } catch (e) {// If we couldn't parse explicit error data, that's fine.\n }\n\n if (code === 'ok') {\n // Technically, there's an edge case where a developer could explicitly\n // return an error code of OK, and we will treat it as success, but that\n // seems reasonable.\n return null;\n }\n\n return new FunctionsError(code, description, details);\n}\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Helper class to get metadata that should be included with a function call.\r\n * @internal\r\n */\n\n\nvar ContextProvider = /*#__PURE__*/function () {\n function ContextProvider(authProvider, messagingProvider, appCheckProvider) {\n var _this2 = this;\n\n _classCallCheck(this, ContextProvider);\n\n this.auth = null;\n this.messaging = null;\n this.appCheck = null;\n this.auth = authProvider.getImmediate({\n optional: true\n });\n this.messaging = messagingProvider.getImmediate({\n optional: true\n });\n\n if (!this.auth) {\n authProvider.get().then(function (auth) {\n return _this2.auth = auth;\n }, function () {\n /* get() never rejects */\n });\n }\n\n if (!this.messaging) {\n messagingProvider.get().then(function (messaging) {\n return _this2.messaging = messaging;\n }, function () {\n /* get() never rejects */\n });\n }\n\n if (!this.appCheck) {\n appCheckProvider.get().then(function (appCheck) {\n return _this2.appCheck = appCheck;\n }, function () {\n /* get() never rejects */\n });\n }\n }\n\n _createClass(ContextProvider, [{\n key: \"getAuthToken\",\n value: function () {\n var _getAuthToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var token;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.auth) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 2:\n _context.prev = 2;\n _context.next = 5;\n return this.auth.getToken();\n\n case 5:\n token = _context.sent;\n return _context.abrupt(\"return\", token === null || token === void 0 ? void 0 : token.accessToken);\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](2);\n return _context.abrupt(\"return\", undefined);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[2, 9]]);\n }));\n\n function getAuthToken() {\n return _getAuthToken.apply(this, arguments);\n }\n\n return getAuthToken;\n }()\n }, {\n key: \"getMessagingToken\",\n value: function () {\n var _getMessagingToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(!this.messaging || !('Notification' in self) || Notification.permission !== 'granted')) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 2:\n _context2.prev = 2;\n _context2.next = 5;\n return this.messaging.getToken();\n\n case 5:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 8:\n _context2.prev = 8;\n _context2.t0 = _context2[\"catch\"](2);\n return _context2.abrupt(\"return\", undefined);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[2, 8]]);\n }));\n\n function getMessagingToken() {\n return _getMessagingToken.apply(this, arguments);\n }\n\n return getMessagingToken;\n }()\n }, {\n key: \"getAppCheckToken\",\n value: function () {\n var _getAppCheckToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(limitedUseAppCheckTokens) {\n var result;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!this.appCheck) {\n _context3.next = 14;\n break;\n }\n\n if (!limitedUseAppCheckTokens) {\n _context3.next = 7;\n break;\n }\n\n _context3.next = 4;\n return this.appCheck.getLimitedUseToken();\n\n case 4:\n _context3.t0 = _context3.sent;\n _context3.next = 10;\n break;\n\n case 7:\n _context3.next = 9;\n return this.appCheck.getToken();\n\n case 9:\n _context3.t0 = _context3.sent;\n\n case 10:\n result = _context3.t0;\n\n if (!result.error) {\n _context3.next = 13;\n break;\n }\n\n return _context3.abrupt(\"return\", null);\n\n case 13:\n return _context3.abrupt(\"return\", result.token);\n\n case 14:\n return _context3.abrupt(\"return\", null);\n\n case 15:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function getAppCheckToken(_x) {\n return _getAppCheckToken.apply(this, arguments);\n }\n\n return getAppCheckToken;\n }()\n }, {\n key: \"getContext\",\n value: function () {\n var _getContext = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(limitedUseAppCheckTokens) {\n var authToken, messagingToken, appCheckToken;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this.getAuthToken();\n\n case 2:\n authToken = _context4.sent;\n _context4.next = 5;\n return this.getMessagingToken();\n\n case 5:\n messagingToken = _context4.sent;\n _context4.next = 8;\n return this.getAppCheckToken(limitedUseAppCheckTokens);\n\n case 8:\n appCheckToken = _context4.sent;\n return _context4.abrupt(\"return\", {\n authToken: authToken,\n messagingToken: messagingToken,\n appCheckToken: appCheckToken\n });\n\n case 10:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function getContext(_x2) {\n return _getContext.apply(this, arguments);\n }\n\n return getContext;\n }()\n }]);\n\n return ContextProvider;\n}();\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar DEFAULT_REGION = 'us-central1';\n/**\r\n * Returns a Promise that will be rejected after the given duration.\r\n * The error will be of type FunctionsError.\r\n *\r\n * @param millis Number of milliseconds to wait before rejecting.\r\n */\n\nfunction failAfter(millis) {\n // Node timers and browser timers are fundamentally incompatible, but we\n // don't care about the value here\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var timer = null;\n return {\n promise: new Promise(function (_, reject) {\n timer = setTimeout(function () {\n reject(new FunctionsError('deadline-exceeded', 'deadline-exceeded'));\n }, millis);\n }),\n cancel: function cancel() {\n if (timer) {\n clearTimeout(timer);\n }\n }\n };\n}\n/**\r\n * The main class for the Firebase Functions SDK.\r\n * @internal\r\n */\n\n\nvar FunctionsService = /*#__PURE__*/function () {\n /**\r\n * Creates a new Functions service for the given app.\r\n * @param app - The FirebaseApp to use.\r\n */\n function FunctionsService(app, authProvider, messagingProvider, appCheckProvider) {\n var _this3 = this;\n\n var regionOrCustomDomain = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : DEFAULT_REGION;\n var fetchImpl = arguments.length > 5 ? arguments[5] : undefined;\n\n _classCallCheck(this, FunctionsService);\n\n this.app = app;\n this.fetchImpl = fetchImpl;\n this.emulatorOrigin = null;\n this.contextProvider = new ContextProvider(authProvider, messagingProvider, appCheckProvider); // Cancels all ongoing requests when resolved.\n\n this.cancelAllRequests = new Promise(function (resolve) {\n _this3.deleteService = function () {\n return Promise.resolve(resolve());\n };\n }); // Resolve the region or custom domain overload by attempting to parse it.\n\n try {\n var url = new URL(regionOrCustomDomain);\n this.customDomain = url.origin;\n this.region = DEFAULT_REGION;\n } catch (e) {\n this.customDomain = null;\n this.region = regionOrCustomDomain;\n }\n }\n\n _createClass(FunctionsService, [{\n key: \"_delete\",\n value: function _delete() {\n return this.deleteService();\n }\n /**\r\n * Returns the URL for a callable with the given name.\r\n * @param name - The name of the callable.\r\n * @internal\r\n */\n\n }, {\n key: \"_url\",\n value: function _url(name) {\n var projectId = this.app.options.projectId;\n\n if (this.emulatorOrigin !== null) {\n var origin = this.emulatorOrigin;\n return \"\".concat(origin, \"/\").concat(projectId, \"/\").concat(this.region, \"/\").concat(name);\n }\n\n if (this.customDomain !== null) {\n return \"\".concat(this.customDomain, \"/\").concat(name);\n }\n\n return \"https://\".concat(this.region, \"-\").concat(projectId, \".cloudfunctions.net/\").concat(name);\n }\n }]);\n\n return FunctionsService;\n}();\n/**\r\n * Modify this instance to communicate with the Cloud Functions emulator.\r\n *\r\n * Note: this must be called before this instance has been used to do any operations.\r\n *\r\n * @param host The emulator host (ex: localhost)\r\n * @param port The emulator port (ex: 5001)\r\n * @public\r\n */\n\n\nfunction connectFunctionsEmulator$1(functionsInstance, host, port) {\n functionsInstance.emulatorOrigin = \"http://\".concat(host, \":\").concat(port);\n}\n/**\r\n * Returns a reference to the callable https trigger with the given name.\r\n * @param name - The name of the trigger.\r\n * @public\r\n */\n\n\nfunction httpsCallable$1(functionsInstance, name, options) {\n return function (data) {\n return call(functionsInstance, name, data, options || {});\n };\n}\n/**\r\n * Returns a reference to the callable https trigger with the given url.\r\n * @param url - The url of the trigger.\r\n * @public\r\n */\n\n\nfunction httpsCallableFromURL$1(functionsInstance, url, options) {\n return function (data) {\n return callAtURL(functionsInstance, url, data, options || {});\n };\n}\n/**\r\n * Does an HTTP POST and returns the completed response.\r\n * @param url The url to post to.\r\n * @param body The JSON body of the post.\r\n * @param headers The HTTP headers to include in the request.\r\n * @return A Promise that will succeed when the request finishes.\r\n */\n\n\nfunction postJSON(_x3, _x4, _x5, _x6) {\n return _postJSON.apply(this, arguments);\n}\n/**\r\n * Calls a callable function asynchronously and returns the result.\r\n * @param name The name of the callable trigger.\r\n * @param data The data to pass as params to the function.s\r\n */\n\n\nfunction _postJSON() {\n _postJSON = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(url, body, headers, fetchImpl) {\n var response, json;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n headers['Content-Type'] = 'application/json';\n _context5.prev = 1;\n _context5.next = 4;\n return fetchImpl(url, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: headers\n });\n\n case 4:\n response = _context5.sent;\n _context5.next = 10;\n break;\n\n case 7:\n _context5.prev = 7;\n _context5.t0 = _context5[\"catch\"](1);\n return _context5.abrupt(\"return\", {\n status: 0,\n json: null\n });\n\n case 10:\n json = null;\n _context5.prev = 11;\n _context5.next = 14;\n return response.json();\n\n case 14:\n json = _context5.sent;\n _context5.next = 19;\n break;\n\n case 17:\n _context5.prev = 17;\n _context5.t1 = _context5[\"catch\"](11);\n\n case 19:\n return _context5.abrupt(\"return\", {\n status: response.status,\n json: json\n });\n\n case 20:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[1, 7], [11, 17]]);\n }));\n return _postJSON.apply(this, arguments);\n}\n\nfunction call(functionsInstance, name, data, options) {\n var url = functionsInstance._url(name);\n\n return callAtURL(functionsInstance, url, data, options);\n}\n/**\r\n * Calls a callable function asynchronously and returns the result.\r\n * @param url The url of the callable trigger.\r\n * @param data The data to pass as params to the function.s\r\n */\n\n\nfunction callAtURL(_x7, _x8, _x9, _x10) {\n return _callAtURL.apply(this, arguments);\n}\n\nfunction _callAtURL() {\n _callAtURL = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(functionsInstance, url, data, options) {\n var body, headers, context, timeout, failAfterHandle, response, error, responseData, decodedData;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n // Encode any special types, such as dates, in the input data.\n data = encode(data);\n body = {\n data: data\n }; // Add a header for the authToken.\n\n headers = {};\n _context6.next = 5;\n return functionsInstance.contextProvider.getContext(options.limitedUseAppCheckTokens);\n\n case 5:\n context = _context6.sent;\n\n if (context.authToken) {\n headers['Authorization'] = 'Bearer ' + context.authToken;\n }\n\n if (context.messagingToken) {\n headers['Firebase-Instance-ID-Token'] = context.messagingToken;\n }\n\n if (context.appCheckToken !== null) {\n headers['X-Firebase-AppCheck'] = context.appCheckToken;\n } // Default timeout to 70s, but let the options override it.\n\n\n timeout = options.timeout || 70000;\n failAfterHandle = failAfter(timeout);\n _context6.next = 13;\n return Promise.race([postJSON(url, body, headers, functionsInstance.fetchImpl), failAfterHandle.promise, functionsInstance.cancelAllRequests]);\n\n case 13:\n response = _context6.sent;\n // Always clear the failAfter timeout\n failAfterHandle.cancel(); // If service was deleted, interrupted response throws an error.\n\n if (response) {\n _context6.next = 17;\n break;\n }\n\n throw new FunctionsError('cancelled', 'Firebase Functions instance was deleted.');\n\n case 17:\n // Check for an error status, regardless of http status.\n error = _errorForResponse(response.status, response.json);\n\n if (!error) {\n _context6.next = 20;\n break;\n }\n\n throw error;\n\n case 20:\n if (response.json) {\n _context6.next = 22;\n break;\n }\n\n throw new FunctionsError('internal', 'Response is not valid JSON object.');\n\n case 22:\n responseData = response.json.data; // TODO(klimt): For right now, allow \"result\" instead of \"data\", for\n // backwards compatibility.\n\n if (typeof responseData === 'undefined') {\n responseData = response.json.result;\n }\n\n if (!(typeof responseData === 'undefined')) {\n _context6.next = 26;\n break;\n }\n\n throw new FunctionsError('internal', 'Response is missing data field.');\n\n case 26:\n // Decode any special types, such as dates, in the returned data.\n decodedData = decode(responseData);\n return _context6.abrupt(\"return\", {\n data: decodedData\n });\n\n case 28:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n return _callAtURL.apply(this, arguments);\n}\n\nvar name = \"@firebase/functions\";\nvar version = \"0.11.1\";\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\nvar AUTH_INTERNAL_NAME = 'auth-internal';\nvar APP_CHECK_INTERNAL_NAME = 'app-check-internal';\nvar MESSAGING_INTERNAL_NAME = 'messaging-internal';\n\nfunction registerFunctions(fetchImpl, variant) {\n var factory = function factory(container, _ref) {\n var regionOrCustomDomain = _ref.instanceIdentifier;\n // Dependencies\n var app = container.getProvider('app').getImmediate();\n var authProvider = container.getProvider(AUTH_INTERNAL_NAME);\n var messagingProvider = container.getProvider(MESSAGING_INTERNAL_NAME);\n var appCheckProvider = container.getProvider(APP_CHECK_INTERNAL_NAME); // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n return new FunctionsService(app, authProvider, messagingProvider, appCheckProvider, regionOrCustomDomain, fetchImpl);\n };\n\n _registerComponent(new Component(FUNCTIONS_TYPE, factory, \"PUBLIC\"\n /* ComponentType.PUBLIC */\n ).setMultipleInstances(true));\n\n registerVersion(name, version, variant); // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\n\n registerVersion(name, version, 'esm2017');\n}\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n/**\r\n * Returns a {@link Functions} instance for the given app.\r\n * @param app - The {@link @firebase/app#FirebaseApp} to use.\r\n * @param regionOrCustomDomain - one of:\r\n * a) The region the callable functions are located in (ex: us-central1)\r\n * b) A custom domain hosting the callable functions (ex: https://mydomain.com)\r\n * @public\r\n */\n\n\nfunction getFunctions() {\n var app = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getApp();\n var regionOrCustomDomain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_REGION;\n\n // Dependencies\n var functionsProvider = _getProvider(getModularInstance(app), FUNCTIONS_TYPE);\n\n var functionsInstance = functionsProvider.getImmediate({\n identifier: regionOrCustomDomain\n });\n var emulator = getDefaultEmulatorHostnameAndPort('functions');\n\n if (emulator) {\n connectFunctionsEmulator.apply(void 0, [functionsInstance].concat(_toConsumableArray(emulator)));\n }\n\n return functionsInstance;\n}\n/**\r\n * Modify this instance to communicate with the Cloud Functions emulator.\r\n *\r\n * Note: this must be called before this instance has been used to do any operations.\r\n *\r\n * @param host - The emulator host (ex: localhost)\r\n * @param port - The emulator port (ex: 5001)\r\n * @public\r\n */\n\n\nfunction connectFunctionsEmulator(functionsInstance, host, port) {\n connectFunctionsEmulator$1(getModularInstance(functionsInstance), host, port);\n}\n/**\r\n * Returns a reference to the callable HTTPS trigger with the given name.\r\n * @param name - The name of the trigger.\r\n * @public\r\n */\n\n\nfunction httpsCallable(functionsInstance, name, options) {\n return httpsCallable$1(getModularInstance(functionsInstance), name, options);\n}\n/**\r\n * Returns a reference to the callable HTTPS trigger with the specified url.\r\n * @param url - The url of the trigger.\r\n * @public\r\n */\n\n\nfunction httpsCallableFromURL(functionsInstance, url, options) {\n return httpsCallableFromURL$1(getModularInstance(functionsInstance), url, options);\n}\n/**\r\n * Cloud Functions for Firebase\r\n *\r\n * @packageDocumentation\r\n */\n\n\nregisterFunctions(fetch.bind(self));\nexport { connectFunctionsEmulator, getFunctions, httpsCallable, httpsCallableFromURL };","\"use strict\";\n\nexports.onRouteUpdate = function (_ref) {\n var location = _ref.location;\n\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(sendPageView);\n });\n } else {\n // simulate 2 rAF calls\n setTimeout(sendPageView, 32);\n }\n\n return null;\n};","/* eslint-disable no-unused-expressions */\nimport { stripIndent } from \"common-tags\"\nimport camelCase from \"camelcase\"\nimport { IGatsbyImageData } from \".\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record\n pngOptions?: Record\n webpOptions?: Record\n avifOptions?: Record\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array\n breakpoints?: Array\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record\n ) => IImage\n layout?: Layout\n formats?: Array\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record\n breakpoints?: Array\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array): Array =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(stripIndent`\n The requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* eslint-disable no-unused-expressions */\nimport {\n useState,\n CSSProperties,\n useEffect,\n HTMLAttributes,\n ImgHTMLAttributes,\n ReactEventHandler,\n SetStateAction,\n Dispatch,\n RefObject,\n} from \"react\"\nimport { Node } from \"gatsby\"\nimport { PlaceholderProps } from \"./placeholder\"\nimport { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport {\n IGatsbyImageHelperArgs,\n generateImageData,\n Layout,\n EVERY_BREAKPOINT,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\nconst imageCache = new Set()\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport function storeImageloaded(cacheKey?: string): void {\n if (cacheKey) {\n imageCache.add(cacheKey)\n }\n}\n\nexport function hasImageLoaded(cacheKey: string): boolean {\n return imageCache.has(cacheKey)\n}\nexport type IGatsbyImageDataParent = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type FileNode = Node & {\n childImageSharp?: IGatsbyImageDataParent\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent | any\n): node is IGatsbyImageDataParent => Boolean(node?.gatsbyImageData)\n\nexport type ImageDataLike = FileNode | IGatsbyImageDataParent | IGatsbyImageData\nexport const getImage = (node: ImageDataLike): IGatsbyImageData | undefined => {\n if (isGatsbyImageData(node)) {\n return node\n }\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport async function applyPolyfill(\n ref: RefObject\n): Promise {\n if (!(`objectFitPolyfill` in window)) {\n await import(\n // @ts-ignore typescript can't find the module for some reason ¯\\_(ツ)_/¯\n /* webpackChunkName: \"gatsby-plugin-image-objectfit-polyfill\" */ `objectFitPolyfill`\n )\n }\n ;(window as any).objectFitPolyfill(ref.current)\n}\n\nexport interface IUrlBuilderArgs {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array\n\n breakpoints?: Array\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n toggleLoaded?: (loaded: boolean) => void,\n cacheKey?: string,\n ref?: RefObject,\n style: CSSProperties = {}\n): Partial {\n const onLoad: ReactEventHandler = function (e) {\n if (isLoaded) {\n return\n }\n\n storeImageloaded(cacheKey)\n\n const target = e.currentTarget\n const img = new Image()\n img.src = target.currentSrc\n\n if (img.decode) {\n // Decode the image through javascript to support our transition\n img\n .decode()\n .catch(() => {\n // ignore error, we just go forward\n })\n .then(() => {\n toggleLoaded(true)\n })\n } else {\n toggleLoaded(true)\n }\n }\n\n // Polyfill \"object-fit\" if unsupported (mostly IE)\n if (ref?.current && !(`objectFit` in document.documentElement.style)) {\n ref.current.dataset.objectFit = style.objectFit ?? `cover`\n ref.current.dataset.objectPosition = `${style.objectPosition ?? `50% 50%`}`\n applyPolyfill(ref)\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n onLoad,\n ref,\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes &\n Pick & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport function useImageLoaded(\n cacheKey: string,\n loading: \"lazy\" | \"eager\",\n ref: any\n): {\n isLoaded: boolean\n isLoading: boolean\n toggleLoaded: Dispatch>\n} {\n const [isLoaded, toggleLoaded] = useState(false)\n const [isLoading, toggleIsLoading] = useState(loading === `eager`)\n\n const rAF =\n typeof window !== `undefined` && `requestAnimationFrame` in window\n ? requestAnimationFrame\n : function (cb: TimerHandler): number {\n return setTimeout(cb, 16)\n }\n const cRAF =\n typeof window !== `undefined` && `cancelAnimationFrame` in window\n ? cancelAnimationFrame\n : clearTimeout\n\n useEffect(() => {\n let interval: number\n // @see https://stackoverflow.com/questions/44074747/componentdidmount-called-before-ref-callback/50019873#50019873\n function toggleIfRefExists(): void {\n if (ref.current) {\n if (loading === `eager` && ref.current.complete) {\n storeImageloaded(cacheKey)\n toggleLoaded(true)\n } else {\n toggleIsLoading(true)\n }\n } else {\n interval = rAF(toggleIfRefExists)\n }\n }\n toggleIfRefExists()\n\n return (): void => {\n cRAF(interval)\n }\n }, [])\n\n return {\n isLoading,\n isLoaded,\n toggleLoaded,\n }\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \n\nimport React, { Fragment, FunctionComponent } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n \n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer: string | null = null\n if (layout === `fullWidth`) {\n sizer = `
`\n }\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent =\n function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {\n // eslint-disable-next-line no-undef\n SERVER && \n }\n \n )\n }\n","/* eslint-disable filenames/match-regex */\nimport React, {\n FunctionComponent,\n ImgHTMLAttributes,\n forwardRef,\n LegacyRef,\n} from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n innerRef: LegacyRef\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n innerRef,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture = forwardRef(\n function Picture(\n { fallback, sources = [], shouldLoad = true, ...props },\n ref\n ) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n }\n)\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React, { forwardRef } from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage = forwardRef(\n function MainImage(props, ref) {\n return (\n <>\n \n \n \n )\n }\n)\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","/* global HAS_REACT_18 */\n/* eslint-disable no-unused-expressions */\nimport React, {\n Component,\n ElementType,\n createRef,\n MutableRefObject,\n FunctionComponent,\n ImgHTMLAttributes,\n RefObject,\n CSSProperties,\n} from \"react\"\nimport {\n getWrapperProps,\n hasNativeLazyLoadSupport,\n storeImageloaded,\n hasImageLoaded,\n gatsbyImageIsInstalled,\n} from \"./hooks\"\nimport { PlaceholderProps } from \"./placeholder\"\nimport { MainImageProps } from \"./main-image\"\nimport { Layout } from \"../image-utils\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport { Unobserver } from \"./intersection-observer\"\nimport type { Root } from \"react-dom/client\"\n\nlet reactRender\nif (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n reactRender = (\n Component: React.ReactChild | Iterable,\n el: ReactDOM.Container,\n root: Root\n ): Root => {\n if (!root) {\n root = reactDomClient.createRoot(el)\n }\n\n root.render(Component)\n\n return root\n }\n} else {\n const reactDomClient = require(`react-dom`)\n reactRender = (\n Component: React.ReactChild | Iterable,\n el: ReactDOM.Container\n ): void => {\n reactDomClient.render(Component, el)\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: () => void\n onError?: () => void\n onStartLoad?: (props: { wasCached?: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nclass GatsbyImageHydrator extends Component<\n GatsbyImageProps,\n { isLoading: boolean; isLoaded: boolean }\n> {\n root: RefObject = createRef<\n HTMLImageElement | undefined\n >()\n hydrated: MutableRefObject = { current: false }\n forceRender: MutableRefObject = {\n // In dev we use render not hydrate, to avoid hydration warnings\n current: process.env.NODE_ENV === `development`,\n }\n lazyHydrator: () => void | null = null\n ref = createRef()\n unobserveRef: Unobserver\n reactRootRef: MutableRefObject = createRef()\n\n constructor(props) {\n super(props)\n\n this.state = {\n isLoading: hasNativeLazyLoadSupport(),\n isLoaded: false,\n }\n }\n\n _lazyHydrate(props, state): Promise {\n const hasSSRHtml = this.root.current.querySelector(\n `[data-gatsby-image-ssr]`\n )\n // On first server hydration do nothing\n if (hasNativeLazyLoadSupport() && hasSSRHtml && !this.hydrated.current) {\n this.hydrated.current = true\n return Promise.resolve()\n }\n\n return import(`./lazy-hydrate`).then(({ lazyHydrate }) => {\n const cacheKey = JSON.stringify(this.props.image.images)\n this.lazyHydrator = lazyHydrate(\n {\n image: props.image.images,\n isLoading: state.isLoading || hasImageLoaded(cacheKey),\n isLoaded: state.isLoaded || hasImageLoaded(cacheKey),\n toggleIsLoaded: () => {\n props.onLoad?.()\n\n this.setState({\n isLoaded: true,\n })\n },\n ref: this.ref,\n ...props,\n },\n this.root,\n this.hydrated,\n this.forceRender,\n this.reactRootRef\n )\n })\n }\n\n /**\n * Choose if setupIntersectionObserver should use the image cache or not.\n */\n _setupIntersectionObserver(useCache = true): void {\n import(`./intersection-observer`).then(({ createIntersectionObserver }) => {\n const intersectionObserver = createIntersectionObserver(() => {\n if (this.root.current) {\n const cacheKey = JSON.stringify(this.props.image.images)\n this.props.onStartLoad?.({\n wasCached: useCache && hasImageLoaded(cacheKey),\n })\n this.setState({\n isLoading: true,\n isLoaded: useCache && hasImageLoaded(cacheKey),\n })\n }\n })\n\n if (this.root.current) {\n this.unobserveRef = intersectionObserver(this.root)\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState): boolean {\n let hasChanged = false\n if (!this.state.isLoading && nextState.isLoading && !nextState.isLoaded) {\n // Props have changed between SSR and hydration, so we need to force render instead of hydrate\n this.forceRender.current = true\n }\n // this check mostly means people do not have the correct ref checks in place, we want to reset some state to suppport loading effects\n if (this.props.image.images !== nextProps.image.images) {\n // reset state, we'll rely on intersection observer to reload\n if (this.unobserveRef) {\n // unregister intersectionObserver\n this.unobserveRef()\n\n // // on unmount, make sure we cleanup\n if (this.hydrated.current && this.lazyHydrator) {\n this.reactRootRef.current = reactRender(\n null,\n this.root.current,\n this.reactRootRef.current\n )\n }\n }\n\n this.setState(\n {\n isLoading: false,\n isLoaded: false,\n },\n () => {\n this._setupIntersectionObserver(false)\n }\n )\n\n hasChanged = true\n }\n\n if (this.root.current && !hasChanged) {\n this._lazyHydrate(nextProps, nextState)\n }\n\n return false\n }\n\n componentDidMount(): void {\n if (this.root.current) {\n const ssrElement = this.root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n const cacheKey = JSON.stringify(this.props.image.images)\n\n // when SSR and native lazyload is supported we'll do nothing ;)\n if (\n hasNativeLazyLoadSupport() &&\n ssrElement &&\n gatsbyImageIsInstalled()\n ) {\n this.props.onStartLoad?.({ wasCached: false })\n\n // When the image is already loaded before we have hydrated, we trigger onLoad and cache the item\n if (ssrElement.complete) {\n this.props.onLoad?.()\n storeImageloaded(cacheKey)\n } else {\n // We need the current class context (this) inside our named onLoad function\n // The named function is necessary to easily remove the listener afterward.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this\n // add an onLoad to the image\n ssrElement.addEventListener(`load`, function onLoad() {\n ssrElement.removeEventListener(`load`, onLoad)\n\n _this.props.onLoad?.()\n storeImageloaded(cacheKey)\n })\n }\n\n return\n }\n\n // Fallback to custom lazy loading (intersection observer)\n this._setupIntersectionObserver(true)\n }\n }\n\n componentWillUnmount(): void {\n // Cleanup when onmount happens\n if (this.unobserveRef) {\n // unregister intersectionObserver\n this.unobserveRef()\n\n // on unmount, make sure we cleanup\n if (this.hydrated.current && this.lazyHydrator) {\n this.lazyHydrator()\n }\n }\n\n return\n }\n\n render(): JSX.Element {\n const Type = this.props.as || `div`\n const { width, height, layout } = this.props.image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n let className = this.props.className\n // preact class\n if (this.props.class) {\n className = this.props.class\n }\n\n const sizer = getSizer(layout, width, height)\n\n return (\n \n )\n }\n}\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n const { className, class: classSafe, backgroundColor, image } = props\n const { width, height, layout } = image\n const propsKey = JSON.stringify([\n width,\n height,\n layout,\n className,\n classSafe,\n backgroundColor,\n ])\n return \n }\n\nGatsbyImage.propTypes = propTypes\n\nGatsbyImage.displayName = `GatsbyImage`\n","import React, {\n ElementType,\n FunctionComponent,\n CSSProperties,\n WeakValidationMap,\n} from \"react\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImageHydrator: FunctionComponent<{\n as?: ElementType\n style?: CSSProperties\n className?: string\n}> = function GatsbyImageHydrator({ as: Type = `div`, children, ...props }) {\n return {children}\n}\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n if (preactClass) {\n className = preactClass\n }\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return (\n \n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n undefined,\n undefined,\n undefined,\n imgStyle\n )}\n />\n \n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n return PropTypes.string(props, propName, componentName, ...rest)\n}\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import * as React from \"react\"\nexport function LaterHydrator({\n children,\n}: React.PropsWithChildren>): React.ReactNode {\n React.useEffect(() => {\n // eslint-disable-next-line no-unused-expressions\n import(`./lazy-hydrate`)\n }, [])\n\n return children\n}\n","import React from \"react\"\nimport { LaterHydrator } from \".\"\n\nexport function wrapRootElement({ element }) {\n return {element}\n}\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\"; // when we don't have localisation in our manifest, we tree shake everything away\n\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _gatsby = require(\"gatsby\");\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n\n return pathname.startsWith(startUrl);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\n\nexports.default = _default;","import React from 'react';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\n\nvar MDXContext = /*#__PURE__*/React.createContext({});\n\nvar withMDXComponents = function withMDXComponents(Component) {\n return function (props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n components: allComponents\n }));\n };\n};\n\nvar useMDXComponents = function useMDXComponents(components) {\n var contextComponents = React.useContext(MDXContext);\n var allComponents = contextComponents;\n\n if (components) {\n allComponents = isFunction(components) ? components(contextComponents) : _objectSpread2(_objectSpread2({}, contextComponents), components);\n }\n\n return allComponents;\n};\n\nvar MDXProvider = function MDXProvider(props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(MDXContext.Provider, {\n value: allComponents\n }, props.children);\n};\n\nvar TYPE_PROP_NAME = 'mdxType';\nvar DEFAULTS = {\n inlineCode: 'code',\n wrapper: function wrapper(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, {}, children);\n }\n};\nvar MDXCreateElement = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var propComponents = props.components,\n mdxType = props.mdxType,\n originalType = props.originalType,\n parentName = props.parentName,\n etc = _objectWithoutProperties(props, [\"components\", \"mdxType\", \"originalType\", \"parentName\"]);\n\n var components = useMDXComponents(propComponents);\n var type = mdxType;\n var Component = components[\"\".concat(parentName, \".\").concat(type)] || components[type] || DEFAULTS[type] || originalType;\n\n if (propComponents) {\n return /*#__PURE__*/React.createElement(Component, _objectSpread2(_objectSpread2({\n ref: ref\n }, etc), {}, {\n components: propComponents\n }));\n }\n\n return /*#__PURE__*/React.createElement(Component, _objectSpread2({\n ref: ref\n }, etc));\n});\nMDXCreateElement.displayName = 'MDXCreateElement';\n\nfunction createElement(type, props) {\n var args = arguments;\n var mdxType = props && props.mdxType;\n\n if (typeof type === 'string' || mdxType) {\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = MDXCreateElement;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.originalType = type;\n newProps[TYPE_PROP_NAME] = typeof type === 'string' ? type : mdxType;\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n }\n\n return React.createElement.apply(null, args);\n}\n\nexport { MDXContext, MDXProvider, createElement as mdx, useMDXComponents, withMDXComponents };","import React, { createContext, useContext } from \"react\"\n\nconst GatsbyMDXScopeContext = createContext({})\n\nexport const useMDXScope = scope => {\n const contextScope = useContext(GatsbyMDXScopeContext)\n return scope || contextScope\n}\n\nexport const MDXScopeProvider = ({ __mdxScope, children }) =>\n React.createElement(\n GatsbyMDXScopeContext.Provider,\n { value: __mdxScope },\n children\n )\n","export default\n Object.assign({}, )\n ","import React from \"react\"\nimport { MDXProvider, withMDXComponents } from \"@mdx-js/react\"\nimport { MDXScopeProvider } from \"./context\"\n\n/**\n * so, this import is weird right?\n *\n * # What it looks like:\n * we're importing a webpack loader directly into our runtime bundle\n *\n * # What it's actually doing:\n * We configure the `mdx-components` loader in gatsby-node's\n * `onCreateWebpackConfig`. The configuration sets the loader to handle its\n * own file, so if we import `./loaders/mdx-components`, the `mdx-components`\n * loader handles loading itself.\n *\n * # Why does this work?\n * The loader doesn't use the file argument to itself and instead returns\n * a generated file that includes the `gatsby-config` mdxPlugins wrapped in\n * require() statements. This results in the `mdxPlugins` being required\n * and available to the code after this import.\n *\n * # Have a better solution to this?\n * Submit a PR\n */\nimport { plugins as mdxPlugins } from \"./loaders/mdx-components\"\nimport scopeContexts from \"./loaders/mdx-scopes\"\n\nconst componentsAndGuards = {}\n\nconst componentFromGuards = arr =>\n function GatsbyMDXComponentFinder(props) {\n const { Component } = arr.find(({ guard }) => (guard ? guard(props) : true))\n return \n }\n\nmdxPlugins.forEach(({ guards = {}, components }) => {\n Object.entries(components).forEach(([componentName, Component]) => {\n if (componentsAndGuards[componentName]) {\n componentsAndGuards.push({ guard: guards[componentName], Component })\n } else {\n componentsAndGuards[componentName] = [\n { guard: guards[componentName], Component },\n ]\n }\n })\n})\n\nconst components = Object.entries(componentsAndGuards)\n .map(([name, arr]) => {\n return {\n [name]: componentFromGuards(\n arr.concat({ guard: undefined, Component: name })\n ),\n }\n })\n .reduce((acc, obj) => {\n return { ...acc, ...obj }\n }, {})\n\n// merge any components in wrapRootElement above this wrapRoot\nconst MDXConsumer = withMDXComponents(\n ({ components: componentsFromContext, children }) => (\n \n \n {children}\n \n \n )\n)\n\nconst WrapRootElement = ({ element }) => {element}\n\nexport default WrapRootElement\n","import wrap from \"./wrap-root-element\"\nexport const wrapRootElement = wrap\n","module.exports = {plugins: []}","import invariant from \"invariant\"; ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable jsx-a11y/anchor-has-content */\n\n\nimport React, { useContext, createContext } from \"react\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\"; ////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\n\n\nvar LocationContext = createNamedContext(\"Location\"); // sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\n\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n\n return LocationProvider;\n}(React.Component); ////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n}; ////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\n\n\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n}); ////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\n\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value; // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined); // using 'div' for < 16.3 support\n\n var FocusWrapper = primary ? FocusHandler : component; // don't pass any props to 'div'\n\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n}; // don't focus on initial render\n\n\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {}; ////////////////////////////////////////////////////////////////////////////////\n\n\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = \"Link\";\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n } // Support React < 16 with this hook\n\n\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\n\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}; ////////////////////////////////////////////////////////////////////////\n\n\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\n\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.5.4 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\\\"pt0\\\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.5.4\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `