{"version":3,"file":"8101.034e0727.js","mappings":"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","sources":["webpack://@finviz/website/../node_modules/lodash.isplainobject/index.js","webpack://@finviz/website/../node_modules/core-js/internals/a-callable.js","webpack://@finviz/website/../node_modules/core-js/internals/a-possible-prototype.js","webpack://@finviz/website/../node_modules/core-js/internals/an-object.js","webpack://@finviz/website/../node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://@finviz/website/../node_modules/core-js/internals/array-buffer-byte-length.js","webpack://@finviz/website/../node_modules/core-js/internals/array-buffer-is-detached.js","webpack://@finviz/website/../node_modules/core-js/internals/array-buffer-transfer.js","webpack://@finviz/website/../node_modules/core-js/internals/array-buffer-view-core.js","webpack://@finviz/website/../node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://@finviz/website/../node_modules/core-js/internals/array-includes.js","webpack://@finviz/website/../node_modules/core-js/internals/array-iteration-from-last.js","webpack://@finviz/website/../node_modules/core-js/internals/array-to-reversed.js","webpack://@finviz/website/../node_modules/core-js/internals/array-with.js","webpack://@finviz/website/../node_modules/core-js/internals/classof-raw.js","webpack://@finviz/website/../node_modules/core-js/internals/classof.js","webpack://@finviz/website/../node_modules/core-js/internals/copy-constructor-properties.js","webpack://@finviz/website/../node_modules/core-js/internals/correct-prototype-getter.js","webpack://@finviz/website/../node_modules/core-js/internals/create-non-enumerable-property.js","webpack://@finviz/website/../node_modules/core-js/internals/create-property-descriptor.js","webpack://@finviz/website/../node_modules/core-js/internals/define-built-in-accessor.js","webpack://@finviz/website/../node_modules/core-js/internals/define-built-in.js","webpack://@finviz/website/../node_modules/core-js/internals/define-global-property.js","webpack://@finviz/website/../node_modules/core-js/internals/descriptors.js","webpack://@finviz/website/../node_modules/core-js/internals/detach-transferable.js","webpack://@finviz/website/../node_modules/core-js/internals/document-create-element.js","webpack://@finviz/website/../node_modules/core-js/internals/engine-is-browser.js","webpack://@finviz/website/../node_modules/core-js/internals/engine-is-deno.js","webpack://@finviz/website/../node_modules/core-js/internals/engine-is-node.js","webpack://@finviz/website/../node_modules/core-js/internals/engine-user-agent.js","webpack://@finviz/website/../node_modules/core-js/internals/engine-v8-version.js","webpack://@finviz/website/../node_modules/core-js/internals/enum-bug-keys.js","webpack://@finviz/website/../node_modules/core-js/internals/export.js","webpack://@finviz/website/../node_modules/core-js/internals/fails.js","webpack://@finviz/website/../node_modules/core-js/internals/function-bind-context.js","webpack://@finviz/website/../node_modules/core-js/internals/function-bind-native.js","webpack://@finviz/website/../node_modules/core-js/internals/function-call.js","webpack://@finviz/website/../node_modules/core-js/internals/function-name.js","webpack://@finviz/website/../node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://@finviz/website/../node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://@finviz/website/../node_modules/core-js/internals/function-uncurry-this.js","webpack://@finviz/website/../node_modules/core-js/internals/get-built-in.js","webpack://@finviz/website/../node_modules/core-js/internals/get-method.js","webpack://@finviz/website/../node_modules/core-js/internals/global.js","webpack://@finviz/website/../node_modules/core-js/internals/has-own-property.js","webpack://@finviz/website/../node_modules/core-js/internals/hidden-keys.js","webpack://@finviz/website/../node_modules/core-js/internals/ie8-dom-define.js","webpack://@finviz/website/../node_modules/core-js/internals/indexed-object.js","webpack://@finviz/website/../node_modules/core-js/internals/inspect-source.js","webpack://@finviz/website/../node_modules/core-js/internals/internal-state.js","webpack://@finviz/website/../node_modules/core-js/internals/is-big-int-array.js","webpack://@finviz/website/../node_modules/core-js/internals/is-callable.js","webpack://@finviz/website/../node_modules/core-js/internals/is-forced.js","webpack://@finviz/website/../node_modules/core-js/internals/is-null-or-undefined.js","webpack://@finviz/website/../node_modules/core-js/internals/is-object.js","webpack://@finviz/website/../node_modules/core-js/internals/is-possible-prototype.js","webpack://@finviz/website/../node_modules/core-js/internals/is-pure.js","webpack://@finviz/website/../node_modules/core-js/internals/is-symbol.js","webpack://@finviz/website/../node_modules/core-js/internals/length-of-array-like.js","webpack://@finviz/website/../node_modules/core-js/internals/make-built-in.js","webpack://@finviz/website/../node_modules/core-js/internals/math-trunc.js","webpack://@finviz/website/../node_modules/core-js/internals/object-define-property.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-own-property-names.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-prototype-of.js","webpack://@finviz/website/../node_modules/core-js/internals/object-is-prototype-of.js","webpack://@finviz/website/../node_modules/core-js/internals/object-keys-internal.js","webpack://@finviz/website/../node_modules/core-js/internals/object-property-is-enumerable.js","webpack://@finviz/website/../node_modules/core-js/internals/object-set-prototype-of.js","webpack://@finviz/website/../node_modules/core-js/internals/ordinary-to-primitive.js","webpack://@finviz/website/../node_modules/core-js/internals/own-keys.js","webpack://@finviz/website/../node_modules/core-js/internals/require-object-coercible.js","webpack://@finviz/website/../node_modules/core-js/internals/shared-key.js","webpack://@finviz/website/../node_modules/core-js/internals/shared-store.js","webpack://@finviz/website/../node_modules/core-js/internals/shared.js","webpack://@finviz/website/../node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://@finviz/website/../node_modules/core-js/internals/symbol-constructor-detection.js","webpack://@finviz/website/../node_modules/core-js/internals/to-absolute-index.js","webpack://@finviz/website/../node_modules/core-js/internals/to-big-int.js","webpack://@finviz/website/../node_modules/core-js/internals/to-index.js","webpack://@finviz/website/../node_modules/core-js/internals/to-indexed-object.js","webpack://@finviz/website/../node_modules/core-js/internals/to-integer-or-infinity.js","webpack://@finviz/website/../node_modules/core-js/internals/to-length.js","webpack://@finviz/website/../node_modules/core-js/internals/to-object.js","webpack://@finviz/website/../node_modules/core-js/internals/to-primitive.js","webpack://@finviz/website/../node_modules/core-js/internals/to-property-key.js","webpack://@finviz/website/../node_modules/core-js/internals/to-string-tag-support.js","webpack://@finviz/website/../node_modules/core-js/internals/to-string.js","webpack://@finviz/website/../node_modules/core-js/internals/try-node-require.js","webpack://@finviz/website/../node_modules/core-js/internals/try-to-string.js","webpack://@finviz/website/../node_modules/core-js/internals/uid.js","webpack://@finviz/website/../node_modules/core-js/internals/use-symbol-as-uid.js","webpack://@finviz/website/../node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://@finviz/website/../node_modules/core-js/internals/validate-arguments-length.js","webpack://@finviz/website/../node_modules/core-js/internals/weak-map-basic-detection.js","webpack://@finviz/website/../node_modules/core-js/internals/well-known-symbol.js","webpack://@finviz/website/../node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://@finviz/website/../node_modules/core-js/modules/es.typed-array.find-last.js","webpack://@finviz/website/../node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://@finviz/website/../node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://@finviz/website/../node_modules/core-js/modules/es.typed-array.with.js","webpack://@finviz/website/../node_modules/core-js/modules/esnext.array-buffer.detached.js","webpack://@finviz/website/../node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js","webpack://@finviz/website/../node_modules/core-js/modules/esnext.array-buffer.transfer.js","webpack://@finviz/website/../node_modules/core-js/modules/web.url-search-params.delete.js","webpack://@finviz/website/../node_modules/core-js/modules/web.url-search-params.has.js","webpack://@finviz/website/../node_modules/core-js/modules/web.url-search-params.size.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/constants.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/carrier.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/defaultScopes.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/asyncContext/index.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/currentScopes.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/debug-build.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/exports.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/propagationContext.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/utils/spanOnScope.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/scope.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/semanticAttributes.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/session.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/baggage.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/utils/hasTracingEnabled.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/eventProcessors.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/utils/applyScopeDataToEvent.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/utils/prepareEvent.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/metrics/metric-summary.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/tracing/spanstatus.js","webpack://@finviz/website/../node_modules/@sentry/core/build/esm/utils/spanUtils.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/browser.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/debug-build.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/is.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/logger.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/misc.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/normalize.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/memo.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/object.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/stacktrace.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/string.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/syncpromise.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/time.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/version.js","webpack://@finviz/website/../node_modules/@sentry/utils/build/esm/worldwide.js"],"sourcesContent":["/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar $TypeError = TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) !== 'ArrayBuffer') throw new $TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar slice = uncurryThis(ArrayBuffer.prototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar isDetached = require('../internals/array-buffer-is-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar detachTransferable = require('../internals/detach-transferable');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = global.structuredClone;\nvar ArrayBuffer = global.ArrayBuffer;\nvar DataView = global.DataView;\nvar TypeError = global.TypeError;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n var newBuffer;\n if (isDetached(arrayBuffer)) throw new TypeError('ArrayBuffer is detached');\n if (PROPER_STRUCTURED_CLONE_TRANSFER) {\n arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer;\n }\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) {\n newBuffer = slice(arrayBuffer, 0, newByteLength);\n } else {\n var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined;\n newBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(arrayBuffer);\n var b = new DataView(newBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n }\n if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);\n return newBuffer;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE === 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var index = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar tryNodeRequire = require('../internals/try-node-require');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = global.structuredClone;\nvar $ArrayBuffer = global.ArrayBuffer;\nvar $MessageChannel = global.MessageChannel;\nvar detach = false;\nvar WorkerThreads, channel, buffer, $detach;\n\nif (PROPER_STRUCTURED_CLONE_TRANSFER) {\n detach = function (transferable) {\n structuredClone(transferable, { transfer: [transferable] });\n };\n} else if ($ArrayBuffer) try {\n if (!$MessageChannel) {\n WorkerThreads = tryNodeRequire('worker_threads');\n if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;\n }\n\n if ($MessageChannel) {\n channel = new $MessageChannel();\n buffer = new $ArrayBuffer(2);\n\n $detach = function (transferable) {\n channel.port1.postMessage(null, [transferable]);\n };\n\n if (buffer.byteLength === 2) {\n $detach(buffer);\n if (buffer.byteLength === 0) detach = $detach;\n }\n }\n} catch (error) { /* empty */ }\n\nmodule.exports = detach;\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar 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.35.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.35.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","const DEFAULT_ENVIRONMENT = 'production';\n\nexport { DEFAULT_ENVIRONMENT };\n//# sourceMappingURL=constants.js.map\n","import { GLOBAL_OBJ, SDK_VERSION } from '@sentry/utils';\n\n/**\n * An object that contains globally accessible properties and maintains a scope stack.\n * @hidden\n */\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nfunction getMainCarrier() {\n // This ensures a Sentry carrier exists\n getSentryCarrier(GLOBAL_OBJ);\n return GLOBAL_OBJ;\n}\n\n/** Will either get the existing sentry carrier, or create a new one. */\nfunction getSentryCarrier(carrier) {\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n\n // For now: First SDK that sets the .version property wins\n __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n\n // Intentionally populating and returning the version of \"this\" SDK instance\n // rather than what's set in .version so that \"this\" SDK always gets its carrier\n return (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n}\n\nexport { getMainCarrier, getSentryCarrier };\n//# sourceMappingURL=carrier.js.map\n","import { isThenable } from '@sentry/utils';\nimport { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes.js';\nimport { Scope } from '../scope.js';\nimport { getMainCarrier, getSentryCarrier } from '../carrier.js';\n\n/**\n * This is an object that holds a stack of scopes.\n */\nclass AsyncContextStack {\n\n constructor(scope, isolationScope) {\n let assignedScope;\n if (!scope) {\n assignedScope = new Scope();\n } else {\n assignedScope = scope;\n }\n\n let assignedIsolationScope;\n if (!isolationScope) {\n assignedIsolationScope = new Scope();\n } else {\n assignedIsolationScope = isolationScope;\n }\n\n // scope stack for domains or the process\n this._stack = [{ scope: assignedScope }];\n this._isolationScope = assignedIsolationScope;\n }\n\n /**\n * Fork a scope for the stack.\n */\n withScope(callback) {\n const scope = this._pushScope();\n\n let maybePromiseResult;\n try {\n maybePromiseResult = callback(scope);\n } catch (e) {\n this._popScope();\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n // @ts-expect-error - isThenable returns the wrong type\n return maybePromiseResult.then(\n res => {\n this._popScope();\n return res;\n },\n e => {\n this._popScope();\n throw e;\n },\n );\n }\n\n this._popScope();\n return maybePromiseResult;\n }\n\n /**\n * Get the client of the stack.\n */\n getClient() {\n return this.getStackTop().client ;\n }\n\n /**\n * Returns the scope of the top stack.\n */\n getScope() {\n return this.getStackTop().scope;\n }\n\n /**\n * Get the isolation scope for the stack.\n */\n getIsolationScope() {\n return this._isolationScope;\n }\n\n /**\n * Returns the topmost scope layer in the order domain > local > process.\n */\n getStackTop() {\n return this._stack[this._stack.length - 1] ;\n }\n\n /**\n * Push a scope to the stack.\n */\n _pushScope() {\n // We want to clone the content of prev scope\n const scope = this.getScope().clone();\n this._stack.push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * Pop a scope from the stack.\n */\n _popScope() {\n if (this._stack.length <= 1) return false;\n return !!this._stack.pop();\n }\n}\n\n/**\n * Get the global async context stack.\n * This will be removed during the v8 cycle and is only here to make migration easier.\n */\nfunction getAsyncContextStack() {\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n\n return (sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope()));\n}\n\nfunction withScope(callback) {\n return getAsyncContextStack().withScope(callback);\n}\n\nfunction withSetScope(scope, callback) {\n const stack = getAsyncContextStack() ;\n return stack.withScope(() => {\n stack.getStackTop().scope = scope;\n return callback(scope);\n });\n}\n\nfunction withIsolationScope(callback) {\n return getAsyncContextStack().withScope(() => {\n return callback(getAsyncContextStack().getIsolationScope());\n });\n}\n\n/**\n * Get the stack-based async context strategy.\n */\nfunction getStackAsyncContextStrategy() {\n return {\n withIsolationScope,\n withScope,\n withSetScope,\n withSetIsolationScope: (_isolationScope, callback) => {\n return withIsolationScope(callback);\n },\n getCurrentScope: () => getAsyncContextStack().getScope(),\n getIsolationScope: () => getAsyncContextStack().getIsolationScope(),\n };\n}\n\nexport { AsyncContextStack, getStackAsyncContextStrategy };\n//# sourceMappingURL=stackStrategy.js.map\n","import { getGlobalSingleton } from '@sentry/utils';\nimport { Scope } from './scope.js';\n\n/** Get the default current scope. */\nfunction getDefaultCurrentScope() {\n return getGlobalSingleton('defaultCurrentScope', () => new Scope());\n}\n\n/** Get the default isolation scope. */\nfunction getDefaultIsolationScope() {\n return getGlobalSingleton('defaultIsolationScope', () => new Scope());\n}\n\nexport { getDefaultCurrentScope, getDefaultIsolationScope };\n//# sourceMappingURL=defaultScopes.js.map\n","import { getMainCarrier, getSentryCarrier } from '../carrier.js';\nimport { getStackAsyncContextStrategy } from './stackStrategy.js';\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nfunction setAsyncContextStrategy(strategy) {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n sentry.acs = strategy;\n}\n\n/**\n * Get the current async context strategy.\n * If none has been setup, the default will be used.\n */\nfunction getAsyncContextStrategy(carrier) {\n const sentry = getSentryCarrier(carrier);\n\n if (sentry.acs) {\n return sentry.acs;\n }\n\n // Otherwise, use the default one (stack)\n return getStackAsyncContextStrategy();\n}\n\nexport { getAsyncContextStrategy, setAsyncContextStrategy };\n//# sourceMappingURL=index.js.map\n","import { getGlobalSingleton } from '@sentry/utils';\nimport { getAsyncContextStrategy } from './asyncContext/index.js';\nimport { getMainCarrier } from './carrier.js';\nimport { Scope } from './scope.js';\n\n/**\n * Get the currently active scope.\n */\nfunction getCurrentScope() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getCurrentScope();\n}\n\n/**\n * Get the currently active isolation scope.\n * The isolation scope is active for the current execution context.\n */\nfunction getIsolationScope() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getIsolationScope();\n}\n\n/**\n * Get the global scope.\n * This scope is applied to _all_ events.\n */\nfunction getGlobalScope() {\n return getGlobalSingleton('globalScope', () => new Scope());\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n */\n\n/**\n * Either creates a new active scope, or sets the given scope as active scope in the given callback.\n */\nfunction withScope(\n ...rest\n) {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [scope, callback] = rest;\n\n if (!scope) {\n return acs.withScope(callback);\n }\n\n return acs.withSetScope(scope, callback);\n }\n\n return acs.withScope(rest[0]);\n}\n\n/**\n * Attempts to fork the current isolation scope and the current scope based on the current async context strategy. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n */\n\n/**\n * Either creates a new active isolation scope, or sets the given isolation scope as active scope in the given callback.\n */\nfunction withIsolationScope(\n ...rest\n\n) {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [isolationScope, callback] = rest;\n\n if (!isolationScope) {\n return acs.withIsolationScope(callback);\n }\n\n return acs.withSetIsolationScope(isolationScope, callback);\n }\n\n return acs.withIsolationScope(rest[0]);\n}\n\n/**\n * Get the currently active client.\n */\nfunction getClient() {\n return getCurrentScope().getClient();\n}\n\nexport { getClient, getCurrentScope, getGlobalScope, getIsolationScope, withIsolationScope, withScope };\n//# sourceMappingURL=currentScopes.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { logger, uuid4, timestampInSeconds, isThenable, GLOBAL_OBJ } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { getCurrentScope, getIsolationScope, getClient, withIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { makeSession, updateSession, closeSession } from './session.js';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent.js';\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception The exception to capture.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured Sentry event.\n */\nfunction captureException(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n exception,\n hint,\n) {\n return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param captureContext Define the level of the message or pass in additional data to attach to the message.\n * @returns the id of the captured message.\n */\nfunction captureMessage(message, captureContext) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentScope().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured event.\n */\nfunction captureEvent(event, hint) {\n return getCurrentScope().captureEvent(event, hint);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setContext(name, context) {\n getIsolationScope().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nfunction setExtras(extras) {\n getIsolationScope().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nfunction setExtra(key, extra) {\n getIsolationScope().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nfunction setTags(tags) {\n getIsolationScope().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nfunction setTag(key, value) {\n getIsolationScope().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nfunction setUser(user) {\n getIsolationScope().setUser(user);\n}\n\n/**\n * The last error event id of the isolation scope.\n *\n * Warning: This function really returns the last recorded error event id on the current\n * isolation scope. If you call this function after handling a certain error and another error\n * is captured in between, the last one is returned instead of the one you might expect.\n * Also, ids of events that were never sent to Sentry (for example because\n * they were dropped in `beforeSend`) could be returned.\n *\n * @returns The last event id of the isolation scope.\n */\nfunction lastEventId() {\n return getIsolationScope().lastEventId();\n}\n\n/**\n * Create a cron monitor check in and send it to Sentry.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nfunction captureCheckIn(checkIn, upsertMonitorConfig) {\n const scope = getCurrentScope();\n const client = getClient();\n if (!client) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. No client defined.');\n } else if (!client.captureCheckIn) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. Client does not support sending check-ins.');\n } else {\n return client.captureCheckIn(checkIn, upsertMonitorConfig, scope);\n }\n\n return uuid4();\n}\n\n/**\n * Wraps a callback with a cron monitor check in. The check in will be sent to Sentry when the callback finishes.\n *\n * @param monitorSlug The distinct slug of the monitor.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nfunction withMonitor(\n monitorSlug,\n callback,\n upsertMonitorConfig,\n) {\n const checkInId = captureCheckIn({ monitorSlug, status: 'in_progress' }, upsertMonitorConfig);\n const now = timestampInSeconds();\n\n function finishCheckIn(status) {\n captureCheckIn({ monitorSlug, status, checkInId, duration: timestampInSeconds() - now });\n }\n\n return withIsolationScope(() => {\n let maybePromiseResult;\n try {\n maybePromiseResult = callback();\n } catch (e) {\n finishCheckIn('error');\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n Promise.resolve(maybePromiseResult).then(\n () => {\n finishCheckIn('ok');\n },\n e => {\n finishCheckIn('error');\n throw e;\n },\n );\n } else {\n finishCheckIn('ok');\n }\n\n return maybePromiseResult;\n });\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nasync function flush(timeout) {\n const client = getClient();\n if (client) {\n return client.flush(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nasync function close(timeout) {\n const client = getClient();\n if (client) {\n return client.close(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Returns true if Sentry has been properly initialized.\n */\nfunction isInitialized() {\n return !!getClient();\n}\n\n/** If the SDK is initialized & enabled. */\nfunction isEnabled() {\n const client = getClient();\n return !!client && client.getOptions().enabled !== false && !!client.getTransport();\n}\n\n/**\n * Add an event processor.\n * This will be added to the current isolation scope, ensuring any event that is processed in the current execution\n * context will have the processor applied.\n */\nfunction addEventProcessor(callback) {\n getIsolationScope().addEventProcessor(callback);\n}\n\n/**\n * Start a session on the current isolation scope.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns the new active session\n */\nfunction startSession(context) {\n const client = getClient();\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const { release, environment = DEFAULT_ENVIRONMENT } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n user: currentScope.getUser() || isolationScope.getUser(),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n // End existing session if there's one\n const currentSession = isolationScope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n\n endSession();\n\n // Afterwards we set the new session on the scope\n isolationScope.setSession(session);\n\n // TODO (v8): Remove this and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n currentScope.setSession(session);\n\n return session;\n}\n\n/**\n * End the session on the current isolation scope.\n */\nfunction endSession() {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session) {\n closeSession(session);\n }\n _sendSessionUpdate();\n\n // the session is over; take it off of the scope\n isolationScope.setSession();\n\n // TODO (v8): Remove this and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n currentScope.setSession();\n}\n\n/**\n * Sends the current Session on the scope\n */\nfunction _sendSessionUpdate() {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n const client = getClient();\n // TODO (v8): Remove currentScope and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session && client) {\n client.captureSession(session);\n }\n}\n\n/**\n * Sends the current session on the scope to Sentry\n *\n * @param end If set the session will be marked as exited and removed from the scope.\n * Defaults to `false`.\n */\nfunction captureSession(end = false) {\n // both send the update and pull the session from the scope\n if (end) {\n endSession();\n return;\n }\n\n // only send the update\n _sendSessionUpdate();\n}\n\nexport { addEventProcessor, captureCheckIn, captureEvent, captureException, captureMessage, captureSession, close, endSession, flush, isEnabled, isInitialized, lastEventId, setContext, setExtra, setExtras, setTag, setTags, setUser, startSession, withMonitor };\n//# sourceMappingURL=exports.js.map\n","import { uuid4 } from './misc.js';\n\n/**\n * Returns a new minimal propagation context\n */\nfunction generatePropagationContext() {\n return {\n traceId: uuid4(),\n spanId: uuid4().substring(16),\n };\n}\n\nexport { generatePropagationContext };\n//# sourceMappingURL=propagationContext.js.map\n","import { addNonEnumerableProperty } from '@sentry/utils';\n\nconst SCOPE_SPAN_FIELD = '_sentrySpan';\n\n/**\n * Set the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nfunction _setSpanForScope(scope, span) {\n if (span) {\n addNonEnumerableProperty(scope , SCOPE_SPAN_FIELD, span);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete (scope )[SCOPE_SPAN_FIELD];\n }\n}\n\n/**\n * Get the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nfunction _getSpanForScope(scope) {\n return scope[SCOPE_SPAN_FIELD];\n}\n\nexport { _getSpanForScope, _setSpanForScope };\n//# sourceMappingURL=spanOnScope.js.map\n","import { generatePropagationContext, isPlainObject, dateTimestampInSeconds, uuid4, logger } from '@sentry/utils';\nimport { updateSession } from './session.js';\nimport { _setSpanForScope, _getSpanForScope } from './utils/spanOnScope.js';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information.\n */\nclass ScopeClass {\n /** Flag if notifying is happening. */\n\n /** Callback for client to receive scope changes. */\n\n /** Callback list that will be called during event processing. */\n\n /** Array of breadcrumbs. */\n\n /** User */\n\n /** Tags */\n\n /** Extra */\n\n /** Contexts */\n\n /** Attachments */\n\n /** Propagation Context for distributed tracing */\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n\n /** Fingerprint */\n\n /** Severity */\n\n /**\n * Transaction Name\n *\n * IMPORTANT: The transaction name on the scope has nothing to do with root spans/transaction objects.\n * It's purpose is to assign a transaction to the scope that's added to non-transaction events.\n */\n\n /** Session */\n\n /** Request Mode Session Status */\n\n /** The client on this scope */\n\n /** Contains the last event id of a captured event. */\n\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n this._propagationContext = generatePropagationContext();\n }\n\n /**\n * @inheritDoc\n */\n clone() {\n const newScope = new ScopeClass();\n newScope._breadcrumbs = [...this._breadcrumbs];\n newScope._tags = { ...this._tags };\n newScope._extra = { ...this._extra };\n newScope._contexts = { ...this._contexts };\n newScope._user = this._user;\n newScope._level = this._level;\n newScope._session = this._session;\n newScope._transactionName = this._transactionName;\n newScope._fingerprint = this._fingerprint;\n newScope._eventProcessors = [...this._eventProcessors];\n newScope._requestSession = this._requestSession;\n newScope._attachments = [...this._attachments];\n newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n newScope._propagationContext = { ...this._propagationContext };\n newScope._client = this._client;\n newScope._lastEventId = this._lastEventId;\n\n _setSpanForScope(newScope, _getSpanForScope(this));\n\n return newScope;\n }\n\n /**\n * @inheritDoc\n */\n setClient(client) {\n this._client = client;\n }\n\n /**\n * @inheritDoc\n */\n setLastEventId(lastEventId) {\n this._lastEventId = lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n getClient() {\n return this._client ;\n }\n\n /**\n * @inheritDoc\n */\n lastEventId() {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n // If null is passed we want to unset everything, but still define keys,\n // so that later down in the pipeline any existing values are cleared.\n this._user = user || {\n email: undefined,\n id: undefined,\n ip_address: undefined,\n username: undefined,\n };\n\n if (this._session) {\n updateSession(this._session, { user });\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getUser() {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n getRequestSession() {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n setRequestSession(requestSession) {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setLevel(level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setContext(key, context) {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSession() {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n const scopeToMerge = typeof captureContext === 'function' ? captureContext(this) : captureContext;\n\n const [scopeInstance, requestSession] =\n scopeToMerge instanceof Scope\n ? [scopeToMerge.getScopeData(), scopeToMerge.getRequestSession()]\n : isPlainObject(scopeToMerge)\n ? [captureContext , (captureContext ).requestSession]\n : [];\n\n const { tags, extra, user, contexts, level, fingerprint = [], propagationContext } = scopeInstance || {};\n\n this._tags = { ...this._tags, ...tags };\n this._extra = { ...this._extra, ...extra };\n this._contexts = { ...this._contexts, ...contexts };\n\n if (user && Object.keys(user).length) {\n this._user = user;\n }\n\n if (level) {\n this._level = level;\n }\n\n if (fingerprint.length) {\n this._fingerprint = fingerprint;\n }\n\n if (propagationContext) {\n this._propagationContext = propagationContext;\n }\n\n if (requestSession) {\n this._requestSession = requestSession;\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clear() {\n // client is not cleared here on purpose!\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._session = undefined;\n _setSpanForScope(this, undefined);\n this._attachments = [];\n this._propagationContext = generatePropagationContext();\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n\n const breadcrumbs = this._breadcrumbs;\n breadcrumbs.push(mergedBreadcrumb);\n this._breadcrumbs = breadcrumbs.length > maxCrumbs ? breadcrumbs.slice(-maxCrumbs) : breadcrumbs;\n\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getLastBreadcrumb() {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n\n /** @inheritDoc */\n getScopeData() {\n return {\n breadcrumbs: this._breadcrumbs,\n attachments: this._attachments,\n contexts: this._contexts,\n tags: this._tags,\n extra: this._extra,\n user: this._user,\n level: this._level,\n fingerprint: this._fingerprint || [],\n eventProcessors: this._eventProcessors,\n propagationContext: this._propagationContext,\n sdkProcessingMetadata: this._sdkProcessingMetadata,\n transactionName: this._transactionName,\n span: _getSpanForScope(this),\n };\n }\n\n /**\n * @inheritDoc\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setPropagationContext(context) {\n this._propagationContext = context;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getPropagationContext() {\n return this._propagationContext;\n }\n\n /**\n * @inheritDoc\n */\n captureException(exception, hint) {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture exception!');\n return eventId;\n }\n\n const syntheticException = new Error('Sentry syntheticException');\n\n this._client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(message, level, hint) {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture message!');\n return eventId;\n }\n\n const syntheticException = new Error(message);\n\n this._client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint) {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture event!');\n return eventId;\n }\n\n this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n\n return eventId;\n }\n\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n}\n\n// NOTE: By exporting this here as const & type, instead of doing `export class`,\n// We can get the correct class when importing from `@sentry/core`, but the original type (from `@sentry/types`)\n// This is helpful for interop, e.g. when doing `import type { Scope } from '@sentry/node';` (which re-exports this)\n\n/**\n * Holds additional event information.\n */\nconst Scope = ScopeClass;\n\n/**\n * Holds additional event information.\n */\n\nexport { Scope };\n//# sourceMappingURL=scope.js.map\n","/**\n * Use this attribute to represent the source of a span.\n * Should be one of: custom, url, route, view, component, task, unknown\n *\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = 'sentry.source';\n\n/**\n * Use this attribute to represent the sample rate used for a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = 'sentry.sample_rate';\n\n/**\n * Use this attribute to represent the operation of a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_OP = 'sentry.op';\n\n/**\n * Use this attribute to represent the origin of a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = 'sentry.origin';\n\n/** The reason why an idle span finished. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/** The unit of a measurement, which may be stored as a TimedEvent. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = 'sentry.measurement_unit';\n\n/** The value of a measurement, which may be stored as a TimedEvent. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = 'sentry.measurement_value';\n\n/**\n * The id of the profile that this span occurred in.\n */\nconst SEMANTIC_ATTRIBUTE_PROFILE_ID = 'sentry.profile_id';\n\nconst SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_HIT = 'cache.hit';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_KEY = 'cache.key';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = 'cache.item_size';\n\n/** TODO: Remove these once we update to latest semantic conventions */\nconst SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = 'http.request.method';\nconst SEMANTIC_ATTRIBUTE_URL_FULL = 'url.full';\n\nexport { SEMANTIC_ATTRIBUTE_CACHE_HIT, SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE, SEMANTIC_ATTRIBUTE_CACHE_KEY, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_URL_FULL };\n//# sourceMappingURL=semanticAttributes.js.map\n","import { timestampInSeconds, uuid4, dropUndefinedKeys } from '@sentry/utils';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.abnormal_mechanism) {\n session.abnormal_mechanism = context.abnormal_mechanism;\n }\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n abnormal_mechanism: session.abnormal_mechanism,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { isString } from './is.js';\nimport { logger } from './logger.js';\n\nconst BAGGAGE_HEADER_NAME = 'baggage';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nconst MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nfunction baggageHeaderToDynamicSamplingContext(\n // Very liberal definition of what any incoming header might look like\n baggageHeader,\n) {\n const baggageObject = parseBaggageHeader(baggageHeader);\n\n if (!baggageObject) {\n return undefined;\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n const dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext ;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nfunction dynamicSamplingContextToSentryBaggageHeader(\n // this also takes undefined for convenience and bundle size in other places\n dynamicSamplingContext,\n) {\n if (!dynamicSamplingContext) {\n return undefined;\n }\n\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {},\n );\n\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Take a baggage header and parse it into an object.\n */\nfunction parseBaggageHeader(\n baggageHeader,\n) {\n if (!baggageHeader || (!isString(baggageHeader) && !Array.isArray(baggageHeader))) {\n return undefined;\n }\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n return baggageHeader.reduce((acc, curr) => {\n const currBaggageObject = baggageHeaderToObject(curr);\n Object.entries(currBaggageObject).forEach(([key, value]) => {\n acc[key] = value;\n });\n return acc;\n }, {});\n }\n\n return baggageHeaderToObject(baggageHeader);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader) {\n return baggageHeader\n .split(',')\n .map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim())))\n .reduce((acc, [key, value]) => {\n if (key && value) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object) {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n\nexport { BAGGAGE_HEADER_NAME, MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader, parseBaggageHeader };\n//# sourceMappingURL=baggage.js.map\n","import { dropUndefinedKeys, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader, addNonEnumerableProperty } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getClient } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { hasTracingEnabled } from '../utils/hasTracingEnabled.js';\nimport { spanToJSON, getRootSpan, spanIsSampled } from '../utils/spanUtils.js';\n\n/**\n * If you change this value, also update the terser plugin config to\n * avoid minification of the object property!\n */\nconst FROZEN_DSC_FIELD = '_frozenDsc';\n\n/**\n * Freeze the given DSC on the given span.\n */\nfunction freezeDscOnSpan(span, dsc) {\n const spanWithMaybeDsc = span ;\n addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\n\n/**\n * Creates a dynamic sampling context from a client.\n *\n * Dispatches the `createDsc` lifecycle hook as a side effect.\n */\nfunction getDynamicSamplingContextFromClient(trace_id, client) {\n const options = client.getOptions();\n\n const { publicKey: public_key } = client.getDsn() || {};\n\n const dsc = dropUndefinedKeys({\n environment: options.environment || DEFAULT_ENVIRONMENT,\n release: options.release,\n public_key,\n trace_id,\n }) ;\n\n client.emit('createDsc', dsc);\n\n return dsc;\n}\n\n/**\n * Creates a dynamic sampling context from a span (and client and scope)\n *\n * @param span the span from which a few values like the root span name and sample rate are extracted.\n *\n * @returns a dynamic sampling context\n */\nfunction getDynamicSamplingContextFromSpan(span) {\n const client = getClient();\n if (!client) {\n return {};\n }\n\n const dsc = getDynamicSamplingContextFromClient(spanToJSON(span).trace_id || '', client);\n\n const rootSpan = getRootSpan(span);\n\n // For core implementation, we freeze the DSC onto the span as a non-enumerable property\n const frozenDsc = (rootSpan )[FROZEN_DSC_FIELD];\n if (frozenDsc) {\n return frozenDsc;\n }\n\n // For OpenTelemetry, we freeze the DSC on the trace state\n const traceState = rootSpan.spanContext().traceState;\n const traceStateDsc = traceState && traceState.get('sentry.dsc');\n\n // If the span has a DSC, we want it to take precedence\n const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n\n if (dscOnTraceState) {\n return dscOnTraceState;\n }\n\n // Else, we generate it from the span\n const jsonSpan = spanToJSON(rootSpan);\n const attributes = jsonSpan.data || {};\n const maybeSampleRate = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE];\n\n if (maybeSampleRate != null) {\n dsc.sample_rate = `${maybeSampleRate}`;\n }\n\n // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n const source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n // after JSON conversion, txn.name becomes jsonSpan.description\n const name = jsonSpan.description;\n if (source !== 'url' && name) {\n dsc.transaction = name;\n }\n\n // How can we even land here with hasTracingEnabled() returning false?\n // Otel creates a Non-recording span in Tracing Without Performance mode when handling incoming requests\n // So we end up with an active span that is not sampled (neither positively nor negatively)\n if (hasTracingEnabled()) {\n dsc.sampled = String(spanIsSampled(rootSpan));\n }\n\n client.emit('createDsc', dsc, rootSpan);\n\n return dsc;\n}\n\n/**\n * Convert a Span to a baggage header.\n */\nfunction spanToBaggageHeader(span) {\n const dsc = getDynamicSamplingContextFromSpan(span);\n return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n\nexport { freezeDscOnSpan, getDynamicSamplingContextFromClient, getDynamicSamplingContextFromSpan, spanToBaggageHeader };\n//# sourceMappingURL=dynamicSamplingContext.js.map\n","import { getClient } from '../currentScopes.js';\n\n// Treeshakable guard to remove all code related to tracing\n\n/**\n * Determines if tracing is currently enabled.\n *\n * Tracing is enabled when at least one of `tracesSampleRate` and `tracesSampler` is defined in the SDK config.\n */\nfunction hasTracingEnabled(\n maybeOptions,\n) {\n if (typeof __SENTRY_TRACING__ === 'boolean' && !__SENTRY_TRACING__) {\n return false;\n }\n\n const client = getClient();\n const options = maybeOptions || (client && client.getOptions());\n // eslint-disable-next-line deprecation/deprecation\n return !!options && (options.enableTracing || 'tracesSampleRate' in options || 'tracesSampler' in options);\n}\n\nexport { hasTracingEnabled };\n//# sourceMappingURL=hasTracingEnabled.js.map\n","import { SyncPromise, logger, isThenable } from '@sentry/utils';\nimport { DEBUG_BUILD } from './debug-build.js';\n\n/**\n * Process an array of event processors, returning the processed event (or `null` if the event was dropped).\n */\nfunction notifyEventProcessors(\n processors,\n event,\n hint,\n index = 0,\n) {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) ;\n\n DEBUG_BUILD && processor.id && result === null && logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n}\n\nexport { notifyEventProcessors };\n//# sourceMappingURL=eventProcessors.js.map\n","import { dropUndefinedKeys, arrayify } from '@sentry/utils';\nimport { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext.js';\nimport { spanToTraceContext, getRootSpan, spanToJSON } from './spanUtils.js';\n\n/**\n * Applies data from the scope to the event and runs all event processors on it.\n */\nfunction applyScopeDataToEvent(event, data) {\n const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n\n // Apply general data\n applyDataToEvent(event, data);\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (span) {\n applySpanToEvent(event, span);\n }\n\n applyFingerprintToEvent(event, fingerprint);\n applyBreadcrumbsToEvent(event, breadcrumbs);\n applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\n\n/** Merge data of two scopes together. */\nfunction mergeScopeData(data, mergeData) {\n const {\n extra,\n tags,\n user,\n contexts,\n level,\n sdkProcessingMetadata,\n breadcrumbs,\n fingerprint,\n eventProcessors,\n attachments,\n propagationContext,\n transactionName,\n span,\n } = mergeData;\n\n mergeAndOverwriteScopeData(data, 'extra', extra);\n mergeAndOverwriteScopeData(data, 'tags', tags);\n mergeAndOverwriteScopeData(data, 'user', user);\n mergeAndOverwriteScopeData(data, 'contexts', contexts);\n mergeAndOverwriteScopeData(data, 'sdkProcessingMetadata', sdkProcessingMetadata);\n\n if (level) {\n data.level = level;\n }\n\n if (transactionName) {\n data.transactionName = transactionName;\n }\n\n if (span) {\n data.span = span;\n }\n\n if (breadcrumbs.length) {\n data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n }\n\n if (fingerprint.length) {\n data.fingerprint = [...data.fingerprint, ...fingerprint];\n }\n\n if (eventProcessors.length) {\n data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n }\n\n if (attachments.length) {\n data.attachments = [...data.attachments, ...attachments];\n }\n\n data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\n\n/**\n * Merges certain scope data. Undefined values will overwrite any existing values.\n * Exported only for tests.\n */\nfunction mergeAndOverwriteScopeData\n\n(data, prop, mergeVal) {\n if (mergeVal && Object.keys(mergeVal).length) {\n // Clone object\n data[prop] = { ...data[prop] };\n for (const key in mergeVal) {\n if (Object.prototype.hasOwnProperty.call(mergeVal, key)) {\n data[prop][key] = mergeVal[key];\n }\n }\n }\n}\n\nfunction applyDataToEvent(event, data) {\n const { extra, tags, user, contexts, level, transactionName } = data;\n\n const cleanedExtra = dropUndefinedKeys(extra);\n if (cleanedExtra && Object.keys(cleanedExtra).length) {\n event.extra = { ...cleanedExtra, ...event.extra };\n }\n\n const cleanedTags = dropUndefinedKeys(tags);\n if (cleanedTags && Object.keys(cleanedTags).length) {\n event.tags = { ...cleanedTags, ...event.tags };\n }\n\n const cleanedUser = dropUndefinedKeys(user);\n if (cleanedUser && Object.keys(cleanedUser).length) {\n event.user = { ...cleanedUser, ...event.user };\n }\n\n const cleanedContexts = dropUndefinedKeys(contexts);\n if (cleanedContexts && Object.keys(cleanedContexts).length) {\n event.contexts = { ...cleanedContexts, ...event.contexts };\n }\n\n if (level) {\n event.level = level;\n }\n\n // transaction events get their `transaction` from the root span name\n if (transactionName && event.type !== 'transaction') {\n event.transaction = transactionName;\n }\n}\n\nfunction applyBreadcrumbsToEvent(event, breadcrumbs) {\n const mergedBreadcrumbs = [...(event.breadcrumbs || []), ...breadcrumbs];\n event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : undefined;\n}\n\nfunction applySdkMetadataToEvent(event, sdkProcessingMetadata) {\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n ...sdkProcessingMetadata,\n };\n}\n\nfunction applySpanToEvent(event, span) {\n event.contexts = {\n trace: spanToTraceContext(span),\n ...event.contexts,\n };\n\n event.sdkProcessingMetadata = {\n dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n ...event.sdkProcessingMetadata,\n };\n\n const rootSpan = getRootSpan(span);\n const transactionName = spanToJSON(rootSpan).description;\n if (transactionName && !event.transaction && event.type === 'transaction') {\n event.transaction = transactionName;\n }\n}\n\n/**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\nfunction applyFingerprintToEvent(event, fingerprint) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : [];\n\n // If we have something on the scope, then merge it with event\n if (fingerprint) {\n event.fingerprint = event.fingerprint.concat(fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n}\n\nexport { applyScopeDataToEvent, mergeAndOverwriteScopeData, mergeScopeData };\n//# sourceMappingURL=applyScopeDataToEvent.js.map\n","import { uuid4, dateTimestampInSeconds, addExceptionMechanism, truncate, GLOBAL_OBJ, normalize } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getGlobalScope } from '../currentScopes.js';\nimport { notifyEventProcessors } from '../eventProcessors.js';\nimport { Scope } from '../scope.js';\nimport { mergeScopeData, applyScopeDataToEvent } from './applyScopeDataToEvent.js';\n\n/**\n * This type makes sure that we get either a CaptureContext, OR an EventHint.\n * It does not allow mixing them, which could lead to unexpected outcomes, e.g. this is disallowed:\n * { user: { id: '123' }, mechanism: { handled: false } }\n */\n\n/**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n * @hidden\n */\nfunction prepareEvent(\n options,\n event,\n hint,\n scope,\n client,\n isolationScope,\n) {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1000 } = options;\n const prepared = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n const integrations = hint.integrations || options.integrations.map(i => i.name);\n\n applyClientOptions(prepared, options);\n applyIntegrationsMetadata(prepared, integrations);\n\n if (client) {\n client.emit('applyFrameMetadata', event);\n }\n\n // Only put debug IDs onto frames for error events.\n if (event.type === undefined) {\n applyDebugIds(prepared, options.stackParser);\n }\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n const finalScope = getFinalScope(scope, hint.captureContext);\n\n if (hint.mechanism) {\n addExceptionMechanism(prepared, hint.mechanism);\n }\n\n const clientEventProcessors = client ? client.getEventProcessors() : [];\n\n // This should be the last thing called, since we want that\n // {@link Scope.addEventProcessor} gets the finished prepared event.\n // Merge scope data together\n const data = getGlobalScope().getScopeData();\n\n if (isolationScope) {\n const isolationData = isolationScope.getScopeData();\n mergeScopeData(data, isolationData);\n }\n\n if (finalScope) {\n const finalScopeData = finalScope.getScopeData();\n mergeScopeData(data, finalScopeData);\n }\n\n const attachments = [...(hint.attachments || []), ...data.attachments];\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n applyScopeDataToEvent(prepared, data);\n\n const eventProcessors = [\n ...clientEventProcessors,\n // Run scope event processors _after_ all other processors\n ...data.eventProcessors,\n ];\n\n const result = notifyEventProcessors(eventProcessors, prepared, hint);\n\n return result.then(evt => {\n if (evt) {\n // We apply the debug_meta field only after all event processors have ran, so that if any event processors modified\n // file names (e.g.the RewriteFrames integration) the filename -> debug ID relationship isn't destroyed.\n // This should not cause any PII issues, since we're only moving data that is already on the event and not adding\n // any new data\n applyDebugMeta(evt);\n }\n\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n}\n\n/**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\nfunction applyClientOptions(event, options) {\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : DEFAULT_ENVIRONMENT;\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n}\n\nconst debugIdStackParserCache = new WeakMap();\n\n/**\n * Puts debug IDs into the stack frames of an error event.\n */\nfunction applyDebugIds(event, stackParser) {\n const debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n\n if (!debugIdMap) {\n return;\n }\n\n let debugIdStackFramesCache;\n const cachedDebugIdStackFrameCache = debugIdStackParserCache.get(stackParser);\n if (cachedDebugIdStackFrameCache) {\n debugIdStackFramesCache = cachedDebugIdStackFrameCache;\n } else {\n debugIdStackFramesCache = new Map();\n debugIdStackParserCache.set(stackParser, debugIdStackFramesCache);\n }\n\n // Build a map of filename -> debug_id\n const filenameDebugIdMap = Object.entries(debugIdMap).reduce(\n (acc, [debugIdStackTrace, debugIdValue]) => {\n let parsedStack;\n const cachedParsedStack = debugIdStackFramesCache.get(debugIdStackTrace);\n if (cachedParsedStack) {\n parsedStack = cachedParsedStack;\n } else {\n parsedStack = stackParser(debugIdStackTrace);\n debugIdStackFramesCache.set(debugIdStackTrace, parsedStack);\n }\n\n for (let i = parsedStack.length - 1; i >= 0; i--) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const stackFrame = parsedStack[i];\n if (stackFrame.filename) {\n acc[stackFrame.filename] = debugIdValue;\n break;\n }\n }\n return acc;\n },\n {},\n );\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values.forEach(exception => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace.frames.forEach(frame => {\n if (frame.filename) {\n frame.debug_id = filenameDebugIdMap[frame.filename];\n }\n });\n });\n } catch (e) {\n // To save bundle size we're just try catching here instead of checking for the existence of all the different objects.\n }\n}\n\n/**\n * Moves debug IDs from the stack frames of an error event into the debug_meta field.\n */\nfunction applyDebugMeta(event) {\n // Extract debug IDs and filenames from the stack frames on the event.\n const filenameDebugIdMap = {};\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values.forEach(exception => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace.frames.forEach(frame => {\n if (frame.debug_id) {\n if (frame.abs_path) {\n filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n } else if (frame.filename) {\n filenameDebugIdMap[frame.filename] = frame.debug_id;\n }\n delete frame.debug_id;\n }\n });\n });\n } catch (e) {\n // To save bundle size we're just try catching here instead of checking for the existence of all the different objects.\n }\n\n if (Object.keys(filenameDebugIdMap).length === 0) {\n return;\n }\n\n // Fill debug_meta information\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = event.debug_meta.images || [];\n const images = event.debug_meta.images;\n Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n images.push({\n type: 'sourcemap',\n code_file: filename,\n debug_id,\n });\n });\n}\n\n/**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\nfunction applyIntegrationsMetadata(event, integrationNames) {\n if (integrationNames.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationNames];\n }\n}\n\n/**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\nfunction normalizeEvent(event, depth, maxBreadth) {\n if (!event) {\n return null;\n }\n\n const normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n return {\n ...span,\n ...(span.data && {\n data: normalize(span.data, depth, maxBreadth),\n }),\n };\n });\n }\n\n return normalized;\n}\n\nfunction getFinalScope(\n scope,\n captureContext,\n) {\n if (!captureContext) {\n return scope;\n }\n\n const finalScope = scope ? scope.clone() : new Scope();\n finalScope.update(captureContext);\n return finalScope;\n}\n\n/**\n * Parse either an `EventHint` directly, or convert a `CaptureContext` to an `EventHint`.\n * This is used to allow to update method signatures that used to accept a `CaptureContext` but should now accept an `EventHint`.\n */\nfunction parseEventHintOrCaptureContext(\n hint,\n) {\n if (!hint) {\n return undefined;\n }\n\n // If you pass a Scope or `() => Scope` as CaptureContext, we just return this as captureContext\n if (hintIsScopeOrFunction(hint)) {\n return { captureContext: hint };\n }\n\n if (hintIsScopeContext(hint)) {\n return {\n captureContext: hint,\n };\n }\n\n return hint;\n}\n\nfunction hintIsScopeOrFunction(\n hint,\n) {\n return hint instanceof Scope || typeof hint === 'function';\n}\n\nconst captureContextKeys = [\n 'user',\n 'level',\n 'extra',\n 'contexts',\n 'tags',\n 'fingerprint',\n 'requestSession',\n 'propagationContext',\n] ;\n\nfunction hintIsScopeContext(hint) {\n return Object.keys(hint).some(key => captureContextKeys.includes(key ));\n}\n\nexport { applyDebugIds, applyDebugMeta, parseEventHintOrCaptureContext, prepareEvent };\n//# sourceMappingURL=prepareEvent.js.map\n","import { dropUndefinedKeys } from '@sentry/utils';\n\n/**\n * key: bucketKey\n * value: [exportKey, MetricSummary]\n */\n\nconst METRICS_SPAN_FIELD = '_sentryMetrics';\n\n/**\n * Fetches the metric summary if it exists for the passed span\n */\nfunction getMetricSummaryJsonForSpan(span) {\n const storage = (span )[METRICS_SPAN_FIELD];\n\n if (!storage) {\n return undefined;\n }\n const output = {};\n\n for (const [, [exportKey, summary]] of storage) {\n const arr = output[exportKey] || (output[exportKey] = []);\n arr.push(dropUndefinedKeys(summary));\n }\n\n return output;\n}\n\n/**\n * Updates the metric summary on a span.\n */\nfunction updateMetricSummaryOnSpan(\n span,\n metricType,\n sanitizedName,\n value,\n unit,\n tags,\n bucketKey,\n) {\n const existingStorage = (span )[METRICS_SPAN_FIELD];\n const storage =\n existingStorage ||\n ((span )[METRICS_SPAN_FIELD] = new Map());\n\n const exportKey = `${metricType}:${sanitizedName}@${unit}`;\n const bucketItem = storage.get(bucketKey);\n\n if (bucketItem) {\n const [, summary] = bucketItem;\n storage.set(bucketKey, [\n exportKey,\n {\n min: Math.min(summary.min, value),\n max: Math.max(summary.max, value),\n count: (summary.count += 1),\n sum: (summary.sum += value),\n tags: summary.tags,\n },\n ]);\n } else {\n storage.set(bucketKey, [\n exportKey,\n {\n min: value,\n max: value,\n count: 1,\n sum: value,\n tags,\n },\n ]);\n }\n}\n\nexport { getMetricSummaryJsonForSpan, updateMetricSummaryOnSpan };\n//# sourceMappingURL=metric-summary.js.map\n","const SPAN_STATUS_UNSET = 0;\nconst SPAN_STATUS_OK = 1;\nconst SPAN_STATUS_ERROR = 2;\n\n/**\n * Converts a HTTP status code into a sentry status with a message.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or unknown_error.\n */\n// https://develop.sentry.dev/sdk/event-payloads/span/\nfunction getSpanStatusFromHttpCode(httpStatus) {\n if (httpStatus < 400 && httpStatus >= 100) {\n return { code: SPAN_STATUS_OK };\n }\n\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return { code: SPAN_STATUS_ERROR, message: 'unauthenticated' };\n case 403:\n return { code: SPAN_STATUS_ERROR, message: 'permission_denied' };\n case 404:\n return { code: SPAN_STATUS_ERROR, message: 'not_found' };\n case 409:\n return { code: SPAN_STATUS_ERROR, message: 'already_exists' };\n case 413:\n return { code: SPAN_STATUS_ERROR, message: 'failed_precondition' };\n case 429:\n return { code: SPAN_STATUS_ERROR, message: 'resource_exhausted' };\n case 499:\n return { code: SPAN_STATUS_ERROR, message: 'cancelled' };\n default:\n return { code: SPAN_STATUS_ERROR, message: 'invalid_argument' };\n }\n }\n\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return { code: SPAN_STATUS_ERROR, message: 'unimplemented' };\n case 503:\n return { code: SPAN_STATUS_ERROR, message: 'unavailable' };\n case 504:\n return { code: SPAN_STATUS_ERROR, message: 'deadline_exceeded' };\n default:\n return { code: SPAN_STATUS_ERROR, message: 'internal_error' };\n }\n }\n\n return { code: SPAN_STATUS_ERROR, message: 'unknown_error' };\n}\n\n/**\n * Sets the Http status attributes on the current span based on the http code.\n * Additionally, the span's status is updated, depending on the http code.\n */\nfunction setHttpStatus(span, httpStatus) {\n span.setAttribute('http.response.status_code', httpStatus);\n\n const spanStatus = getSpanStatusFromHttpCode(httpStatus);\n if (spanStatus.message !== 'unknown_error') {\n span.setStatus(spanStatus);\n }\n}\n\nexport { SPAN_STATUS_ERROR, SPAN_STATUS_OK, SPAN_STATUS_UNSET, getSpanStatusFromHttpCode, setHttpStatus };\n//# sourceMappingURL=spanstatus.js.map\n","import { dropUndefinedKeys, generateSentryTraceHeader, timestampInSeconds, addNonEnumerableProperty } from '@sentry/utils';\nimport { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getCurrentScope } from '../currentScopes.js';\nimport { getMetricSummaryJsonForSpan, updateMetricSummaryOnSpan } from '../metrics/metric-summary.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes.js';\nimport { SPAN_STATUS_UNSET, SPAN_STATUS_OK } from '../tracing/spanstatus.js';\nimport { _getSpanForScope } from './spanOnScope.js';\n\n// These are aligned with OpenTelemetry trace flags\nconst TRACE_FLAG_NONE = 0x0;\nconst TRACE_FLAG_SAMPLED = 0x1;\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in an event.\n * By default, this will only include trace_id, span_id & parent_span_id.\n * If `includeAllData` is true, it will also include data, op, status & origin.\n */\nfunction spanToTransactionTraceContext(span) {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { data, op, parent_span_id, status, origin } = spanToJSON(span);\n\n return dropUndefinedKeys({\n parent_span_id,\n span_id,\n trace_id,\n data,\n op,\n status,\n origin,\n });\n}\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in a non-transaction event.\n */\nfunction spanToTraceContext(span) {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { parent_span_id } = spanToJSON(span);\n\n return dropUndefinedKeys({ parent_span_id, span_id, trace_id });\n}\n\n/**\n * Convert a Span to a Sentry trace header.\n */\nfunction spanToTraceHeader(span) {\n const { traceId, spanId } = span.spanContext();\n const sampled = spanIsSampled(span);\n return generateSentryTraceHeader(traceId, spanId, sampled);\n}\n\n/**\n * Convert a span time input into a timestamp in seconds.\n */\nfunction spanTimeInputToSeconds(input) {\n if (typeof input === 'number') {\n return ensureTimestampInSeconds(input);\n }\n\n if (Array.isArray(input)) {\n // See {@link HrTime} for the array-based time format\n return input[0] + input[1] / 1e9;\n }\n\n if (input instanceof Date) {\n return ensureTimestampInSeconds(input.getTime());\n }\n\n return timestampInSeconds();\n}\n\n/**\n * Converts a timestamp to second, if it was in milliseconds, or keeps it as second.\n */\nfunction ensureTimestampInSeconds(timestamp) {\n const isMs = timestamp > 9999999999;\n return isMs ? timestamp / 1000 : timestamp;\n}\n\n/**\n * Convert a span to a JSON representation.\n */\n// Note: Because of this, we currently have a circular type dependency (which we opted out of in package.json).\n// This is not avoidable as we need `spanToJSON` in `spanUtils.ts`, which in turn is needed by `span.ts` for backwards compatibility.\n// And `spanToJSON` needs the Span class from `span.ts` to check here.\nfunction spanToJSON(span) {\n if (spanIsSentrySpan(span)) {\n return span.getSpanJSON();\n }\n\n try {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n\n // Handle a span from @opentelemetry/sdk-base-trace's `Span` class\n if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n const { attributes, startTime, name, endTime, parentSpanId, status } = span;\n\n return dropUndefinedKeys({\n span_id,\n trace_id,\n data: attributes,\n description: name,\n parent_span_id: parentSpanId,\n start_timestamp: spanTimeInputToSeconds(startTime),\n // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n timestamp: spanTimeInputToSeconds(endTime) || undefined,\n status: getStatusMessage(status),\n op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] ,\n _metrics_summary: getMetricSummaryJsonForSpan(span),\n });\n }\n\n // Finally, at least we have `spanContext()`....\n return {\n span_id,\n trace_id,\n };\n } catch (e) {\n return {};\n }\n}\n\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span) {\n const castSpan = span ;\n return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\n\n/** Exported only for tests. */\n\n/**\n * Sadly, due to circular dependency checks we cannot actually import the Span class here and check for instanceof.\n * :( So instead we approximate this by checking if it has the `getSpanJSON` method.\n */\nfunction spanIsSentrySpan(span) {\n return typeof (span ).getSpanJSON === 'function';\n}\n\n/**\n * Returns true if a span is sampled.\n * In most cases, you should just use `span.isRecording()` instead.\n * However, this has a slightly different semantic, as it also returns false if the span is finished.\n * So in the case where this distinction is important, use this method.\n */\nfunction spanIsSampled(span) {\n // We align our trace flags with the ones OpenTelemetry use\n // So we also check for sampled the same way they do.\n const { traceFlags } = span.spanContext();\n return traceFlags === TRACE_FLAG_SAMPLED;\n}\n\n/** Get the status message to use for a JSON representation of a span. */\nfunction getStatusMessage(status) {\n if (!status || status.code === SPAN_STATUS_UNSET) {\n return undefined;\n }\n\n if (status.code === SPAN_STATUS_OK) {\n return 'ok';\n }\n\n return status.message || 'unknown_error';\n}\n\nconst CHILD_SPANS_FIELD = '_sentryChildSpans';\nconst ROOT_SPAN_FIELD = '_sentryRootSpan';\n\n/**\n * Adds an opaque child span reference to a span.\n */\nfunction addChildSpanToSpan(span, childSpan) {\n // We store the root span reference on the child span\n // We need this for `getRootSpan()` to work\n const rootSpan = span[ROOT_SPAN_FIELD] || span;\n addNonEnumerableProperty(childSpan , ROOT_SPAN_FIELD, rootSpan);\n\n // We store a list of child spans on the parent span\n // We need this for `getSpanDescendants()` to work\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].add(childSpan);\n } else {\n addNonEnumerableProperty(span, CHILD_SPANS_FIELD, new Set([childSpan]));\n }\n}\n\n/** This is only used internally by Idle Spans. */\nfunction removeChildSpanFromSpan(span, childSpan) {\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].delete(childSpan);\n }\n}\n\n/**\n * Returns an array of the given span and all of its descendants.\n */\nfunction getSpanDescendants(span) {\n const resultSet = new Set();\n\n function addSpanChildren(span) {\n // This exit condition is required to not infinitely loop in case of a circular dependency.\n if (resultSet.has(span)) {\n return;\n // We want to ignore unsampled spans (e.g. non recording spans)\n } else if (spanIsSampled(span)) {\n resultSet.add(span);\n const childSpans = span[CHILD_SPANS_FIELD] ? Array.from(span[CHILD_SPANS_FIELD]) : [];\n for (const childSpan of childSpans) {\n addSpanChildren(childSpan);\n }\n }\n }\n\n addSpanChildren(span);\n\n return Array.from(resultSet);\n}\n\n/**\n * Returns the root span of a given span.\n */\nfunction getRootSpan(span) {\n return span[ROOT_SPAN_FIELD] || span;\n}\n\n/**\n * Returns the currently active span.\n */\nfunction getActiveSpan() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.getActiveSpan) {\n return acs.getActiveSpan();\n }\n\n return _getSpanForScope(getCurrentScope());\n}\n\n/**\n * Updates the metric summary on the currently active span\n */\nfunction updateMetricSummaryOnActiveSpan(\n metricType,\n sanitizedName,\n value,\n unit,\n tags,\n bucketKey,\n) {\n const span = getActiveSpan();\n if (span) {\n updateMetricSummaryOnSpan(span, metricType, sanitizedName, value, unit, tags, bucketKey);\n }\n}\n\nexport { TRACE_FLAG_NONE, TRACE_FLAG_SAMPLED, addChildSpanToSpan, getActiveSpan, getRootSpan, getSpanDescendants, getStatusMessage, removeChildSpanFromSpan, spanIsSampled, spanTimeInputToSeconds, spanToJSON, spanToTraceContext, spanToTraceHeader, spanToTransactionTraceContext, updateMetricSummaryOnActiveSpan };\n//# sourceMappingURL=spanUtils.js.map\n","import { isString } from './is.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ ;\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction htmlTreeAsString(\n elem,\n options = {},\n) {\n if (!elem) {\n return '';\n }\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem ;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = (!Array.isArray(options) && options.maxStringLength) || DEFAULT_MAX_STRING_LENGTH;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds maxStringLength\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el, keyAttrs) {\n const elem = el\n\n;\n\n const out = [];\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n // @ts-expect-error WINDOW has HTMLElement\n if (WINDOW.HTMLElement) {\n // If using the component name annotation plugin, this value may be available on the DOM node\n if (elem instanceof HTMLElement && elem.dataset) {\n if (elem.dataset['sentryComponent']) {\n return elem.dataset['sentryComponent'];\n }\n if (elem.dataset['sentryElement']) {\n return elem.dataset['sentryElement'];\n }\n }\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n const className = elem.className;\n if (className && isString(className)) {\n const classes = className.split(/\\s+/);\n for (const c of classes) {\n out.push(`.${c}`);\n }\n }\n }\n const allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n for (const k of allowedAttrs) {\n const attr = elem.getAttribute(k);\n if (attr) {\n out.push(`[${k}=\"${attr}\"]`);\n }\n }\n\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nfunction getLocationHref() {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\n/**\n * Gets a DOM element by using document.querySelector.\n *\n * This wrapper will first check for the existence of the function before\n * actually calling it so that we don't have to take care of this check,\n * every time we want to access the DOM.\n *\n * Reason: DOM/querySelector is not available in all environments.\n *\n * We have to cast to any because utils can be consumed by a variety of environments,\n * and we don't want to break TS users. If you know what element will be selected by\n * `document.querySelector`, specify it as part of the generic call. For example,\n * `const element = getDomElement('selector');`\n *\n * @param selector the selector string passed on to document.querySelector\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getDomElement(selector) {\n if (WINDOW.document && WINDOW.document.querySelector) {\n return WINDOW.document.querySelector(selector) ;\n }\n return null;\n}\n\n/**\n * Given a DOM element, traverses up the tree until it finds the first ancestor node\n * that has the `data-sentry-component` or `data-sentry-element` attribute with `data-sentry-component` taking\n * precedence. This attribute is added at build-time by projects that have the component name annotation plugin installed.\n *\n * @returns a string representation of the component for the provided DOM element, or `null` if not found\n */\nfunction getComponentName(elem) {\n // @ts-expect-error WINDOW has HTMLElement\n if (!WINDOW.HTMLElement) {\n return null;\n }\n\n let currentElem = elem ;\n const MAX_TRAVERSE_HEIGHT = 5;\n for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) {\n if (!currentElem) {\n return null;\n }\n\n if (currentElem instanceof HTMLElement) {\n if (currentElem.dataset['sentryComponent']) {\n return currentElem.dataset['sentryComponent'];\n }\n if (currentElem.dataset['sentryElement']) {\n return currentElem.dataset['sentryElement'];\n }\n }\n\n currentElem = currentElem.parentNode;\n }\n\n return null;\n}\n\nexport { getComponentName, getDomElement, getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n case '[object WebAssembly.Exception]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat, className) {\n return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given string is parameterized\n * {@link isParameterizedString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isParameterizedString(wat) {\n return (\n typeof wat === 'object' &&\n wat !== null &&\n '__sentry_template_string__' in wat &&\n '__sentry_template_values__' in wat\n );\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPrimitive(wat) {\n return wat === null || isParameterizedString(wat) || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal, or a class instance.\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\n/**\n * Checks whether given value's type is a Vue ViewModel.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isVueViewModel(wat) {\n // Not using Object.prototype.toString because in Vue 3 it would read the instance's Symbol(Symbol.toStringTag) property.\n return !!(typeof wat === 'object' && wat !== null && ((wat ).__isVue || (wat )._isVue));\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isParameterizedString, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable, isVueViewModel };\n//# sourceMappingURL=is.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { getGlobalSingleton, GLOBAL_OBJ } from './worldwide.js';\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nconst CONSOLE_LEVELS = [\n 'debug',\n 'info',\n 'warn',\n 'error',\n 'log',\n 'assert',\n 'trace',\n] ;\n\n/** This may be mutated by the console instrumentation. */\nconst originalConsoleMethods\n\n = {};\n\n/** JSDoc */\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nfunction consoleSandbox(callback) {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n const console = GLOBAL_OBJ.console ;\n const wrappedFuncs = {};\n\n const wrappedLevels = Object.keys(originalConsoleMethods) ;\n\n // Restore all wrapped console methods\n wrappedLevels.forEach(level => {\n const originalConsoleMethod = originalConsoleMethods[level] ;\n wrappedFuncs[level] = console[level] ;\n console[level] = originalConsoleMethod;\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n wrappedLevels.forEach(level => {\n console[level] = wrappedFuncs[level] ;\n });\n }\n}\n\nfunction makeLogger() {\n let enabled = false;\n const logger = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n isEnabled: () => enabled,\n };\n\n if (DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger ;\n}\n\n/**\n * This is a logger singleton which either logs things or no-ops if logging is not enabled.\n * The logger is a singleton on the carrier, to ensure that a consistent logger is used throughout the SDK.\n */\nconst logger = getGlobalSingleton('logger', makeLogger);\n\nexport { CONSOLE_LEVELS, consoleSandbox, logger, originalConsoleMethods };\n//# sourceMappingURL=logger.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = () => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return typedArray[0];\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\nfunction _parseInt(input) {\n return parseInt(input || '', 10);\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = _parseInt(match[1]);\n const minor = _parseInt(match[2]);\n const patch = _parseInt(match[3]);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n // We guard here to ensure this is not larger than the existing number of lines\n const lineIndex = Math.min(maxLines - 1, sourceLine);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n frame.context_line = snipLine(lines[lineIndex], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { isVueViewModel, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normalized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n ['boolean', 'string'].includes(typeof value) ||\n (typeof value === 'number' && Number.isFinite(value))\n ) {\n return value ;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n ? ((value )['__sentry_override_normalization_depth__'] )\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value );\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n return `[${value}]`;\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase };\n//# sourceMappingURL=normalize.js.map\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n","import { htmlTreeAsString } from './browser.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argument itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n const firstKey = keys[0];\n\n if (!firstKey) {\n return '[object has no keys]';\n }\n\n if (firstKey.length >= maxLength) {\n return truncate(firstKey, maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.getOwnPropertyNames(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input) {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) ).constructor.name;\n return !name || name === 'Object';\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n","const STACKTRACE_FRAME_LIMIT = 50;\nconst UNKNOWN_FUNCTION = '?';\n// Used to sanitize webpack (error: *) wrapped stack errors\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nfunction createStackParser(...parsers) {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack, skipFirstLines = 0, framesToPop = 0) => {\n const frames = [];\n const lines = stack.split('\\n');\n\n for (let i = skipFirstLines; i < lines.length; i++) {\n const line = lines[i] ;\n // Ignore lines over 1kb as they are unlikely to be stack frames.\n // Many of the regular expressions use backtracking which results in run time that increases exponentially with\n // input size. Huge strings can result in hangs/Denial of Service:\n // https://github.com/getsentry/sentry-javascript/issues/2286\n if (line.length > 1024) {\n continue;\n }\n\n // https://github.com/getsentry/sentry-javascript/issues/5459\n // Remove webpack (error: *) wrappers\n const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line;\n\n // https://github.com/getsentry/sentry-javascript/issues/7813\n // Skip Error: lines\n if (cleanedLine.match(/\\S*Error: /)) {\n continue;\n }\n\n for (const parser of sortedParsers) {\n const frame = parser(cleanedLine);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n\n if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n break;\n }\n }\n\n return stripSentryFramesAndReverse(frames.slice(framesToPop));\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nfunction stackParserFromStackParserOptions(stackParser) {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\nfunction stripSentryFramesAndReverse(stack) {\n if (!stack.length) {\n return [];\n }\n\n const localStack = Array.from(stack);\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (/sentryWrapped/.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n\n // Reversing in the middle of the procedure allows us to just pop the values off the stack\n localStack.reverse();\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n\n // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n // is produced within the hub itself, making it:\n //\n // Sentry.captureException()\n // getCurrentHub().captureException()\n //\n // instead of just the top `Sentry` call itself.\n // This forces us to possibly strip an additional frame in the exact same was as above.\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n }\n\n return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(frame => ({\n ...frame,\n filename: frame.filename || getLastStackFrame(localStack).filename,\n function: frame.function || UNKNOWN_FUNCTION,\n }));\n}\n\nfunction getLastStackFrame(arr) {\n return arr[arr.length - 1] || {};\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nfunction getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n\n/**\n * Get's stack frames from an event without needing to check for undefined properties.\n */\nfunction getFramesFromEvent(event) {\n const exception = event.exception;\n\n if (exception) {\n const frames = [];\n try {\n // @ts-expect-error Object could be undefined\n exception.values.forEach(value => {\n // @ts-expect-error Value could be undefined\n if (value.stacktrace.frames) {\n // @ts-expect-error Value could be undefined\n frames.push(...value.stacktrace.frames);\n }\n });\n return frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n\nexport { UNKNOWN_FUNCTION, createStackParser, getFramesFromEvent, getFunctionName, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { isVueViewModel, isString, isRegExp } from './is.js';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nfunction truncate(str, max = 0) {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nfunction snipLine(line, colno) {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n // console warnings. This happens when a Vue template is rendered with\n // an undeclared variable, which we try to stringify, ultimately causing\n // Vue to issue another warning which repeats indefinitely.\n // see: https://github.com/getsentry/sentry-javascript/pull/8981\n if (isVueViewModel(value)) {\n output.push('[VueViewModel]');\n } else {\n output.push(String(value));\n }\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\nfunction isMatchingPattern(\n value,\n pattern,\n requireExactStringMatch = false,\n) {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n\n return false;\n}\n\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\nfunction stringMatchesSomePattern(\n testString,\n patterns = [],\n requireExactStringMatch = false,\n) {\n return patterns.some(pattern => isMatchingPattern(testString, pattern, requireExactStringMatch));\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, truncate };\n//# sourceMappingURL=string.js.map\n","import { isThenable } from './is.js';\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** SyncPromise internal states */\nvar States; (function (States) {\n /** Pending */\n const PENDING = 0; States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n const RESOLVED = 1; States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n const REJECTED = 2; States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {}));\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n\n constructor(\n executor,\n ) {SyncPromise.prototype.__init.call(this);SyncPromise.prototype.__init2.call(this);SyncPromise.prototype.__init3.call(this);SyncPromise.prototype.__init4.call(this);\n this._state = States.PENDING;\n this._handlers = [];\n\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n then(\n onfulfilled,\n onrejected,\n ) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result );\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n catch(\n onrejected,\n ) {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val );\n });\n });\n }\n\n /** JSDoc */\n __init() {this._resolve = (value) => {\n this._setResult(States.RESOLVED, value);\n };}\n\n /** JSDoc */\n __init2() {this._reject = (reason) => {\n this._setResult(States.REJECTED, reason);\n };}\n\n /** JSDoc */\n __init3() {this._setResult = (state, value) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value ).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };}\n\n /** JSDoc */\n __init4() {this._executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n handler[1](this._value );\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };}\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nconst ONE_SECOND_IN_MS = 1000;\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n *\n * TODO(v8): Return type should be rounded.\n */\nfunction dateTimestampInSeconds() {\n return Date.now() / ONE_SECOND_IN_MS;\n}\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction createUnixTimestampInSecondsFunc() {\n const { performance } = GLOBAL_OBJ ;\n if (!performance || !performance.now) {\n return dateTimestampInSeconds;\n }\n\n // Some browser and environments don't have a timeOrigin, so we fallback to\n // using Date.now() to compute the starting time.\n const approxStartingTimeOrigin = Date.now() - performance.now();\n const timeOrigin = performance.timeOrigin == undefined ? approxStartingTimeOrigin : performance.timeOrigin;\n\n // performance.now() is a monotonic clock, which means it starts at 0 when the process begins. To get the current\n // wall clock time (actual UNIX timestamp), we need to add the starting time origin and the current time elapsed.\n //\n // TODO: This does not account for the case where the monotonic clock that powers performance.now() drifts from the\n // wall clock time, which causes the returned timestamp to be inaccurate. We should investigate how to detect and\n // correct for this.\n // See: https://github.com/getsentry/sentry-javascript/issues/2590\n // See: https://github.com/mdn/content/issues/4713\n // See: https://dev.to/noamr/when-a-millisecond-is-not-a-millisecond-3h6\n return () => {\n return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS;\n };\n}\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nconst timestampInSeconds = createUnixTimestampInSecondsFunc();\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nlet _browserPerformanceTimeOriginMode;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nconst browserPerformanceTimeOrigin = (() => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = GLOBAL_OBJ ;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n const navigationStart = performance.timing && performance.timing.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n\nexport { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds };\n//# sourceMappingURL=time.js.map\n","const SDK_VERSION = '8.37.1';\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","import { SDK_VERSION } from './version.js';\n\n/** Get's the global object for the current JavaScript runtime */\nconst GLOBAL_OBJ = globalThis ;\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__[]` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(name, creator, obj) {\n const gbl = (obj || GLOBAL_OBJ) ;\n const __SENTRY__ = (gbl.__SENTRY__ = gbl.__SENTRY__ || {});\n const versionedCarrier = (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n return versionedCarrier[name] || (versionedCarrier[name] = creator());\n}\n\nexport { GLOBAL_OBJ, getGlobalSingleton };\n//# sourceMappingURL=worldwide.js.map\n"],"names":["func","transform","funcProto","Function","prototype","objectProto","Object","funcToString","toString","hasOwnProperty","objectCtorString","call","objectToString","getPrototype","getPrototypeOf","arg","module","exports","value","isObjectLike","result","e","isHostObject","proto","Ctor","constructor","isCallable","tryToString","$TypeError","TypeError","argument","isPossiblePrototype","$String","String","isObject","ArrayBuffer","DataView","uncurryThisAccessor","classof","O","byteLength","uncurryThis","arrayBufferByteLength","slice","error","global","toIndex","isDetached","detachTransferable","PROPER_STRUCTURED_CLONE_TRANSFER","structuredClone","min","Math","ArrayBufferPrototype","DataViewPrototype","isResizable","maxByteLength","getInt8","setInt8","arrayBuffer","newLength","preserveResizability","newBuffer","newByteLength","undefined","fixedLength","transfer","options","a","b","copyLength","i","NAME","Constructor","Prototype","NATIVE_ARRAY_BUFFER","DESCRIPTORS","hasOwn","createNonEnumerableProperty","defineBuiltIn","defineBuiltInAccessor","isPrototypeOf","setPrototypeOf","wellKnownSymbol","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","get","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","it","state","isTypedArray","klass","configurable","this","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","isView","lengthOfArrayLike","list","$length","index","length","arguments","toIndexedObject","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","bind","IndexedObject","toObject","TYPE","IS_FIND_LAST_INDEX","callbackfn","that","self","boundFunction","findLast","findLastIndex","len","A","k","toIntegerOrInfinity","$RangeError","RangeError","relativeIndex","actualIndex","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","tag","key","tryGet","callee","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","defineProperty","f","getOwnPropertyDescriptor","fails","F","createPropertyDescriptor","object","bitmap","enumerable","writable","makeBuiltIn","name","descriptor","getter","set","setter","defineGlobalProperty","simple","unsafe","nonConfigurable","nonWritable","WorkerThreads","channel","buffer","$detach","tryNodeRequire","$ArrayBuffer","$MessageChannel","MessageChannel","detach","transferable","port1","postMessage","document","EXISTS","createElement","IS_DENO","IS_NODE","window","Deno","version","process","navigator","userAgent","match","versions","v8","split","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","sham","exec","aCallable","NATIVE_BIND","fn","apply","test","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","method","uncurryThisWithBind","namespace","isNullOrUndefined","V","P","check","globalThis","g","propertyIsEnumerable","store","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","metadata","facade","STATE","getterFor","type","documentAll","all","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","getBuiltIn","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","join","CONFIGURABLE_LENGTH","TEMPLATE","arity","ceil","floor","trunc","x","n","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","concat","getOwnPropertyNames","getOwnPropertySymbols","CORRECT_PROTOTYPE_GETTER","IE_PROTO","push","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","Array","__proto__","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","SHARED","IS_PURE","mode","copyright","license","V8","IS_BROWSER","clone","V8_VERSION","symbol","Symbol","max","integer","toPrimitive","prim","BigInt","number","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","id","postfix","random","NATIVE_SYMBOL","iterator","passed","required","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","ArrayBufferViewCore","$findLastIndex","predicate","$findLast","arrayToReversed","arrayFromConstructorAndList","sort","compareFn","arrayWith","isBigIntArray","toBigInt","PROPER_ORDER","actualValue","$","$transfer","transferToFixedLength","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","append","$delete","forEach","params","$value","entries","v","entry","dindex","found","entriesLength","getAll","$has","values","count","DEFAULT_ENVIRONMENT","carrier","__SENTRY__","AsyncContextStack","scope","isolationScope","assignedScope","assignedIsolationScope","_stack","_isolationScope","withScope","callback","_pushScope","maybePromiseResult","_popScope","is","then","res","getClient","getStackTop","client","getScope","getIsolationScope","pop","getAsyncContextStack","sentry","stack","withSetScope","withIsolationScope","acs","withSetIsolationScope","getCurrentScope","getGlobalScope","rest","DEBUG_BUILD","__SENTRY_DEBUG__","captureException","exception","hint","captureMessage","message","captureContext","level","context","captureEvent","event","setTags","tags","setUser","user","startSession","currentScope","release","environment","getOptions","session","getUser","currentSession","getSession","status","endSession","setSession","_sendSessionUpdate","captureSession","end","generatePropagationContext","traceId","spanId","substring","SCOPE_SPAN_FIELD","_setSpanForScope","span","_getSpanForScope","ScopeClass","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","_propagationContext","newScope","_level","_session","_transactionName","_fingerprint","_requestSession","_client","_lastEventId","setClient","setLastEventId","lastEventId","addScopeListener","addEventProcessor","email","ip_address","username","_notifyScopeListeners","getRequestSession","setRequestSession","requestSession","setTag","setExtras","extras","setExtra","extra","setFingerprint","fingerprint","setLevel","setTransactionName","setContext","update","scopeToMerge","scopeInstance","Scope","getScopeData","contexts","propagationContext","clear","addBreadcrumb","breadcrumb","maxBreadcrumbs","maxCrumbs","mergedBreadcrumb","timestamp","breadcrumbs","getLastBreadcrumb","clearBreadcrumbs","addAttachment","attachment","clearAttachments","attachments","eventProcessors","sdkProcessingMetadata","transactionName","setSDKProcessingMetadata","newData","setPropagationContext","getPropagationContext","eventId","event_id","logger","warn","syntheticException","Error","originalException","SEMANTIC_ATTRIBUTE_SENTRY_SOURCE","SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","makeSession","startingTime","sid","init","started","duration","errors","ignoreDuration","toJSON","Date","toISOString","did","abnormal_mechanism","attrs","ipAddress","user_agent","sessionToJSON","updateSession","closeSession","SENTRY_BAGGAGE_KEY_PREFIX","SENTRY_BAGGAGE_KEY_PREFIX_REGEX","baggageHeaderToDynamicSamplingContext","baggageHeader","baggageObject","isArray","reduce","acc","curr","currBaggageObject","baggageHeaderToObject","parseBaggageHeader","dynamicSamplingContext","map","baggageEntry","keyOrValue","decodeURIComponent","trim","FROZEN_DSC_FIELD","getDynamicSamplingContextFromClient","trace_id","publicKey","public_key","getDsn","dsc","emit","getDynamicSamplingContextFromSpan","rootSpan","frozenDsc","traceState","spanContext","traceStateDsc","dscOnTraceState","jsonSpan","attributes","maybeSampleRate","sample_rate","description","transaction","maybeOptions","__SENTRY_TRACING__","enableTracing","hasTracingEnabled","sampled","notifyEventProcessors","processors","resolve","reject","processor","log","final","applyScopeDataToEvent","cleanedExtra","cleanedTags","cleanedUser","cleanedContexts","applyDataToEvent","trace","applySpanToEvent","applyFingerprintToEvent","mergedBreadcrumbs","applyBreadcrumbsToEvent","applySdkMetadataToEvent","mergeScopeData","mergeData","mergeAndOverwriteScopeData","prop","mergeVal","prepareEvent","normalizeDepth","normalizeMaxBreadth","prepared","integrations","dist","maxValueLength","request","url","applyClientOptions","integrationNames","sdk","applyIntegrationsMetadata","stackParser","debugIdMap","_sentryDebugIds","debugIdStackFramesCache","cachedDebugIdStackFrameCache","debugIdStackParserCache","Map","filenameDebugIdMap","debugIdStackTrace","debugIdValue","parsedStack","cachedParsedStack","stackFrame","filename","stacktrace","frames","frame","debug_id","applyDebugIds","finalScope","getFinalScope","mechanism","clientEventProcessors","getEventProcessors","evt","abs_path","debug_meta","images","code_file","applyDebugMeta","depth","maxBreadth","normalized","spans","normalizeEvent","parseEventHintOrCaptureContext","hintIsScopeOrFunction","some","captureContextKeys","hintIsScopeContext","METRICS_SPAN_FIELD","getMetricSummaryJsonForSpan","storage","output","exportKey","summary","SPAN_STATUS_UNSET","SPAN_STATUS_OK","TRACE_FLAG_SAMPLED","spanToTraceContext","span_id","parent_span_id","spanToJSON","spanTimeInputToSeconds","ensureTimestampInSeconds","getTime","time","getSpanJSON","spanIsSentrySpan","castSpan","startTime","endTime","spanIsOpenTelemetrySdkTraceBaseSpan","parentSpanId","start_timestamp","getStatusMessage","op","origin","_metrics_summary","spanIsSampled","traceFlags","code","ROOT_SPAN_FIELD","getRootSpan","WINDOW","DEFAULT_MAX_STRING_LENGTH","htmlTreeAsString","elem","currentElem","MAX_TRAVERSE_HEIGHT","out","height","separator","sepLength","nextStr","keyAttrs","maxStringLength","_htmlElementAsString","parentNode","reverse","_oO","tagName","HTMLElement","dataset","keyAttrPairs","filter","keyAttr","getAttribute","keyAttrPair","className","classes","c","allowedAttrs","attr","getLocationHref","location","href","oO","getComponentName","isError","wat","isInstanceOf","isBuiltin","isErrorEvent","isDOMError","isDOMException","isString","isParameterizedString","isPrimitive","isPlainObject","isEvent","Event","isElement","Element","isRegExp","isThenable","Boolean","isSyntheticEvent","base","_e","isVueViewModel","__isVue","_isVue","CONSOLE_LEVELS","originalConsoleMethods","consoleSandbox","console","wrappedFuncs","wrappedLevels","originalConsoleMethod","enabled","enable","disable","isEnabled","args","uuid4","gbl","crypto","msCrypto","getRandomByte","randomUUID","getRandomValues","typedArray","_","getFirstException","getEventDescription","firstException","addExceptionTypeValue","addExceptionMechanism","newMechanism","currentMechanism","handled","mergedData","checkOrSetAlreadyCaught","__sentry_captured__","err","arrayify","maybeArray","maxProperties","Infinity","visit","ERROR","normalizeToSize","maxSize","encodeURI","utf8Length","JSON","stringify","memo","hasWeakSet","WeakSet","inner","add","delete","splice","memoBuilder","memoize","unmemoize","Number","isFinite","stringified","_events","objName","getConstructorName","stringifyValue","startsWith","remainingDepth","valueWithToJSON","numAdded","visitable","visitKey","visitValue","fill","replacementFactory","original","wrapped","markFunctionWrapped","addNonEnumerableProperty","o_O","getOriginalFunction","__sentry_original__","urlEncode","encodeURIComponent","convertToPlainObject","getOwnProperties","newObj","serializeEventTarget","currentTarget","CustomEvent","detail","extractedProps","extractExceptionKeysForMessage","maxLength","firstKey","includedKeys","serialized","dropUndefinedKeys","inputValue","_dropUndefinedKeys","memoizationMap","isPojo","memoVal","returnValue","item","STACKTRACE_FRAME_LIMIT","UNKNOWN_FUNCTION","WEBPACK_ERROR_REGEXP","STRIP_FRAME_REGEXP","createStackParser","parsers","sortedParsers","p","skipFirstLines","framesToPop","lines","line","cleanedLine","parser","localStack","from","getLastStackFrame","function","stripSentryFramesAndReverse","stackParserFromStackParserOptions","arr","defaultFunctionName","getFunctionName","getFramesFromEvent","truncate","str","safeJoin","delimiter","stringMatchesSomePattern","testString","patterns","requireExactStringMatch","pattern","isMatchingPattern","States","resolvedSyncPromise","SyncPromise","rejectedSyncPromise","reason","executor","__init","__init2","__init3","__init4","_state","PENDING","_handlers","_resolve","_reject","onfulfilled","onrejected","_executeHandlers","onfinally","isRejected","_setResult","RESOLVED","REJECTED","_value","cachedHandlers","handler","ONE_SECOND_IN_MS","dateTimestampInSeconds","now","timestampInSeconds","performance","approxStartingTimeOrigin","timeOrigin","createUnixTimestampInSecondsFunc","_browserPerformanceTimeOriginMode","threshold","performanceNow","dateNow","timeOriginDelta","abs","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","SDK_VERSION","GLOBAL_OBJ","getGlobalSingleton","creator","versionedCarrier"],"sourceRoot":""}