{"version":3,"file":"static/js/82882.bea66a4b.js","mappings":"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","sources":["../node_modules/@sentry/core/esm/api.js","../node_modules/@sentry/core/esm/envelope.js","../node_modules/@sentry/core/esm/baseclient.js","../node_modules/@sentry/core/esm/constants.js","../node_modules/@sentry/core/esm/eventProcessors.js","../node_modules/@sentry/core/esm/exports.js","../node_modules/@sentry/core/esm/hub.js","../node_modules/@sentry/core/esm/integration.js","../node_modules/@sentry/core/esm/integrations/functiontostring.js","../node_modules/@sentry/core/esm/integrations/inboundfilters.js","../node_modules/@sentry/core/esm/scope.js","../node_modules/@sentry/core/esm/sdk.js","../node_modules/@sentry/core/esm/session.js","../node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js","../node_modules/@sentry/core/esm/tracing/errors.js","../node_modules/@sentry/core/esm/tracing/sampling.js","../node_modules/@sentry/core/esm/tracing/hubextensions.js","../node_modules/@sentry/core/esm/tracing/idletransaction.js","../node_modules/@sentry/core/esm/tracing/span.js","../node_modules/@sentry/core/esm/tracing/transaction.js","../node_modules/@sentry/core/esm/tracing/utils.js","../node_modules/@sentry/core/esm/transports/base.js","../node_modules/@sentry/core/esm/utils/hasTracingEnabled.js","../node_modules/@sentry/core/esm/utils/isSentryRequestUrl.js","../node_modules/@sentry/core/esm/utils/prepareEvent.js","../node_modules/@sentry/core/esm/version.js"],"sourcesContent":["import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { makeDsn, dsnToString, urlEncode } from '@sentry/utils';\nvar SENTRY_API_VERSION = '7';\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\n\nfunction getBaseApiEndpoint(dsn) {\n var protocol = dsn.protocol ? \"\".concat(dsn.protocol, \":\") : '';\n var port = dsn.port ? \":\".concat(dsn.port) : '';\n return \"\".concat(protocol, \"//\").concat(dsn.host).concat(port).concat(dsn.path ? \"/\".concat(dsn.path) : '', \"/api/\");\n}\n/** Returns the ingest API endpoint for target. */\n\n\nfunction _getIngestEndpoint(dsn) {\n return \"\".concat(getBaseApiEndpoint(dsn)).concat(dsn.projectId, \"/envelope/\");\n}\n/** Returns a URL-encoded string with auth config suitable for a query string. */\n\n\nfunction _encodedAuth(dsn, sdkInfo) {\n return urlEncode(_objectSpread({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION\n }, sdkInfo && {\n sentry_client: \"\".concat(sdkInfo.name, \"/\").concat(sdkInfo.version)\n }));\n}\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n\n\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn) {\n var tunnelOrOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // TODO (v8): Use this code instead\n // const { tunnel, _metadata = {} } = options;\n // return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, _metadata.sdk)}`;\n var tunnel = typeof tunnelOrOptions === 'string' ? tunnelOrOptions : tunnelOrOptions.tunnel;\n var sdkInfo = typeof tunnelOrOptions === 'string' || !tunnelOrOptions._metadata ? undefined : tunnelOrOptions._metadata.sdk;\n return tunnel ? tunnel : \"\".concat(_getIngestEndpoint(dsn), \"?\").concat(_encodedAuth(dsn, sdkInfo));\n}\n/** Returns the url to the report dialog endpoint. */\n\n\nfunction getReportDialogEndpoint(dsnLike, dialogOptions) {\n var dsn = makeDsn(dsnLike);\n\n if (!dsn) {\n return '';\n }\n\n var endpoint = \"\".concat(getBaseApiEndpoint(dsn), \"embed/error-page/\");\n var encodedOptions = \"dsn=\".concat(dsnToString(dsn));\n\n for (var key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n var user = dialogOptions.user;\n\n if (!user) {\n continue;\n }\n\n if (user.name) {\n encodedOptions += \"&name=\".concat(encodeURIComponent(user.name));\n }\n\n if (user.email) {\n encodedOptions += \"&email=\".concat(encodeURIComponent(user.email));\n }\n } else {\n encodedOptions += \"&\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(dialogOptions[key]));\n }\n }\n\n return \"\".concat(endpoint, \"?\").concat(encodedOptions);\n}\n\nexport { getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport { getSdkMetadataForEnvelopeHeader, dsnToString, createEnvelope, createEventEnvelopeHeaders } from '@sentry/utils';\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\n\nfunction enhanceEventWithSdkInfo(event, sdkInfo) {\n if (!sdkInfo) {\n return event;\n }\n\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [].concat(_toConsumableArray(event.sdk.integrations || []), _toConsumableArray(sdkInfo.integrations || []));\n event.sdk.packages = [].concat(_toConsumableArray(event.sdk.packages || []), _toConsumableArray(sdkInfo.packages || []));\n return event;\n}\n/** Creates an envelope from a Session */\n\n\nfunction createSessionEnvelope(session, dsn, metadata, tunnel) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n\n var envelopeHeaders = _objectSpread(_objectSpread({\n sent_at: new Date().toISOString()\n }, sdkInfo && {\n sdk: sdkInfo\n }), !!tunnel && dsn && {\n dsn: dsnToString(dsn)\n });\n\n var envelopeItem = 'aggregates' in session ? [{\n type: 'sessions'\n }, session] : [{\n type: 'session'\n }, session.toJSON()];\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n/**\n * Create an Envelope from an event.\n */\n\n\nfunction createEventEnvelope(event, dsn, metadata, tunnel) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n /*\n Note: Due to TS, event.type may be `replay_event`, theoretically.\n In practice, we never call `createEventEnvelope` with `replay_event` type,\n and we'd have to adjut a looot of types to make this work properly.\n We want to avoid casting this around, as that could lead to bugs (e.g. when we add another type)\n So the safe choice is to really guard against the replay_event type here.\n */\n\n var eventType = event.type && event.type !== 'replay_event' ? event.type : 'event';\n enhanceEventWithSdkInfo(event, metadata && metadata.sdk);\n var envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn); // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n\n delete event.sdkProcessingMetadata;\n var eventItem = [{\n type: eventType\n }, event];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\nexport { createEventEnvelope, createSessionEnvelope };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { makeDsn, logger, checkOrSetAlreadyCaught, isPrimitive, resolvedSyncPromise, addItemToEnvelope, createAttachmentEnvelopeItem, SyncPromise, rejectedSyncPromise, SentryError, isThenable, isPlainObject } from '@sentry/utils';\nimport { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegrations as _setupIntegrations, setupIntegration } from './integration.js';\nimport { updateSession } from './session.js';\nimport { getDynamicSamplingContextFromClient } from './tracing/dynamicSamplingContext.js';\nimport { prepareEvent } from './utils/prepareEvent.js';\nvar ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\n\nvar BaseClient = /*#__PURE__*/function () {\n /** Options passed to the SDK. */\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n\n /** Array of set up integrations. */\n\n /** Indicates whether this client's integrations have been set up. */\n\n /** Number of calls being processed */\n\n /** Holds flushable */\n // eslint-disable-next-line @typescript-eslint/ban-types\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n function BaseClient(options) {\n _classCallCheck(this, BaseClient);\n\n this._options = options;\n this._integrations = {};\n this._integrationsInitialized = false;\n this._numProcessing = 0;\n this._outcomes = {};\n this._hooks = {};\n this._eventProcessors = [];\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('No DSN provided, client will not send events.');\n }\n\n if (this._dsn) {\n var url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, options);\n this._transport = options.transport(_objectSpread(_objectSpread({\n recordDroppedEvent: this.recordDroppedEvent.bind(this)\n }, options.transportOptions), {}, {\n url: url\n }));\n }\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n\n\n _createClass(BaseClient, [{\n key: \"captureException\",\n value: function captureException(exception, hint, scope) {\n var _this = this;\n\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n var eventId = hint && hint.event_id;\n\n this._process(this.eventFromException(exception, hint).then(function (event) {\n return _this._captureEvent(event, hint, scope);\n }).then(function (result) {\n eventId = result;\n }));\n\n return eventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureMessage\",\n value: function captureMessage(message, // eslint-disable-next-line deprecation/deprecation\n level, hint, scope) {\n var _this2 = this;\n\n var eventId = hint && hint.event_id;\n var promisedEvent = isPrimitive(message) ? this.eventFromMessage(String(message), level, hint) : this.eventFromException(message, hint);\n\n this._process(promisedEvent.then(function (event) {\n return _this2._captureEvent(event, hint, scope);\n }).then(function (result) {\n eventId = result;\n }));\n\n return eventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureEvent\",\n value: function captureEvent(event, hint, scope) {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n var eventId = hint && hint.event_id;\n\n this._process(this._captureEvent(event, hint, scope).then(function (result) {\n eventId = result;\n }));\n\n return eventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureSession\",\n value: function captureSession(session) {\n if (!(typeof session.release === 'string')) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this.sendSession(session); // After sending, we set init false to indicate it's not the first occurrence\n\n updateSession(session, {\n init: false\n });\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getDsn\",\n value: function getDsn() {\n return this._dsn;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getOptions\",\n value: function getOptions() {\n return this._options;\n }\n /**\n * @see SdkMetadata in @sentry/types\n *\n * @return The metadata of the SDK\n */\n\n }, {\n key: \"getSdkMetadata\",\n value: function getSdkMetadata() {\n return this._options._metadata;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getTransport\",\n value: function getTransport() {\n return this._transport;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"flush\",\n value: function flush(timeout) {\n var transport = this._transport;\n\n if (transport) {\n return this._isClientDoneProcessing(timeout).then(function (clientFinished) {\n return transport.flush(timeout).then(function (transportFlushed) {\n return clientFinished && transportFlushed;\n });\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"close\",\n value: function close(timeout) {\n var _this3 = this;\n\n return this.flush(timeout).then(function (result) {\n _this3.getOptions().enabled = false;\n return result;\n });\n }\n /** Get all installed event processors. */\n\n }, {\n key: \"getEventProcessors\",\n value: function getEventProcessors() {\n return this._eventProcessors;\n }\n /** @inheritDoc */\n\n }, {\n key: \"addEventProcessor\",\n value: function addEventProcessor(eventProcessor) {\n this._eventProcessors.push(eventProcessor);\n }\n /**\n * Sets up the integrations\n */\n\n }, {\n key: \"setupIntegrations\",\n value: function setupIntegrations(forceInitialize) {\n if (forceInitialize && !this._integrationsInitialized || this._isEnabled() && !this._integrationsInitialized) {\n this._integrations = _setupIntegrations(this, this._options.integrations);\n this._integrationsInitialized = true;\n }\n }\n /**\n * Gets an installed integration by its `id`.\n *\n * @returns The installed integration or `undefined` if no integration with that `id` was installed.\n */\n\n }, {\n key: \"getIntegrationById\",\n value: function getIntegrationById(integrationId) {\n return this._integrations[integrationId];\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getIntegration\",\n value: function getIntegration(integration) {\n try {\n return this._integrations[integration.id] || null;\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Cannot retrieve integration \".concat(integration.id, \" from the current Client\"));\n return null;\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"addIntegration\",\n value: function addIntegration(integration) {\n setupIntegration(this, integration, this._integrations);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"sendEvent\",\n value: function sendEvent(event) {\n var _this4 = this;\n\n var hint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.emit('beforeSendEvent', event, hint);\n var env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n var _iterator = _createForOfIteratorHelper(hint.attachments || []),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var attachment = _step.value;\n env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment, this._options.transportOptions && this._options.transportOptions.textEncoder));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var promise = this._sendEnvelope(env);\n\n if (promise) {\n promise.then(function (sendResponse) {\n return _this4.emit('afterSendEvent', event, sendResponse);\n }, null);\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"sendSession\",\n value: function sendSession(session) {\n var env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n void this._sendEnvelope(env);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"recordDroppedEvent\",\n value: function recordDroppedEvent(reason, category, _event) {\n // Note: we use `event` in replay, where we overwrite this hook.\n if (this._options.sendClientReports) {\n // We want to track each category (error, transaction, session, replay_event) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n // With typescript 4.1 we could even use template literal types\n var key = \"\".concat(reason, \":\").concat(category);\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"Adding outcome: \\\"\".concat(key, \"\\\"\")); // The following works because undefined + 1 === NaN and NaN is falsy\n\n this._outcomes[key] = this._outcomes[key] + 1 || 1;\n }\n } // Keep on() & emit() signatures in sync with types' client.ts interface\n\n /* eslint-disable @typescript-eslint/unified-signatures */\n\n /** @inheritdoc */\n\n /** @inheritdoc */\n\n }, {\n key: \"on\",\n value: function on(hook, callback) {\n if (!this._hooks[hook]) {\n this._hooks[hook] = [];\n } // @ts-expect-error We assue the types are correct\n\n\n this._hooks[hook].push(callback);\n }\n /** @inheritdoc */\n\n /** @inheritdoc */\n\n }, {\n key: \"emit\",\n value: function emit(hook) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n if (this._hooks[hook]) {\n this._hooks[hook].forEach(function (callback) {\n return callback.apply(void 0, rest);\n });\n }\n }\n /* eslint-enable @typescript-eslint/unified-signatures */\n\n /** Updates existing session based on the provided event */\n\n }, {\n key: \"_updateSessionFromEvent\",\n value: function _updateSessionFromEvent(session, event) {\n var crashed = false;\n var errored = false;\n var exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n var _iterator2 = _createForOfIteratorHelper(exceptions),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var ex = _step2.value;\n var mechanism = ex.mechanism;\n\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n } // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n\n\n var sessionNonTerminal = session.status === 'ok';\n var shouldUpdateAndSend = sessionNonTerminal && session.errors === 0 || sessionNonTerminal && crashed;\n\n if (shouldUpdateAndSend) {\n updateSession(session, _objectSpread(_objectSpread({}, crashed && {\n status: 'crashed'\n }), {}, {\n errors: session.errors || Number(errored || crashed)\n }));\n this.captureSession(session);\n }\n }\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n\n }, {\n key: \"_isClientDoneProcessing\",\n value: function _isClientDoneProcessing(timeout) {\n var _this5 = this;\n\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = setInterval(function () {\n if (_this5._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n /** Determines whether this SDK is enabled and a transport is present. */\n\n }, {\n key: \"_isEnabled\",\n value: function _isEnabled() {\n return this.getOptions().enabled !== false && this._transport !== undefined;\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 */\n\n }, {\n key: \"_prepareEvent\",\n value: function _prepareEvent(event, hint, scope) {\n var _this6 = this;\n\n var options = this.getOptions();\n var integrations = Object.keys(this._integrations);\n\n if (!hint.integrations && integrations.length > 0) {\n hint.integrations = integrations;\n }\n\n this.emit('preprocessEvent', event, hint);\n return prepareEvent(options, event, hint, scope, this).then(function (evt) {\n if (evt === null) {\n return evt;\n } // If a trace context is not set on the event, we use the propagationContext set on the event to\n // generate a trace context. If the propagationContext does not have a dynamic sampling context, we\n // also generate one for it.\n\n\n var _ref = evt.sdkProcessingMetadata || {},\n propagationContext = _ref.propagationContext;\n\n var trace = evt.contexts && evt.contexts.trace;\n\n if (!trace && propagationContext) {\n var trace_id = propagationContext.traceId,\n spanId = propagationContext.spanId,\n parentSpanId = propagationContext.parentSpanId,\n dsc = propagationContext.dsc;\n evt.contexts = _objectSpread({\n trace: {\n trace_id: trace_id,\n span_id: spanId,\n parent_span_id: parentSpanId\n }\n }, evt.contexts);\n var dynamicSamplingContext = dsc ? dsc : getDynamicSamplingContextFromClient(trace_id, _this6, scope);\n evt.sdkProcessingMetadata = _objectSpread({\n dynamicSamplingContext: dynamicSamplingContext\n }, evt.sdkProcessingMetadata);\n }\n\n return evt;\n });\n }\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n\n }, {\n key: \"_captureEvent\",\n value: function _captureEvent(event) {\n var hint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scope = arguments.length > 2 ? arguments[2] : undefined;\n return this._processEvent(event, hint, scope).then(function (finalEvent) {\n return finalEvent.event_id;\n }, function (reason) {\n if (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) {\n // If something's gone wrong, log the error as a warning. If it's just us having used a `SentryError` for\n // control flow, log just the message (no stack) as a log-level log.\n var sentryError = reason;\n\n if (sentryError.logLevel === 'log') {\n logger.log(sentryError.message);\n } else {\n logger.warn(sentryError);\n }\n }\n\n return undefined;\n });\n }\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n\n }, {\n key: \"_processEvent\",\n value: function _processEvent(event, hint, scope) {\n var _this7 = this;\n\n var options = this.getOptions();\n var sampleRate = options.sampleRate;\n var isTransaction = isTransactionEvent(event);\n var isError = isErrorEvent(event);\n var eventType = event.type || 'error';\n var beforeSendLabel = \"before send for type `\".concat(eventType, \"`\"); // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n\n if (isError && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n this.recordDroppedEvent('sample_rate', 'error', event);\n return rejectedSyncPromise(new SentryError(\"Discarding event because it's not included in the random sample (sampling rate = \".concat(sampleRate, \")\"), 'log'));\n }\n\n var dataCategory = eventType === 'replay_event' ? 'replay' : eventType;\n return this._prepareEvent(event, hint, scope).then(function (prepared) {\n if (prepared === null) {\n _this7.recordDroppedEvent('event_processor', dataCategory, event);\n\n throw new SentryError('An event processor returned `null`, will not send event.', 'log');\n }\n\n var isInternalException = hint.data && hint.data.__sentry__ === true;\n\n if (isInternalException) {\n return prepared;\n }\n\n var result = processBeforeSend(options, prepared, hint);\n return _validateBeforeSendResult(result, beforeSendLabel);\n }).then(function (processedEvent) {\n if (processedEvent === null) {\n _this7.recordDroppedEvent('before_send', dataCategory, event);\n\n throw new SentryError(\"\".concat(beforeSendLabel, \" returned `null`, will not send event.\"), 'log');\n }\n\n var session = scope && scope.getSession();\n\n if (!isTransaction && session) {\n _this7._updateSessionFromEvent(session, processedEvent);\n } // None of the Sentry built event processor will update transaction name,\n // so if the transaction name has been changed by an event processor, we know\n // it has to come from custom event processor added by a user\n\n\n var transactionInfo = processedEvent.transaction_info;\n\n if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n var source = 'custom';\n processedEvent.transaction_info = _objectSpread(_objectSpread({}, transactionInfo), {}, {\n source: source\n });\n }\n\n _this7.sendEvent(processedEvent, hint);\n\n return processedEvent;\n }).then(null, function (reason) {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n _this7.captureException(reason, {\n data: {\n __sentry__: true\n },\n originalException: reason\n });\n\n throw new SentryError(\"Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: \".concat(reason));\n });\n }\n /**\n * Occupies the client with processing and event\n */\n\n }, {\n key: \"_process\",\n value: function _process(promise) {\n var _this8 = this;\n\n this._numProcessing++;\n void promise.then(function (value) {\n _this8._numProcessing--;\n return value;\n }, function (reason) {\n _this8._numProcessing--;\n return reason;\n });\n }\n /**\n * @inheritdoc\n */\n\n }, {\n key: \"_sendEnvelope\",\n value: function _sendEnvelope(envelope) {\n this.emit('beforeEnvelope', envelope);\n\n if (this._isEnabled() && this._transport) {\n return this._transport.send(envelope).then(null, function (reason) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Error while sending event:', reason);\n });\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Transport disabled');\n }\n }\n /**\n * Clears outcomes on this client and returns them.\n */\n\n }, {\n key: \"_clearOutcomes\",\n value: function _clearOutcomes() {\n var outcomes = this._outcomes;\n this._outcomes = {};\n return Object.keys(outcomes).map(function (key) {\n var _key$split = key.split(':'),\n _key$split2 = _slicedToArray(_key$split, 2),\n reason = _key$split2[0],\n category = _key$split2[1];\n\n return {\n reason: reason,\n category: category,\n quantity: outcomes[key]\n };\n });\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n\n }]);\n\n return BaseClient;\n}();\n/**\n * Verifies that return value of configured `beforeSend` or `beforeSendTransaction` is of expected type, and returns the value if so.\n */\n\n\nfunction _validateBeforeSendResult(beforeSendResult, beforeSendLabel) {\n var invalidValueError = \"\".concat(beforeSendLabel, \" must return `null` or a valid event.\");\n\n if (isThenable(beforeSendResult)) {\n return beforeSendResult.then(function (event) {\n if (!isPlainObject(event) && event !== null) {\n throw new SentryError(invalidValueError);\n }\n\n return event;\n }, function (e) {\n throw new SentryError(\"\".concat(beforeSendLabel, \" rejected with \").concat(e));\n });\n } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n throw new SentryError(invalidValueError);\n }\n\n return beforeSendResult;\n}\n/**\n * Process the matching `beforeSendXXX` callback.\n */\n\n\nfunction processBeforeSend(options, event, hint) {\n var beforeSend = options.beforeSend,\n beforeSendTransaction = options.beforeSendTransaction;\n\n if (isErrorEvent(event) && beforeSend) {\n return beforeSend(event, hint);\n }\n\n if (isTransactionEvent(event) && beforeSendTransaction) {\n return beforeSendTransaction(event, hint);\n }\n\n return event;\n}\n\nfunction isErrorEvent(event) {\n return event.type === undefined;\n}\n\nfunction isTransactionEvent(event) {\n return event.type === 'transaction';\n}\n\nexport { BaseClient };","var DEFAULT_ENVIRONMENT = 'production';\nexport { DEFAULT_ENVIRONMENT };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { getGlobalSingleton, SyncPromise, logger, isThenable } from '@sentry/utils';\n/**\n * Returns the global event processors.\n */\n\nfunction getGlobalEventProcessors() {\n return getGlobalSingleton('globalEventProcessors', function () {\n return [];\n });\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\n\n\nfunction addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n/**\n * Process an array of event processors, returning the processed event (or `null` if the event was dropped).\n */\n\n\nfunction notifyEventProcessors(processors, event, hint) {\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n var result = processor(_objectSpread({}, event), hint);\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && processor.id && result === null && logger.log(\"Event processor \\\"\".concat(processor.id, \"\\\" dropped event\"));\n\n if (isThenable(result)) {\n void result.then(function (final) {\n return notifyEventProcessors(processors, final, hint, index + 1).then(resolve);\n }).then(null, reject);\n } else {\n void notifyEventProcessors(processors, result, hint, index + 1).then(resolve).then(null, reject);\n }\n }\n });\n}\n\nexport { addGlobalEventProcessor, getGlobalEventProcessors, notifyEventProcessors };","import _asyncToGenerator from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _regeneratorRuntime from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js\";\nimport { logger, uuid4, timestampInSeconds, isThenable } from '@sentry/utils';\nimport { getCurrentHub } from './hub.js'; // Note: All functions in this file are typed with a return value of `ReturnType`,\n// where HUB_FUNCTION is some method on the Hub class.\n//\n// This is done to make sure the top level SDK methods stay in sync with the hub methods.\n// Although every method here has an explicit return type, some of them (that map to void returns) do not\n// contain `return` keywords. This is done to save on bundle size, as `return` is not minifiable.\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @param captureContext Additional scope data to apply to exception event.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n\nfunction captureException(exception, captureContext) {\n return getCurrentHub().captureException(exception, {\n captureContext: captureContext\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 Severity Define the level of the message.\n * @returns The generated eventId.\n */\n\n\nfunction captureMessage(message, // eslint-disable-next-line deprecation/deprecation\ncaptureContext) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? {\n captureContext: captureContext\n } : undefined;\n return getCurrentHub().captureMessage(message, level, context);\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\n\n\nfunction captureEvent(event, hint) {\n return getCurrentHub().captureEvent(event, hint);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\n\n\nfunction configureScope(callback) {\n getCurrentHub().configureScope(callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\n\n\nfunction addBreadcrumb(breadcrumb) {\n getCurrentHub().addBreadcrumb(breadcrumb);\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\n\n\nfunction setContext(name, context) {\n getCurrentHub().setContext(name, context);\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 */\n\n\nfunction setExtras(extras) {\n getCurrentHub().setExtras(extras);\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 */\n\n\nfunction setExtra(key, extra) {\n getCurrentHub().setExtra(key, extra);\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 */\n\n\nfunction setTags(tags) {\n getCurrentHub().setTags(tags);\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 */\n\n\nfunction setTag(key, value) {\n getCurrentHub().setTag(key, value);\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 */\n\n\nfunction setUser(user) {\n getCurrentHub().setUser(user);\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 * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\n\n\nfunction withScope(callback) {\n getCurrentHub().withScope(callback);\n}\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * NOTE: This function should only be used for *manual* instrumentation. Auto-instrumentation should call\n * `startTransaction` directly on the hub.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\n\n\nfunction startTransaction(context, customSamplingContext) {\n return getCurrentHub().startTransaction(_objectSpread({}, context), customSamplingContext);\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 */\n\n\nfunction captureCheckIn(checkIn, upsertMonitorConfig) {\n var hub = getCurrentHub();\n var scope = hub.getScope();\n var client = hub.getClient();\n\n if (!client) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot capture check-in. No client defined.');\n } else if (!client.captureCheckIn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && 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 * 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 */\n\n\nfunction withMonitor(monitorSlug, callback, upsertMonitorConfig) {\n var checkInId = captureCheckIn({\n monitorSlug: monitorSlug,\n status: 'in_progress'\n }, upsertMonitorConfig);\n var now = timestampInSeconds();\n\n function finishCheckIn(status) {\n captureCheckIn({\n monitorSlug: monitorSlug,\n status: status,\n checkInId: checkInId,\n duration: timestampInSeconds() - now\n });\n }\n\n var maybePromiseResult;\n\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(function () {\n finishCheckIn('ok');\n }, function () {\n finishCheckIn('error');\n });\n } else {\n finishCheckIn('ok');\n }\n\n return maybePromiseResult;\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 */\n\n\nfunction flush(_x) {\n return _flush.apply(this, arguments);\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 */\n\n\nfunction _flush() {\n _flush = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(timeout) {\n var client;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n client = getCurrentHub().getClient();\n\n if (!client) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", client.flush(timeout));\n\n case 3:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot flush events. No client defined.');\n return _context.abrupt(\"return\", Promise.resolve(false));\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _flush.apply(this, arguments);\n}\n\nfunction close(_x2) {\n return _close.apply(this, arguments);\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\n\n\nfunction _close() {\n _close = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(timeout) {\n var client;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n client = getCurrentHub().getClient();\n\n if (!client) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", client.close(timeout));\n\n case 3:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return _context2.abrupt(\"return\", Promise.resolve(false));\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _close.apply(this, arguments);\n}\n\nfunction lastEventId() {\n return getCurrentHub().lastEventId();\n}\n\nexport { addBreadcrumb, captureCheckIn, captureEvent, captureException, captureMessage, close, configureScope, flush, lastEventId, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withMonitor, withScope };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { uuid4, dateTimestampInSeconds, consoleSandbox, logger, GLOBAL_OBJ, getGlobalSingleton } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { Scope } from './scope.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\n\nvar API_VERSION = 4;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\n\nvar DEFAULT_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\n\nvar Hub = /*#__PURE__*/function () {\n /** Is a {@link Layer}[] containing the client and scope */\n\n /** Contains the last event id of a captured event. */\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n function Hub(client) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Scope();\n\n var _version = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : API_VERSION;\n\n _classCallCheck(this, Hub);\n\n this._version = _version;\n this._stack = [{\n scope: scope\n }];\n\n if (client) {\n this.bindClient(client);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(Hub, [{\n key: \"isOlderThan\",\n value: function isOlderThan(version) {\n return this._version < version;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"bindClient\",\n value: function bindClient(client) {\n var top = this.getStackTop();\n top.client = client;\n\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"pushScope\",\n value: function pushScope() {\n // We want to clone the content of prev scope\n var scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope: scope\n });\n return scope;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"popScope\",\n value: function popScope() {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"withScope\",\n value: function withScope(callback) {\n var scope = this.pushScope();\n\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getClient\",\n value: function getClient() {\n return this.getStackTop().client;\n }\n /** Returns the scope of the top stack. */\n\n }, {\n key: \"getScope\",\n value: function getScope() {\n return this.getStackTop().scope;\n }\n /** Returns the scope stack for domains or the process. */\n\n }, {\n key: \"getStack\",\n value: function getStack() {\n return this._stack;\n }\n /** Returns the topmost scope layer in the order domain > local > process. */\n\n }, {\n key: \"getStackTop\",\n value: function getStackTop() {\n return this._stack[this._stack.length - 1];\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureException\",\n value: function captureException(exception, hint) {\n var eventId = this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4();\n var syntheticException = new Error('Sentry syntheticException');\n\n this._withClient(function (client, scope) {\n client.captureException(exception, _objectSpread(_objectSpread({\n originalException: exception,\n syntheticException: syntheticException\n }, hint), {}, {\n event_id: eventId\n }), scope);\n });\n\n return eventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureMessage\",\n value: function captureMessage(message, // eslint-disable-next-line deprecation/deprecation\n level, hint) {\n var eventId = this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4();\n var syntheticException = new Error(message);\n\n this._withClient(function (client, scope) {\n client.captureMessage(message, level, _objectSpread(_objectSpread({\n originalException: message,\n syntheticException: syntheticException\n }, hint), {}, {\n event_id: eventId\n }), scope);\n });\n\n return eventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureEvent\",\n value: function captureEvent(event, hint) {\n var eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!event.type) {\n this._lastEventId = eventId;\n }\n\n this._withClient(function (client, scope) {\n client.captureEvent(event, _objectSpread(_objectSpread({}, hint), {}, {\n event_id: eventId\n }), scope);\n });\n\n return eventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"lastEventId\",\n value: function lastEventId() {\n return this._lastEventId;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"addBreadcrumb\",\n value: function addBreadcrumb(breadcrumb, hint) {\n var _this$getStackTop = this.getStackTop(),\n scope = _this$getStackTop.scope,\n client = _this$getStackTop.client;\n\n if (!client) return;\n\n var _ref = client.getOptions && client.getOptions() || {},\n _ref$beforeBreadcrumb = _ref.beforeBreadcrumb,\n beforeBreadcrumb = _ref$beforeBreadcrumb === void 0 ? null : _ref$beforeBreadcrumb,\n _ref$maxBreadcrumbs = _ref.maxBreadcrumbs,\n maxBreadcrumbs = _ref$maxBreadcrumbs === void 0 ? DEFAULT_BREADCRUMBS : _ref$maxBreadcrumbs;\n\n if (maxBreadcrumbs <= 0) return;\n var timestamp = dateTimestampInSeconds();\n\n var mergedBreadcrumb = _objectSpread({\n timestamp: timestamp\n }, breadcrumb);\n\n var finalBreadcrumb = beforeBreadcrumb ? consoleSandbox(function () {\n return beforeBreadcrumb(mergedBreadcrumb, hint);\n }) : mergedBreadcrumb;\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setUser\",\n value: function setUser(user) {\n this.getScope().setUser(user);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setTags\",\n value: function setTags(tags) {\n this.getScope().setTags(tags);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setExtras\",\n value: function setExtras(extras) {\n this.getScope().setExtras(extras);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setTag\",\n value: function setTag(key, value) {\n this.getScope().setTag(key, value);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setExtra\",\n value: function setExtra(key, extra) {\n this.getScope().setExtra(key, extra);\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n }, {\n key: \"setContext\",\n value: function setContext(name, context) {\n this.getScope().setContext(name, context);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"configureScope\",\n value: function configureScope(callback) {\n var _this$getStackTop2 = this.getStackTop(),\n scope = _this$getStackTop2.scope,\n client = _this$getStackTop2.client;\n\n if (client) {\n callback(scope);\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"run\",\n value: function run(callback) {\n var oldHub = makeMain(this);\n\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getIntegration\",\n value: function getIntegration(integration) {\n var client = this.getClient();\n if (!client) return null;\n\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Cannot retrieve integration \".concat(integration.id, \" from the current Hub\"));\n return null;\n }\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"startTransaction\",\n value: function startTransaction(context, customSamplingContext) {\n var result = this._callExtensionMethod('startTransaction', context, customSamplingContext);\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && !result) {\n var client = this.getClient();\n\n if (!client) {\n // eslint-disable-next-line no-console\n console.warn(\"Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'\");\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\\nSentry.addTracingExtensions();\\nSentry.init({...});\\n\");\n }\n }\n\n return result;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"traceHeaders\",\n value: function traceHeaders() {\n return this._callExtensionMethod('traceHeaders');\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"captureSession\",\n value: function captureSession() {\n var endSession = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n } // only send the update\n\n\n this._sendSessionUpdate();\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"endSession\",\n value: function endSession() {\n var layer = this.getStackTop();\n var scope = layer.scope;\n var session = scope.getSession();\n\n if (session) {\n closeSession(session);\n }\n\n this._sendSessionUpdate(); // the session is over; take it off of the scope\n\n\n scope.setSession();\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"startSession\",\n value: function startSession(context) {\n var _this$getStackTop3 = this.getStackTop(),\n scope = _this$getStackTop3.scope,\n client = _this$getStackTop3.client;\n\n var _ref2 = client && client.getOptions() || {},\n release = _ref2.release,\n _ref2$environment = _ref2.environment,\n environment = _ref2$environment === void 0 ? DEFAULT_ENVIRONMENT : _ref2$environment; // Will fetch userAgent if called from browser sdk\n\n\n var _ref3 = GLOBAL_OBJ.navigator || {},\n userAgent = _ref3.userAgent;\n\n var session = makeSession(_objectSpread(_objectSpread({\n release: release,\n environment: environment,\n user: scope.getUser()\n }, userAgent && {\n userAgent: userAgent\n }), context)); // End existing session if there's one\n\n var currentSession = scope.getSession && scope.getSession();\n\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, {\n status: 'exited'\n });\n }\n\n this.endSession(); // Afterwards we set the new session on the scope\n\n scope.setSession(session);\n return session;\n }\n /**\n * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n * when Tracing is used.\n */\n\n }, {\n key: \"shouldSendDefaultPii\",\n value: function shouldSendDefaultPii() {\n var client = this.getClient();\n var options = client && client.getOptions();\n return Boolean(options && options.sendDefaultPii);\n }\n /**\n * Sends the current Session on the scope\n */\n\n }, {\n key: \"_sendSessionUpdate\",\n value: function _sendSessionUpdate() {\n var _this$getStackTop4 = this.getStackTop(),\n scope = _this$getStackTop4.scope,\n client = _this$getStackTop4.client;\n\n var session = scope.getSession();\n\n if (session && client && client.captureSession) {\n client.captureSession(session);\n }\n }\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n\n }, {\n key: \"_withClient\",\n value: function _withClient(callback) {\n var _this$getStackTop5 = this.getStackTop(),\n scope = _this$getStackTop5.scope,\n client = _this$getStackTop5.client;\n\n if (client) {\n callback(client, scope);\n }\n }\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-expect-error Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n }, {\n key: \"_callExtensionMethod\",\n value: function _callExtensionMethod(method) {\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sentry.extensions[method].apply(this, args);\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Extension method \".concat(method, \" couldn't be found, doing nothing.\"));\n }\n }]);\n\n return Hub;\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 **/\n\n\nfunction getMainCarrier() {\n GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {\n extensions: {},\n hub: undefined\n };\n return GLOBAL_OBJ;\n}\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\n\n\nfunction makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\n\n\nfunction getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n\n if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n var hub = registry.__SENTRY__.acs.getCurrentHub();\n\n if (hub) {\n return hub;\n }\n } // Return hub that lives on a global object\n\n\n return getGlobalHub(registry);\n}\n\nfunction getGlobalHub() {\n var registry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n } // Return hub that lives on a global object\n\n\n return getHubFromCarrier(registry);\n}\n/**\n * @private Private API with no semver guarantees!\n *\n * If the carrier does not contain a hub, a new hub is created with the global hub client and scope.\n */\n\n\nfunction ensureHubOnCarrier(carrier) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalHub();\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(carrier) || getHubFromCarrier(carrier).isOlderThan(API_VERSION)) {\n var globalHubTopStack = parent.getStackTop();\n setHubOnCarrier(carrier, new Hub(globalHubTopStack.client, Scope.clone(globalHubTopStack.scope)));\n }\n}\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\n\n\nfunction setAsyncContextStrategy(strategy) {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n registry.__SENTRY__ = registry.__SENTRY__ || {};\n registry.__SENTRY__.acs = strategy;\n}\n/**\n * Runs the supplied callback in its own async context. Async Context strategies are defined per SDK.\n *\n * @param callback The callback to run in its own async context\n * @param options Options to pass to the async context strategy\n * @returns The result of the callback\n */\n\n\nfunction runWithAsyncContext(callback) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var registry = getMainCarrier();\n\n if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n return registry.__SENTRY__.acs.runWithAsyncContext(callback, options);\n } // if there was no strategy, fallback to just calling the callback\n\n\n return callback();\n}\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\n\n\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\n\n\nfunction getHubFromCarrier(carrier) {\n return getGlobalSingleton('hub', function () {\n return new Hub();\n }, carrier);\n}\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\n\n\nfunction setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n\n var __SENTRY__ = carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n\n __SENTRY__.hub = hub;\n return true;\n}\n\nexport { API_VERSION, Hub, ensureHubOnCarrier, getCurrentHub, getHubFromCarrier, getMainCarrier, makeMain, runWithAsyncContext, setAsyncContextStrategy, setHubOnCarrier };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport { arrayify, logger } from '@sentry/utils';\nimport { addGlobalEventProcessor } from './eventProcessors.js';\nimport { getCurrentHub } from './hub.js';\nvar installedIntegrations = [];\n/** Map of integrations assigned to a client */\n\n/**\n * Remove duplicates from the given array, preferring the last instance of any duplicate. Not guaranteed to\n * preseve the order of integrations in the array.\n *\n * @private\n */\n\nfunction filterDuplicates(integrations) {\n var integrationsByName = {};\n integrations.forEach(function (currentInstance) {\n var name = currentInstance.name;\n var existingInstance = integrationsByName[name]; // We want integrations later in the array to overwrite earlier ones of the same type, except that we never want a\n // default instance to overwrite an existing user instance\n\n if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n return;\n }\n\n integrationsByName[name] = currentInstance;\n });\n return Object.keys(integrationsByName).map(function (k) {\n return integrationsByName[k];\n });\n}\n/** Gets integrations to install */\n\n\nfunction getIntegrationsToSetup(options) {\n var defaultIntegrations = options.defaultIntegrations || [];\n var userIntegrations = options.integrations; // We flag default instances, so that later we can tell them apart from any user-created instances of the same class\n\n defaultIntegrations.forEach(function (integration) {\n integration.isDefaultInstance = true;\n });\n var integrations;\n\n if (Array.isArray(userIntegrations)) {\n integrations = [].concat(_toConsumableArray(defaultIntegrations), _toConsumableArray(userIntegrations));\n } else if (typeof userIntegrations === 'function') {\n integrations = arrayify(userIntegrations(defaultIntegrations));\n } else {\n integrations = defaultIntegrations;\n }\n\n var finalIntegrations = filterDuplicates(integrations); // The `Debug` integration prints copies of the `event` and `hint` which will be passed to `beforeSend` or\n // `beforeSendTransaction`. It therefore has to run after all other integrations, so that the changes of all event\n // processors will be reflected in the printed values. For lack of a more elegant way to guarantee that, we therefore\n // locate it and, assuming it exists, pop it out of its current spot and shove it onto the end of the array.\n\n var debugIndex = findIndex(finalIntegrations, function (integration) {\n return integration.name === 'Debug';\n });\n\n if (debugIndex !== -1) {\n var _finalIntegrations$sp = finalIntegrations.splice(debugIndex, 1),\n _finalIntegrations$sp2 = _slicedToArray(_finalIntegrations$sp, 1),\n debugInstance = _finalIntegrations$sp2[0];\n\n finalIntegrations.push(debugInstance);\n }\n\n return finalIntegrations;\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\n\n\nfunction setupIntegrations(client, integrations) {\n var integrationIndex = {};\n integrations.forEach(function (integration) {\n // guard against empty provided integrations\n if (integration) {\n setupIntegration(client, integration, integrationIndex);\n }\n });\n return integrationIndex;\n}\n/** Setup a single integration. */\n\n\nfunction setupIntegration(client, integration, integrationIndex) {\n integrationIndex[integration.name] = integration;\n\n if (installedIntegrations.indexOf(integration.name) === -1) {\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n }\n\n if (client.on && typeof integration.preprocessEvent === 'function') {\n var callback = integration.preprocessEvent.bind(integration);\n client.on('preprocessEvent', function (event, hint) {\n return callback(event, hint, client);\n });\n }\n\n if (client.addEventProcessor && typeof integration.processEvent === 'function') {\n var _callback = integration.processEvent.bind(integration);\n\n var processor = Object.assign(function (event, hint) {\n return _callback(event, hint, client);\n }, {\n id: integration.name\n });\n client.addEventProcessor(processor);\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"Integration installed: \".concat(integration.name));\n}\n/** Add an integration to the current hub's client. */\n\n\nfunction addIntegration(integration) {\n var client = getCurrentHub().getClient();\n\n if (!client || !client.addIntegration) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Cannot add integration \\\"\".concat(integration.name, \"\\\" because no SDK Client is available.\"));\n return;\n }\n\n client.addIntegration(integration);\n} // Polyfill for Array.findIndex(), which is not supported in ES5\n\n\nfunction findIndex(arr, callback) {\n for (var i = 0; i < arr.length; i++) {\n if (callback(arr[i]) === true) {\n return i;\n }\n }\n\n return -1;\n}\n\nexport { addIntegration, getIntegrationsToSetup, installedIntegrations, setupIntegration, setupIntegrations };","import _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { getOriginalFunction } from '@sentry/utils';\nvar originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\n\nvar FunctionToString = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n function FunctionToString() {\n _classCallCheck(this, FunctionToString);\n\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(FunctionToString, [{\n key: \"setupOnce\",\n value: function setupOnce() {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString; // intrinsics (like Function.prototype) might be immutable in some environments\n // e.g. Node with --frozen-intrinsics, XS (an embedded JavaScript engine) or SES (a JavaScript proposal)\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function () {\n var context = getOriginalFunction(this) || this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return originalFunctionToString.apply(context, args);\n };\n } catch (e) {// ignore errors here, just don't patch this\n }\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'FunctionToString';\n }\n }]);\n\n return FunctionToString;\n}();\n\nFunctionToString.__initStatic();\n\nexport { FunctionToString };","import _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { logger, getEventDescription, stringMatchesSomePattern } from '@sentry/utils'; // \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\n\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\nvar DEFAULT_IGNORE_TRANSACTIONS = [/^.*\\/healthcheck$/, /^.*\\/healthy$/, /^.*\\/live$/, /^.*\\/ready$/, /^.*\\/heartbeat$/, /^.*\\/health$/, /^.*\\/healthz$/];\n/** Options for the InboundFilters integration */\n\n/** Inbound filters configurable by the user */\n\nvar InboundFilters = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n function InboundFilters() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, InboundFilters);\n\n this.name = InboundFilters.id;\n this._options = options;\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(InboundFilters, [{\n key: \"setupOnce\",\n value: function setupOnce(_addGlobaleventProcessor, _getCurrentHub) {// noop\n }\n /** @inheritDoc */\n\n }, {\n key: \"processEvent\",\n value: function processEvent(event, _eventHint, client) {\n var clientOptions = client.getOptions();\n\n var options = _mergeOptions(this._options, clientOptions);\n\n return _shouldDropEvent(event, options) ? null : event;\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'InboundFilters';\n }\n }]);\n\n return InboundFilters;\n}();\n\nInboundFilters.__initStatic();\n/** JSDoc */\n\n\nfunction _mergeOptions() {\n var internalOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var clientOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return {\n allowUrls: [].concat(_toConsumableArray(internalOptions.allowUrls || []), _toConsumableArray(clientOptions.allowUrls || [])),\n denyUrls: [].concat(_toConsumableArray(internalOptions.denyUrls || []), _toConsumableArray(clientOptions.denyUrls || [])),\n ignoreErrors: [].concat(_toConsumableArray(internalOptions.ignoreErrors || []), _toConsumableArray(clientOptions.ignoreErrors || []), _toConsumableArray(internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS)),\n ignoreTransactions: [].concat(_toConsumableArray(internalOptions.ignoreTransactions || []), _toConsumableArray(clientOptions.ignoreTransactions || []), _toConsumableArray(internalOptions.disableTransactionDefaults ? [] : DEFAULT_IGNORE_TRANSACTIONS)),\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true\n };\n}\n/** JSDoc */\n\n\nfunction _shouldDropEvent(event, options) {\n if (options.ignoreInternal && _isSentryError(event)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \".concat(getEventDescription(event)));\n return true;\n }\n\n if (_isIgnoredError(event, options.ignoreErrors)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \".concat(getEventDescription(event)));\n return true;\n }\n\n if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Event dropped due to being matched by `ignoreTransactions` option.\\nEvent: \".concat(getEventDescription(event)));\n return true;\n }\n\n if (_isDeniedUrl(event, options.denyUrls)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Event dropped due to being matched by `denyUrls` option.\\nEvent: \".concat(getEventDescription(event), \".\\nUrl: \").concat(_getEventFilterUrl(event)));\n return true;\n }\n\n if (!_isAllowedUrl(event, options.allowUrls)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Event dropped due to not being matched by `allowUrls` option.\\nEvent: \".concat(getEventDescription(event), \".\\nUrl: \").concat(_getEventFilterUrl(event)));\n return true;\n }\n\n return false;\n}\n\nfunction _isIgnoredError(event, ignoreErrors) {\n // If event.type, this is not an error\n if (event.type || !ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(function (message) {\n return stringMatchesSomePattern(message, ignoreErrors);\n });\n}\n\nfunction _isIgnoredTransaction(event, ignoreTransactions) {\n if (event.type !== 'transaction' || !ignoreTransactions || !ignoreTransactions.length) {\n return false;\n }\n\n var name = event.transaction;\n return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\n\nfunction _isDeniedUrl(event, denyUrls) {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n\n var url = _getEventFilterUrl(event);\n\n return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\n\nfunction _isAllowedUrl(event, allowUrls) {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n\n var url = _getEventFilterUrl(event);\n\n return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\n\nfunction _getPossibleEventMessages(event) {\n var possibleMessages = [];\n\n if (event.message) {\n possibleMessages.push(event.message);\n }\n\n var lastException;\n\n try {\n // @ts-expect-error Try catching to save bundle size\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n lastException = event.exception.values[event.exception.values.length - 1];\n } catch (e) {// try catching to save bundle size checking existence of variables\n }\n\n if (lastException) {\n if (lastException.value) {\n possibleMessages.push(lastException.value);\n\n if (lastException.type) {\n possibleMessages.push(\"\".concat(lastException.type, \": \").concat(lastException.value));\n }\n }\n }\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && possibleMessages.length === 0) {\n logger.error(\"Could not extract message for event \".concat(getEventDescription(event)));\n }\n\n return possibleMessages;\n}\n\nfunction _isSentryError(event) {\n try {\n // @ts-expect-error can't be a sentry error if undefined\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {// ignore\n }\n\n return false;\n}\n\nfunction _getLastValidUrl() {\n var frames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n for (var i = frames.length - 1; i >= 0; i--) {\n var frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event) {\n try {\n var frames;\n\n try {\n // @ts-expect-error we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {// ignore\n }\n\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(\"Cannot extract url for event \".concat(getEventDescription(event)));\n return null;\n }\n}\n\nexport { InboundFilters, _mergeOptions, _shouldDropEvent };","import _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _defineProperty from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { isPlainObject, dateTimestampInSeconds, arrayify, uuid4 } from '@sentry/utils';\nimport { notifyEventProcessors, getGlobalEventProcessors } from './eventProcessors.js';\nimport { updateSession } from './session.js';\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\n\nvar DEFAULT_MAX_BREADCRUMBS = 100;\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\n\nvar Scope = /*#__PURE__*/function () {\n /** Flag if notifying is happening. */\n\n /** Callback for client to receive scope changes. */\n\n /** Callback list that will be called after {@link applyToEvent}. */\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 // eslint-disable-next-line deprecation/deprecation\n\n /** Transaction Name */\n\n /** Span */\n\n /** Session */\n\n /** Request Mode Session Status */\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n function Scope() {\n _classCallCheck(this, Scope);\n\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 * Inherit values from the parent scope.\n * @param scope to clone.\n */\n\n\n _createClass(Scope, [{\n key: \"addScopeListener\",\n value:\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n function addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"addEventProcessor\",\n value: function addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setUser\",\n value: function setUser(user) {\n this._user = user || {};\n\n if (this._session) {\n updateSession(this._session, {\n user: user\n });\n }\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getUser\",\n value: function getUser() {\n return this._user;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getRequestSession\",\n value: function getRequestSession() {\n return this._requestSession;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setRequestSession\",\n value: function setRequestSession(requestSession) {\n this._requestSession = requestSession;\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setTags\",\n value: function setTags(tags) {\n this._tags = _objectSpread(_objectSpread({}, this._tags), tags);\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setTag\",\n value: function setTag(key, value) {\n this._tags = _objectSpread(_objectSpread({}, this._tags), {}, _defineProperty({}, key, value));\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setExtras\",\n value: function setExtras(extras) {\n this._extra = _objectSpread(_objectSpread({}, this._extra), extras);\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setExtra\",\n value: function setExtra(key, extra) {\n this._extra = _objectSpread(_objectSpread({}, this._extra), {}, _defineProperty({}, key, extra));\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setFingerprint\",\n value: function setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setLevel\",\n value: function setLevel( // eslint-disable-next-line deprecation/deprecation\n level) {\n this._level = level;\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setTransactionName\",\n value: function setTransactionName(name) {\n this._transactionName = name;\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setContext\",\n value: function 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\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setSpan\",\n value: function setSpan(span) {\n this._span = span;\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getSpan\",\n value: function getSpan() {\n return this._span;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getTransaction\",\n value: function getTransaction() {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n var span = this.getSpan();\n return span && span.transaction;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setSession\",\n value: function setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getSession\",\n value: function getSession() {\n return this._session;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"update\",\n value: function update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n var updatedScope = captureContext(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = _objectSpread(_objectSpread({}, this._tags), captureContext._tags);\n this._extra = _objectSpread(_objectSpread({}, this._extra), captureContext._extra);\n this._contexts = _objectSpread(_objectSpread({}, this._contexts), captureContext._contexts);\n\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n\n if (captureContext._propagationContext) {\n this._propagationContext = captureContext._propagationContext;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext;\n this._tags = _objectSpread(_objectSpread({}, this._tags), captureContext.tags);\n this._extra = _objectSpread(_objectSpread({}, this._extra), captureContext.extra);\n this._contexts = _objectSpread(_objectSpread({}, this._contexts), captureContext.contexts);\n\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n\n if (captureContext.propagationContext) {\n this._propagationContext = captureContext.propagationContext;\n }\n }\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"clear\",\n value: function clear() {\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._span = undefined;\n this._session = undefined;\n\n this._notifyScopeListeners();\n\n this._attachments = [];\n this._propagationContext = generatePropagationContext();\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"addBreadcrumb\",\n value: function addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n var maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS; // No data has been changed, so don't notify scope listeners\n\n if (maxCrumbs <= 0) {\n return this;\n }\n\n var mergedBreadcrumb = _objectSpread({\n timestamp: dateTimestampInSeconds()\n }, breadcrumb);\n\n var 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 * @inheritDoc\n */\n\n }, {\n key: \"getLastBreadcrumb\",\n value: function getLastBreadcrumb() {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"clearBreadcrumbs\",\n value: function clearBreadcrumbs() {\n this._breadcrumbs = [];\n\n this._notifyScopeListeners();\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"addAttachment\",\n value: function addAttachment(attachment) {\n this._attachments.push(attachment);\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._attachments;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"clearAttachments\",\n value: function clearAttachments() {\n this._attachments = [];\n return this;\n }\n /**\n * Applies data from the scope to the event and runs all event processors on it.\n *\n * @param event Event\n * @param hint Object containing additional information about the original exception, for use by the event processors.\n * @hidden\n */\n\n }, {\n key: \"applyToEvent\",\n value: function applyToEvent(event) {\n var hint = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var additionalEventProcessors = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = _objectSpread(_objectSpread({}, this._extra), event.extra);\n }\n\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = _objectSpread(_objectSpread({}, this._tags), event.tags);\n }\n\n if (this._user && Object.keys(this._user).length) {\n event.user = _objectSpread(_objectSpread({}, this._user), event.user);\n }\n\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = _objectSpread(_objectSpread({}, this._contexts), event.contexts);\n }\n\n if (this._level) {\n event.level = this._level;\n }\n\n if (this._transactionName) {\n event.transaction = this._transactionName;\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\n\n if (this._span) {\n event.contexts = _objectSpread({\n trace: this._span.getTraceContext()\n }, event.contexts);\n var transaction = this._span.transaction;\n\n if (transaction) {\n event.sdkProcessingMetadata = _objectSpread({\n dynamicSamplingContext: transaction.getDynamicSamplingContext()\n }, event.sdkProcessingMetadata);\n var transactionName = transaction.name;\n\n if (transactionName) {\n event.tags = _objectSpread({\n transaction: transactionName\n }, event.tags);\n }\n }\n }\n\n this._applyFingerprint(event);\n\n var scopeBreadcrumbs = this._getBreadcrumbs();\n\n var breadcrumbs = [].concat(_toConsumableArray(event.breadcrumbs || []), _toConsumableArray(scopeBreadcrumbs));\n event.breadcrumbs = breadcrumbs.length > 0 ? breadcrumbs : undefined;\n event.sdkProcessingMetadata = _objectSpread(_objectSpread(_objectSpread({}, event.sdkProcessingMetadata), this._sdkProcessingMetadata), {}, {\n propagationContext: this._propagationContext\n }); // TODO (v8): Update this order to be: Global > Client > Scope\n\n return notifyEventProcessors([].concat(_toConsumableArray(additionalEventProcessors || []), _toConsumableArray(getGlobalEventProcessors()), _toConsumableArray(this._eventProcessors)), event, hint);\n }\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n\n }, {\n key: \"setSDKProcessingMetadata\",\n value: function setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = _objectSpread(_objectSpread({}, this._sdkProcessingMetadata), newData);\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setPropagationContext\",\n value: function setPropagationContext(context) {\n this._propagationContext = context;\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getPropagationContext\",\n value: function getPropagationContext() {\n return this._propagationContext;\n }\n /**\n * Get the breadcrumbs for this scope.\n */\n\n }, {\n key: \"_getBreadcrumbs\",\n value: function _getBreadcrumbs() {\n return this._breadcrumbs;\n }\n /**\n * This will be called on every set call.\n */\n\n }, {\n key: \"_notifyScopeListeners\",\n value: function _notifyScopeListeners() {\n var _this = this;\n\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\n this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n\n this._notifyingListeners = false;\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 */\n\n }, {\n key: \"_applyFingerprint\",\n value: function _applyFingerprint(event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : []; // If we have something on the scope, then merge it with event\n\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n } // If we have no data at all, remove empty array default\n\n\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n }], [{\n key: \"clone\",\n value: function clone(scope) {\n var newScope = new Scope();\n\n if (scope) {\n newScope._breadcrumbs = _toConsumableArray(scope._breadcrumbs);\n newScope._tags = _objectSpread({}, scope._tags);\n newScope._extra = _objectSpread({}, scope._extra);\n newScope._contexts = _objectSpread({}, scope._contexts);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = _toConsumableArray(scope._eventProcessors);\n newScope._requestSession = scope._requestSession;\n newScope._attachments = _toConsumableArray(scope._attachments);\n newScope._sdkProcessingMetadata = _objectSpread({}, scope._sdkProcessingMetadata);\n newScope._propagationContext = _objectSpread({}, scope._propagationContext);\n }\n\n return newScope;\n }\n }]);\n\n return Scope;\n}();\n\nfunction generatePropagationContext() {\n return {\n traceId: uuid4(),\n spanId: uuid4().substring(16)\n };\n}\n\nexport { Scope };","import { logger } from '@sentry/utils';\nimport { getCurrentHub } from './hub.js';\n/** A class object that can instantiate Client objects. */\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\n\nfunction initAndBind(clientClass, options) {\n if (options.debug === true) {\n if (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n // eslint-disable-next-line no-console\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n }\n }\n\n var hub = getCurrentHub();\n var scope = hub.getScope();\n scope.update(options.initialScope);\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n\nexport { initAndBind };","import { timestampInSeconds, uuid4, dropUndefinedKeys } from '@sentry/utils';\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 */\n\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n var startingTime = timestampInSeconds();\n var 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: function toJSON() {\n return sessionToJSON(session);\n }\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\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\n\n\nfunction updateSession(session) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\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\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n\n if (context.init !== undefined) {\n session.init = context.init;\n }\n\n if (!session.did && context.did) {\n session.did = \"\".concat(context.did);\n }\n\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n var duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n\n if (context.release) {\n session.release = context.release;\n }\n\n if (context.environment) {\n session.environment = context.environment;\n }\n\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n\n if (context.status) {\n session.status = context.status;\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 */\n\n\nfunction closeSession(session, status) {\n var context = {};\n\n if (status) {\n context = {\n status: status\n };\n } else if (session.status === 'ok') {\n context = {\n status: 'exited'\n };\n }\n\n updateSession(session, context);\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 */\n\n\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: \"\".concat(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' ? \"\".concat(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 };","import { dropUndefinedKeys } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from '../constants.js';\n/**\n * Creates a dynamic sampling context from a client.\n *\n * Dispatchs the `createDsc` lifecycle hook as a side effect.\n */\n\nfunction getDynamicSamplingContextFromClient(trace_id, client, scope) {\n var options = client.getOptions();\n\n var _ref = client.getDsn() || {},\n public_key = _ref.publicKey;\n\n var _ref2 = scope && scope.getUser() || {},\n user_segment = _ref2.segment;\n\n var dsc = dropUndefinedKeys({\n environment: options.environment || DEFAULT_ENVIRONMENT,\n release: options.release,\n user_segment: user_segment,\n public_key: public_key,\n trace_id: trace_id\n });\n client.emit && client.emit('createDsc', dsc);\n return dsc;\n}\n\nexport { getDynamicSamplingContextFromClient };","import { addInstrumentationHandler, logger } from '@sentry/utils';\nimport { getActiveTransaction } from './utils.js';\nvar errorsInstrumented = false;\n/**\n * Configures global error listeners\n */\n\nfunction registerErrorInstrumentation() {\n if (errorsInstrumented) {\n return;\n }\n\n errorsInstrumented = true;\n addInstrumentationHandler('error', errorCallback);\n addInstrumentationHandler('unhandledrejection', errorCallback);\n}\n/**\n * If an error or unhandled promise occurs, we mark the active transaction as failed\n */\n\n\nfunction errorCallback() {\n var activeTransaction = getActiveTransaction();\n\n if (activeTransaction) {\n var status = 'internal_error';\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Transaction: \".concat(status, \" -> Global error occured\"));\n activeTransaction.setStatus(status);\n }\n} // The function name will be lost when bundling but we need to be able to identify this listener later to maintain the\n// node.js default exit behaviour\n\n\nerrorCallback.tag = 'sentry_tracingErrorCallback';\nexport { registerErrorInstrumentation };","import { logger, isNaN } from '@sentry/utils';\nimport { hasTracingEnabled } from '../utils/hasTracingEnabled.js';\n/**\n * Makes a sampling decision for the given transaction and stores it on the transaction.\n *\n * Called every time a transaction is created. Only transactions which emerge with a `sampled` value of `true` will be\n * sent to Sentry.\n *\n * This method muttes the given `transaction` and will set the `sampled` value on it.\n * It returns the same transaction, for convenience.\n */\n\nfunction sampleTransaction(transaction, options, samplingContext) {\n // nothing to do if tracing is not enabled\n if (!hasTracingEnabled(options)) {\n transaction.sampled = false;\n return transaction;\n } // if the user has forced a sampling decision by passing a `sampled` value in their transaction context, go with that\n\n\n if (transaction.sampled !== undefined) {\n transaction.setMetadata({\n sampleRate: Number(transaction.sampled)\n });\n return transaction;\n } // we would have bailed already if neither `tracesSampler` nor `tracesSampleRate` nor `enableTracing` were defined, so one of these should\n // work; prefer the hook if so\n\n\n var sampleRate;\n\n if (typeof options.tracesSampler === 'function') {\n sampleRate = options.tracesSampler(samplingContext);\n transaction.setMetadata({\n sampleRate: Number(sampleRate)\n });\n } else if (samplingContext.parentSampled !== undefined) {\n sampleRate = samplingContext.parentSampled;\n } else if (typeof options.tracesSampleRate !== 'undefined') {\n sampleRate = options.tracesSampleRate;\n transaction.setMetadata({\n sampleRate: Number(sampleRate)\n });\n } else {\n // When `enableTracing === true`, we use a sample rate of 100%\n sampleRate = 1;\n transaction.setMetadata({\n sampleRate: sampleRate\n });\n } // Since this is coming from the user (or from a function provided by the user), who knows what we might get. (The\n // only valid values are booleans or numbers between 0 and 1.)\n\n\n if (!isValidSampleRate(sampleRate)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('[Tracing] Discarding transaction because of invalid sample rate.');\n transaction.sampled = false;\n return transaction;\n } // if the function returned 0 (or false), or if `tracesSampleRate` is 0, it's a sign the transaction should be dropped\n\n\n if (!sampleRate) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Discarding transaction because \".concat(typeof options.tracesSampler === 'function' ? 'tracesSampler returned 0 or false' : 'a negative sampling decision was inherited or tracesSampleRate is set to 0'));\n transaction.sampled = false;\n return transaction;\n } // Now we roll the dice. Math.random is inclusive of 0, but not of 1, so strict < is safe here. In case sampleRate is\n // a boolean, the < comparison will cause it to be automatically cast to 1 if it's true and 0 if it's false.\n\n\n transaction.sampled = Math.random() < sampleRate; // if we're not going to keep it, we're done\n\n if (!transaction.sampled) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = \".concat(Number(sampleRate), \")\"));\n return transaction;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] starting \".concat(transaction.op, \" transaction - \").concat(transaction.name));\n return transaction;\n}\n/**\n * Checks the given sample rate to make sure it is valid type and value (a boolean, or a number between 0 and 1).\n */\n\n\nfunction isValidSampleRate(rate) {\n // we need to check NaN explicitly because it's of type 'number' and therefore wouldn't get caught by this typecheck\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isNaN(rate) || !(typeof rate === 'number' || typeof rate === 'boolean')) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got \".concat(JSON.stringify(rate), \" of type \").concat(JSON.stringify(typeof rate), \".\"));\n return false;\n } // in case sampleRate is a boolean, it will get automatically cast to 1 if it's true and 0 if it's false\n\n\n if (rate < 0 || rate > 1) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got \".concat(rate, \".\"));\n return false;\n }\n\n return true;\n}\n\nexport { sampleTransaction };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { logger } from '@sentry/utils';\nimport { getMainCarrier } from '../hub.js';\nimport { registerErrorInstrumentation } from './errors.js';\nimport { IdleTransaction } from './idletransaction.js';\nimport { sampleTransaction } from './sampling.js';\nimport { Transaction } from './transaction.js';\n/** Returns all trace headers that are currently on the top scope. */\n\nfunction traceHeaders() {\n var scope = this.getScope();\n var span = scope.getSpan();\n return span ? {\n 'sentry-trace': span.toTraceparent()\n } : {};\n}\n/**\n * Creates a new transaction and adds a sampling decision if it doesn't yet have one.\n *\n * The Hub.startTransaction method delegates to this method to do its work, passing the Hub instance in as `this`, as if\n * it had been called on the hub directly. Exists as a separate function so that it can be injected into the class as an\n * \"extension method.\"\n *\n * @param this: The Hub starting the transaction\n * @param transactionContext: Data used to configure the transaction\n * @param CustomSamplingContext: Optional data to be provided to the `tracesSampler` function (if any)\n *\n * @returns The new transaction\n *\n * @see {@link Hub.startTransaction}\n */\n\n\nfunction _startTransaction(transactionContext, customSamplingContext) {\n var client = this.getClient();\n var options = client && client.getOptions() || {};\n var configInstrumenter = options.instrumenter || 'sentry';\n var transactionInstrumenter = transactionContext.instrumenter || 'sentry';\n\n if (configInstrumenter !== transactionInstrumenter) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(\"A transaction was started with instrumenter=`\".concat(transactionInstrumenter, \"`, but the SDK is configured with the `\").concat(configInstrumenter, \"` instrumenter.\\nThe transaction will not be sampled. Please use the \").concat(configInstrumenter, \" instrumentation to start transactions.\"));\n transactionContext.sampled = false;\n }\n\n var transaction = new Transaction(transactionContext, this);\n transaction = sampleTransaction(transaction, options, _objectSpread({\n parentSampled: transactionContext.parentSampled,\n transactionContext: transactionContext\n }, customSamplingContext));\n\n if (transaction.sampled) {\n transaction.initSpanRecorder(options._experiments && options._experiments.maxSpans);\n }\n\n if (client && client.emit) {\n client.emit('startTransaction', transaction);\n }\n\n return transaction;\n}\n/**\n * Create new idle transaction.\n */\n\n\nfunction startIdleTransaction(hub, transactionContext, idleTimeout, finalTimeout, onScope, customSamplingContext, heartbeatInterval) {\n var client = hub.getClient();\n var options = client && client.getOptions() || {};\n var transaction = new IdleTransaction(transactionContext, hub, idleTimeout, finalTimeout, heartbeatInterval, onScope);\n transaction = sampleTransaction(transaction, options, _objectSpread({\n parentSampled: transactionContext.parentSampled,\n transactionContext: transactionContext\n }, customSamplingContext));\n\n if (transaction.sampled) {\n transaction.initSpanRecorder(options._experiments && options._experiments.maxSpans);\n }\n\n if (client && client.emit) {\n client.emit('startTransaction', transaction);\n }\n\n return transaction;\n}\n/**\n * Adds tracing extensions to the global hub.\n */\n\n\nfunction addTracingExtensions() {\n var carrier = getMainCarrier();\n\n if (!carrier.__SENTRY__) {\n return;\n }\n\n carrier.__SENTRY__.extensions = carrier.__SENTRY__.extensions || {};\n\n if (!carrier.__SENTRY__.extensions.startTransaction) {\n carrier.__SENTRY__.extensions.startTransaction = _startTransaction;\n }\n\n if (!carrier.__SENTRY__.extensions.traceHeaders) {\n carrier.__SENTRY__.extensions.traceHeaders = traceHeaders;\n }\n\n registerErrorInstrumentation();\n}\n\nexport { addTracingExtensions, startIdleTransaction };","import _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport _assertThisInitialized from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _get from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _getPrototypeOf from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _inherits from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _createSuper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js\";\nimport { logger, timestampInSeconds } from '@sentry/utils';\nimport { SpanRecorder } from './span.js';\nimport { Transaction } from './transaction.js';\nvar TRACING_DEFAULTS = {\n idleTimeout: 1000,\n finalTimeout: 30000,\n heartbeatInterval: 5000\n};\nvar FINISH_REASON_TAG = 'finishReason';\nvar IDLE_TRANSACTION_FINISH_REASONS = ['heartbeatFailed', 'idleTimeout', 'documentHidden', 'finalTimeout', 'externalFinish', 'cancelled'];\n/**\n * @inheritDoc\n */\n\nvar IdleTransactionSpanRecorder = /*#__PURE__*/function (_SpanRecorder) {\n _inherits(IdleTransactionSpanRecorder, _SpanRecorder);\n\n var _super = _createSuper(IdleTransactionSpanRecorder);\n\n function IdleTransactionSpanRecorder(_pushActivity, _popActivity, transactionSpanId, maxlen) {\n var _this;\n\n _classCallCheck(this, IdleTransactionSpanRecorder);\n\n _this = _super.call(this, maxlen);\n _this._pushActivity = _pushActivity;\n _this._popActivity = _popActivity;\n _this.transactionSpanId = transactionSpanId;\n return _this;\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(IdleTransactionSpanRecorder, [{\n key: \"add\",\n value: function add(span) {\n var _this2 = this;\n\n // We should make sure we do not push and pop activities for\n // the transaction that this span recorder belongs to.\n if (span.spanId !== this.transactionSpanId) {\n // We patch span.finish() to pop an activity after setting an endTimestamp.\n span.finish = function (endTimestamp) {\n span.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampInSeconds();\n\n _this2._popActivity(span.spanId);\n }; // We should only push new activities if the span does not have an end timestamp.\n\n\n if (span.endTimestamp === undefined) {\n this._pushActivity(span.spanId);\n }\n }\n\n _get(_getPrototypeOf(IdleTransactionSpanRecorder.prototype), \"add\", this).call(this, span);\n }\n }]);\n\n return IdleTransactionSpanRecorder;\n}(SpanRecorder);\n/**\n * An IdleTransaction is a transaction that automatically finishes. It does this by tracking child spans as activities.\n * You can have multiple IdleTransactions active, but if the `onScope` option is specified, the idle transaction will\n * put itself on the scope on creation.\n */\n\n\nvar IdleTransaction = /*#__PURE__*/function (_Transaction) {\n _inherits(IdleTransaction, _Transaction);\n\n var _super2 = _createSuper(IdleTransaction);\n\n // Activities store a list of active spans\n // Track state of activities in previous heartbeat\n // Amount of times heartbeat has counted. Will cause transaction to finish after 3 beats.\n // We should not use heartbeat if we finished a transaction\n // Idle timeout was canceled and we should finish the transaction with the last span end.\n\n /**\n * Timer that tracks Transaction idleTimeout\n */\n function IdleTransaction(transactionContext, _idleHub) {\n var _this3;\n\n var _idleTimeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : TRACING_DEFAULTS.idleTimeout;\n\n var _finalTimeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : TRACING_DEFAULTS.finalTimeout;\n\n var _heartbeatInterval = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : TRACING_DEFAULTS.heartbeatInterval;\n\n var _onScope = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n _classCallCheck(this, IdleTransaction);\n\n _this3 = _super2.call(this, transactionContext, _idleHub);\n _this3._idleHub = _idleHub;\n _this3._idleTimeout = _idleTimeout;\n _this3._finalTimeout = _finalTimeout;\n _this3._heartbeatInterval = _heartbeatInterval;\n _this3._onScope = _onScope;\n _this3.activities = {};\n _this3._heartbeatCounter = 0;\n _this3._finished = false;\n _this3._idleTimeoutCanceledPermanently = false;\n _this3._beforeFinishCallbacks = [];\n _this3._finishReason = IDLE_TRANSACTION_FINISH_REASONS[4];\n\n if (_onScope) {\n // We set the transaction here on the scope so error events pick up the trace\n // context and attach it to the error.\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"Setting idle transaction on scope. Span ID: \".concat(_this3.spanId));\n\n _idleHub.configureScope(function (scope) {\n return scope.setSpan(_assertThisInitialized(_this3));\n });\n }\n\n _this3._restartIdleTimeout();\n\n setTimeout(function () {\n if (!_this3._finished) {\n _this3.setStatus('deadline_exceeded');\n\n _this3._finishReason = IDLE_TRANSACTION_FINISH_REASONS[3];\n\n _this3.finish();\n }\n }, _this3._finalTimeout);\n return _this3;\n }\n /** {@inheritDoc} */\n\n\n _createClass(IdleTransaction, [{\n key: \"finish\",\n value: function finish() {\n var _this4 = this;\n\n var endTimestamp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : timestampInSeconds();\n this._finished = true;\n this.activities = {};\n\n if (this.op === 'ui.action.click') {\n this.setTag(FINISH_REASON_TAG, this._finishReason);\n }\n\n if (this.spanRecorder) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] finishing IdleTransaction', new Date(endTimestamp * 1000).toISOString(), this.op);\n\n var _iterator = _createForOfIteratorHelper(this._beforeFinishCallbacks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var callback = _step.value;\n callback(this, endTimestamp);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.spanRecorder.spans = this.spanRecorder.spans.filter(function (span) {\n // If we are dealing with the transaction itself, we just return it\n if (span.spanId === _this4.spanId) {\n return true;\n } // We cancel all pending spans with status \"cancelled\" to indicate the idle transaction was finished early\n\n\n if (!span.endTimestamp) {\n span.endTimestamp = endTimestamp;\n span.setStatus('cancelled');\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] cancelling span since transaction ended early', JSON.stringify(span, undefined, 2));\n }\n\n var spanStartedBeforeTransactionFinish = span.startTimestamp < endTimestamp; // Add a delta with idle timeout so that we prevent false positives\n\n var timeoutWithMarginOfError = (_this4._finalTimeout + _this4._idleTimeout) / 1000;\n var spanEndedBeforeFinalTimeout = span.endTimestamp - _this4.startTimestamp < timeoutWithMarginOfError;\n\n if (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) {\n var stringifiedSpan = JSON.stringify(span, undefined, 2);\n\n if (!spanStartedBeforeTransactionFinish) {\n logger.log('[Tracing] discarding Span since it happened after Transaction was finished', stringifiedSpan);\n } else if (!spanEndedBeforeFinalTimeout) {\n logger.log('[Tracing] discarding Span since it finished after Transaction final timeout', stringifiedSpan);\n }\n }\n\n return spanStartedBeforeTransactionFinish && spanEndedBeforeFinalTimeout;\n });\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] flushing IdleTransaction');\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] No active IdleTransaction');\n } // if `this._onScope` is `true`, the transaction put itself on the scope when it started\n\n\n if (this._onScope) {\n var scope = this._idleHub.getScope();\n\n if (scope.getTransaction() === this) {\n scope.setSpan(undefined);\n }\n }\n\n return _get(_getPrototypeOf(IdleTransaction.prototype), \"finish\", this).call(this, endTimestamp);\n }\n /**\n * Register a callback function that gets excecuted before the transaction finishes.\n * Useful for cleanup or if you want to add any additional spans based on current context.\n *\n * This is exposed because users have no other way of running something before an idle transaction\n * finishes.\n */\n\n }, {\n key: \"registerBeforeFinishCallback\",\n value: function registerBeforeFinishCallback(callback) {\n this._beforeFinishCallbacks.push(callback);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"initSpanRecorder\",\n value: function initSpanRecorder(maxlen) {\n var _this5 = this;\n\n if (!this.spanRecorder) {\n var pushActivity = function pushActivity(id) {\n if (_this5._finished) {\n return;\n }\n\n _this5._pushActivity(id);\n };\n\n var popActivity = function popActivity(id) {\n if (_this5._finished) {\n return;\n }\n\n _this5._popActivity(id);\n };\n\n this.spanRecorder = new IdleTransactionSpanRecorder(pushActivity, popActivity, this.spanId, maxlen); // Start heartbeat so that transactions do not run forever.\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('Starting heartbeat');\n\n this._pingHeartbeat();\n }\n\n this.spanRecorder.add(this);\n }\n /**\n * Cancels the existing idle timeout, if there is one.\n * @param restartOnChildSpanChange Default is `true`.\n * If set to false the transaction will end\n * with the last child span.\n */\n\n }, {\n key: \"cancelIdleTimeout\",\n value: function cancelIdleTimeout(endTimestamp) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n restartOnChildSpanChange: true\n },\n restartOnChildSpanChange = _ref.restartOnChildSpanChange;\n\n this._idleTimeoutCanceledPermanently = restartOnChildSpanChange === false;\n\n if (this._idleTimeoutID) {\n clearTimeout(this._idleTimeoutID);\n this._idleTimeoutID = undefined;\n\n if (Object.keys(this.activities).length === 0 && this._idleTimeoutCanceledPermanently) {\n this._finishReason = IDLE_TRANSACTION_FINISH_REASONS[5];\n this.finish(endTimestamp);\n }\n }\n }\n /**\n * Temporary method used to externally set the transaction's `finishReason`\n *\n * ** WARNING**\n * This is for the purpose of experimentation only and will be removed in the near future, do not use!\n *\n * @internal\n *\n */\n\n }, {\n key: \"setFinishReason\",\n value: function setFinishReason(reason) {\n this._finishReason = reason;\n }\n /**\n * Restarts idle timeout, if there is no running idle timeout it will start one.\n */\n\n }, {\n key: \"_restartIdleTimeout\",\n value: function _restartIdleTimeout(endTimestamp) {\n var _this6 = this;\n\n this.cancelIdleTimeout();\n this._idleTimeoutID = setTimeout(function () {\n if (!_this6._finished && Object.keys(_this6.activities).length === 0) {\n _this6._finishReason = IDLE_TRANSACTION_FINISH_REASONS[1];\n\n _this6.finish(endTimestamp);\n }\n }, this._idleTimeout);\n }\n /**\n * Start tracking a specific activity.\n * @param spanId The span id that represents the activity\n */\n\n }, {\n key: \"_pushActivity\",\n value: function _pushActivity(spanId) {\n this.cancelIdleTimeout(undefined, {\n restartOnChildSpanChange: !this._idleTimeoutCanceledPermanently\n });\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] pushActivity: \".concat(spanId));\n this.activities[spanId] = true;\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n }\n /**\n * Remove an activity from usage\n * @param spanId The span id that represents the activity\n */\n\n }, {\n key: \"_popActivity\",\n value: function _popActivity(spanId) {\n if (this.activities[spanId]) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] popActivity \".concat(spanId)); // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\n delete this.activities[spanId];\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] new activities count', Object.keys(this.activities).length);\n }\n\n if (Object.keys(this.activities).length === 0) {\n var endTimestamp = timestampInSeconds();\n\n if (this._idleTimeoutCanceledPermanently) {\n this._finishReason = IDLE_TRANSACTION_FINISH_REASONS[5];\n this.finish(endTimestamp);\n } else {\n // We need to add the timeout here to have the real endtimestamp of the transaction\n // Remember timestampInSeconds is in seconds, timeout is in ms\n this._restartIdleTimeout(endTimestamp + this._idleTimeout / 1000);\n }\n }\n }\n /**\n * Checks when entries of this.activities are not changing for 3 beats.\n * If this occurs we finish the transaction.\n */\n\n }, {\n key: \"_beat\",\n value: function _beat() {\n // We should not be running heartbeat if the idle transaction is finished.\n if (this._finished) {\n return;\n }\n\n var heartbeatString = Object.keys(this.activities).join('');\n\n if (heartbeatString === this._prevHeartbeatString) {\n this._heartbeatCounter++;\n } else {\n this._heartbeatCounter = 1;\n }\n\n this._prevHeartbeatString = heartbeatString;\n\n if (this._heartbeatCounter >= 3) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] Transaction finished because of no change for 3 heart beats');\n this.setStatus('deadline_exceeded');\n this._finishReason = IDLE_TRANSACTION_FINISH_REASONS[0];\n this.finish();\n } else {\n this._pingHeartbeat();\n }\n }\n /**\n * Pings the heartbeat\n */\n\n }, {\n key: \"_pingHeartbeat\",\n value: function _pingHeartbeat() {\n var _this7 = this;\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"pinging Heartbeat -> current counter: \".concat(this._heartbeatCounter));\n setTimeout(function () {\n _this7._beat();\n }, this._heartbeatInterval);\n }\n }]);\n\n return IdleTransaction;\n}(Transaction);\n\nexport { IdleTransaction, IdleTransactionSpanRecorder, TRACING_DEFAULTS };","import _defineProperty from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { uuid4, timestampInSeconds, logger, generateSentryTraceHeader, dropUndefinedKeys } from '@sentry/utils';\n/**\n * Keeps track of finished spans for a given transaction\n * @internal\n * @hideconstructor\n * @hidden\n */\n\nvar SpanRecorder = /*#__PURE__*/function () {\n function SpanRecorder() {\n var maxlen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;\n\n _classCallCheck(this, SpanRecorder);\n\n this._maxlen = maxlen;\n this.spans = [];\n }\n /**\n * This is just so that we don't run out of memory while recording a lot\n * of spans. At some point we just stop and flush out the start of the\n * trace tree (i.e.the first n spans with the smallest\n * start_timestamp).\n */\n\n\n _createClass(SpanRecorder, [{\n key: \"add\",\n value: function add(span) {\n if (this.spans.length > this._maxlen) {\n span.spanRecorder = undefined;\n } else {\n this.spans.push(span);\n }\n }\n }]);\n\n return SpanRecorder;\n}();\n/**\n * Span contains all data about a span\n */\n\n\nvar Span = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * Internal keeper of the status\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * Timestamp in seconds when the span was created.\n */\n\n /**\n * Timestamp in seconds when the span ended.\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n /**\n * List of spans that were finalized\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * The instrumenter that created this span.\n */\n\n /**\n * The origin of the span, giving context about what created the span.\n */\n\n /**\n * You should never call the constructor manually, always use `Sentry.startTransaction()`\n * or call `startChild()` on an existing span.\n * @internal\n * @hideconstructor\n * @hidden\n */\n function Span() {\n var spanContext = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Span);\n\n this.traceId = spanContext.traceId || uuid4();\n this.spanId = spanContext.spanId || uuid4().substring(16);\n this.startTimestamp = spanContext.startTimestamp || timestampInSeconds();\n this.tags = spanContext.tags || {};\n this.data = spanContext.data || {};\n this.instrumenter = spanContext.instrumenter || 'sentry';\n this.origin = spanContext.origin || 'manual';\n\n if (spanContext.parentSpanId) {\n this.parentSpanId = spanContext.parentSpanId;\n } // We want to include booleans as well here\n\n\n if ('sampled' in spanContext) {\n this.sampled = spanContext.sampled;\n }\n\n if (spanContext.op) {\n this.op = spanContext.op;\n }\n\n if (spanContext.description) {\n this.description = spanContext.description;\n }\n\n if (spanContext.name) {\n this.description = spanContext.name;\n }\n\n if (spanContext.status) {\n this.status = spanContext.status;\n }\n\n if (spanContext.endTimestamp) {\n this.endTimestamp = spanContext.endTimestamp;\n }\n }\n /** An alias for `description` of the Span. */\n\n\n _createClass(Span, [{\n key: \"name\",\n get: function get() {\n return this.description || '';\n }\n /** Update the name of the span. */\n ,\n set: function set(name) {\n this.setName(name);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"startChild\",\n value: function startChild(spanContext) {\n var childSpan = new Span(_objectSpread(_objectSpread({}, spanContext), {}, {\n parentSpanId: this.spanId,\n sampled: this.sampled,\n traceId: this.traceId\n }));\n childSpan.spanRecorder = this.spanRecorder;\n\n if (childSpan.spanRecorder) {\n childSpan.spanRecorder.add(childSpan);\n }\n\n childSpan.transaction = this.transaction;\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && childSpan.transaction) {\n var opStr = spanContext && spanContext.op || '< unknown op >';\n var nameStr = childSpan.transaction.name || '< unknown name >';\n var idStr = childSpan.transaction.spanId;\n var logMessage = \"[Tracing] Starting '\".concat(opStr, \"' span on transaction '\").concat(nameStr, \"' (\").concat(idStr, \").\");\n childSpan.transaction.metadata.spanMetadata[childSpan.spanId] = {\n logMessage: logMessage\n };\n logger.log(logMessage);\n }\n\n return childSpan;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setTag\",\n value: function setTag(key, value) {\n this.tags = _objectSpread(_objectSpread({}, this.tags), {}, _defineProperty({}, key, value));\n return this;\n }\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n\n }, {\n key: \"setData\",\n value: function setData(key, value) {\n this.data = _objectSpread(_objectSpread({}, this.data), {}, _defineProperty({}, key, value));\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setStatus\",\n value: function setStatus(value) {\n this.status = value;\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setHttpStatus\",\n value: function setHttpStatus(httpStatus) {\n this.setTag('http.status_code', String(httpStatus));\n this.setData('http.response.status_code', httpStatus);\n var spanStatus = spanStatusfromHttpCode(httpStatus);\n\n if (spanStatus !== 'unknown_error') {\n this.setStatus(spanStatus);\n }\n\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setName\",\n value: function setName(name) {\n this.description = name;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"isSuccess\",\n value: function isSuccess() {\n return this.status === 'ok';\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"finish\",\n value: function finish(endTimestamp) {\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && // Don't call this for transactions\n this.transaction && this.transaction.spanId !== this.spanId) {\n var logMessage = this.transaction.metadata.spanMetadata[this.spanId].logMessage;\n\n if (logMessage) {\n logger.log(logMessage.replace('Starting', 'Finishing'));\n }\n }\n\n this.endTimestamp = typeof endTimestamp === 'number' ? endTimestamp : timestampInSeconds();\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"toTraceparent\",\n value: function toTraceparent() {\n return generateSentryTraceHeader(this.traceId, this.spanId, this.sampled);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"toContext\",\n value: function toContext() {\n return dropUndefinedKeys({\n data: this.data,\n description: this.description,\n endTimestamp: this.endTimestamp,\n op: this.op,\n parentSpanId: this.parentSpanId,\n sampled: this.sampled,\n spanId: this.spanId,\n startTimestamp: this.startTimestamp,\n status: this.status,\n tags: this.tags,\n traceId: this.traceId\n });\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"updateWithContext\",\n value: function updateWithContext(spanContext) {\n this.data = spanContext.data || {};\n this.description = spanContext.description;\n this.endTimestamp = spanContext.endTimestamp;\n this.op = spanContext.op;\n this.parentSpanId = spanContext.parentSpanId;\n this.sampled = spanContext.sampled;\n this.spanId = spanContext.spanId || this.spanId;\n this.startTimestamp = spanContext.startTimestamp || this.startTimestamp;\n this.status = spanContext.status;\n this.tags = spanContext.tags || {};\n this.traceId = spanContext.traceId || this.traceId;\n return this;\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"getTraceContext\",\n value: function getTraceContext() {\n return dropUndefinedKeys({\n data: Object.keys(this.data).length > 0 ? this.data : undefined,\n description: this.description,\n op: this.op,\n parent_span_id: this.parentSpanId,\n span_id: this.spanId,\n status: this.status,\n tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n trace_id: this.traceId\n });\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return dropUndefinedKeys({\n data: Object.keys(this.data).length > 0 ? this.data : undefined,\n description: this.description,\n op: this.op,\n parent_span_id: this.parentSpanId,\n span_id: this.spanId,\n start_timestamp: this.startTimestamp,\n status: this.status,\n tags: Object.keys(this.tags).length > 0 ? this.tags : undefined,\n timestamp: this.endTimestamp,\n trace_id: this.traceId,\n origin: this.origin\n });\n }\n }]);\n\n return Span;\n}();\n/**\n * Converts a HTTP status code into a {@link SpanStatusType}.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or unknown_error.\n */\n\n\nfunction spanStatusfromHttpCode(httpStatus) {\n if (httpStatus < 400 && httpStatus >= 100) {\n return 'ok';\n }\n\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return 'unauthenticated';\n\n case 403:\n return 'permission_denied';\n\n case 404:\n return 'not_found';\n\n case 409:\n return 'already_exists';\n\n case 413:\n return 'failed_precondition';\n\n case 429:\n return 'resource_exhausted';\n\n default:\n return 'invalid_argument';\n }\n }\n\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return 'unimplemented';\n\n case 503:\n return 'unavailable';\n\n case 504:\n return 'deadline_exceeded';\n\n default:\n return 'internal_error';\n }\n }\n\n return 'unknown_error';\n}\n\nexport { Span, SpanRecorder, spanStatusfromHttpCode };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _assertThisInitialized from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _get from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _getPrototypeOf from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _inherits from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _createSuper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js\";\nimport { dropUndefinedKeys, logger } from '@sentry/utils';\nimport { getCurrentHub } from '../hub.js';\nimport { getDynamicSamplingContextFromClient } from './dynamicSamplingContext.js';\nimport { Span, SpanRecorder } from './span.js';\n/** JSDoc */\n\nvar Transaction = /*#__PURE__*/function (_Span) {\n _inherits(Transaction, _Span);\n\n var _super = _createSuper(Transaction);\n\n /**\n * The reference to the current hub.\n */\n\n /**\n * This constructor should never be called manually. Those instrumenting tracing should use\n * `Sentry.startTransaction()`, and internal methods should use `hub.startTransaction()`.\n * @internal\n * @hideconstructor\n * @hidden\n */\n function Transaction(transactionContext, hub) {\n var _this;\n\n _classCallCheck(this, Transaction);\n\n _this = _super.call(this, transactionContext); // We need to delete description since it's set by the Span class constructor\n // but not needed for transactions.\n\n delete _this.description;\n _this._measurements = {};\n _this._contexts = {};\n _this._hub = hub || getCurrentHub();\n _this._name = transactionContext.name || '';\n _this.metadata = _objectSpread(_objectSpread({\n source: 'custom'\n }, transactionContext.metadata), {}, {\n spanMetadata: {}\n });\n _this._trimEnd = transactionContext.trimEnd; // this is because transactions are also spans, and spans have a transaction pointer\n\n _this.transaction = _assertThisInitialized(_this); // If Dynamic Sampling Context is provided during the creation of the transaction, we freeze it as it usually means\n // there is incoming Dynamic Sampling Context. (Either through an incoming request, a baggage meta-tag, or other means)\n\n var incomingDynamicSamplingContext = _this.metadata.dynamicSamplingContext;\n\n if (incomingDynamicSamplingContext) {\n // We shallow copy this in case anything writes to the original reference of the passed in `dynamicSamplingContext`\n _this._frozenDynamicSamplingContext = _objectSpread({}, incomingDynamicSamplingContext);\n }\n\n return _this;\n }\n /** Getter for `name` property */\n\n\n _createClass(Transaction, [{\n key: \"name\",\n get: function get() {\n return this._name;\n }\n /** Setter for `name` property, which also sets `source` as custom */\n ,\n set: function set(newName) {\n this.setName(newName);\n }\n /**\n * JSDoc\n */\n\n }, {\n key: \"setName\",\n value: function setName(name) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'custom';\n this._name = name;\n this.metadata.source = source;\n }\n /**\n * Attaches SpanRecorder to the span itself\n * @param maxlen maximum number of spans that can be recorded\n */\n\n }, {\n key: \"initSpanRecorder\",\n value: function initSpanRecorder() {\n var maxlen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;\n\n if (!this.spanRecorder) {\n this.spanRecorder = new SpanRecorder(maxlen);\n }\n\n this.spanRecorder.add(this);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setContext\",\n value: function 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 /**\n * @inheritDoc\n */\n\n }, {\n key: \"setMeasurement\",\n value: function setMeasurement(name, value) {\n var unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n this._measurements[name] = {\n value: value,\n unit: unit\n };\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"setMetadata\",\n value: function setMetadata(newMetadata) {\n this.metadata = _objectSpread(_objectSpread({}, this.metadata), newMetadata);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"finish\",\n value: function finish(endTimestamp) {\n var transaction = this._finishTransaction(endTimestamp);\n\n if (!transaction) {\n return undefined;\n }\n\n return this._hub.captureEvent(transaction);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"toContext\",\n value: function toContext() {\n var spanContext = _get(_getPrototypeOf(Transaction.prototype), \"toContext\", this).call(this);\n\n return dropUndefinedKeys(_objectSpread(_objectSpread({}, spanContext), {}, {\n name: this.name,\n trimEnd: this._trimEnd\n }));\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"updateWithContext\",\n value: function updateWithContext(transactionContext) {\n _get(_getPrototypeOf(Transaction.prototype), \"updateWithContext\", this).call(this, transactionContext);\n\n this.name = transactionContext.name || '';\n this._trimEnd = transactionContext.trimEnd;\n return this;\n }\n /**\n * @inheritdoc\n *\n * @experimental\n */\n\n }, {\n key: \"getDynamicSamplingContext\",\n value: function getDynamicSamplingContext() {\n if (this._frozenDynamicSamplingContext) {\n return this._frozenDynamicSamplingContext;\n }\n\n var hub = this._hub || getCurrentHub();\n var client = hub.getClient();\n if (!client) return {};\n var scope = hub.getScope();\n var dsc = getDynamicSamplingContextFromClient(this.traceId, client, scope);\n var maybeSampleRate = this.metadata.sampleRate;\n\n if (maybeSampleRate !== undefined) {\n dsc.sample_rate = \"\".concat(maybeSampleRate);\n } // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n\n\n var source = this.metadata.source;\n\n if (source && source !== 'url') {\n dsc.transaction = this.name;\n }\n\n if (this.sampled !== undefined) {\n dsc.sampled = String(this.sampled);\n } // Uncomment if we want to make DSC immutable\n // this._frozenDynamicSamplingContext = dsc;\n\n\n return dsc;\n }\n /**\n * Override the current hub with a new one.\n * Used if you want another hub to finish the transaction.\n *\n * @internal\n */\n\n }, {\n key: \"setHub\",\n value: function setHub(hub) {\n this._hub = hub;\n }\n /**\n * Finish the transaction & prepare the event to send to Sentry.\n */\n\n }, {\n key: \"_finishTransaction\",\n value: function _finishTransaction(endTimestamp) {\n var _this2 = this;\n\n // This transaction is already finished, so we should not flush it again.\n if (this.endTimestamp !== undefined) {\n return undefined;\n }\n\n if (!this.name) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Transaction has no name, falling back to ``.');\n this.name = '';\n } // just sets the end timestamp\n\n\n _get(_getPrototypeOf(Transaction.prototype), \"finish\", this).call(this, endTimestamp);\n\n var client = this._hub.getClient();\n\n if (client && client.emit) {\n client.emit('finishTransaction', this);\n }\n\n if (this.sampled !== true) {\n // At this point if `sampled !== true` we want to discard the transaction.\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] Discarding transaction because its trace was not chosen to be sampled.');\n\n if (client) {\n client.recordDroppedEvent('sample_rate', 'transaction');\n }\n\n return undefined;\n }\n\n var finishedSpans = this.spanRecorder ? this.spanRecorder.spans.filter(function (s) {\n return s !== _this2 && s.endTimestamp;\n }) : [];\n\n if (this._trimEnd && finishedSpans.length > 0) {\n this.endTimestamp = finishedSpans.reduce(function (prev, current) {\n if (prev.endTimestamp && current.endTimestamp) {\n return prev.endTimestamp > current.endTimestamp ? prev : current;\n }\n\n return prev;\n }).endTimestamp;\n }\n\n var metadata = this.metadata;\n\n var transaction = _objectSpread({\n contexts: _objectSpread(_objectSpread({}, this._contexts), {}, {\n // We don't want to override trace context\n trace: this.getTraceContext()\n }),\n spans: finishedSpans,\n start_timestamp: this.startTimestamp,\n tags: this.tags,\n timestamp: this.endTimestamp,\n transaction: this.name,\n type: 'transaction',\n sdkProcessingMetadata: _objectSpread(_objectSpread({}, metadata), {}, {\n dynamicSamplingContext: this.getDynamicSamplingContext()\n })\n }, metadata.source && {\n transaction_info: {\n source: metadata.source\n }\n });\n\n var hasMeasurements = Object.keys(this._measurements).length > 0;\n\n if (hasMeasurements) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding measurements to transaction', JSON.stringify(this._measurements, undefined, 2));\n transaction.measurements = this._measurements;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Finishing \".concat(this.op, \" transaction: \").concat(this.name, \".\"));\n return transaction;\n }\n }]);\n\n return Transaction;\n}(Span);\n\nexport { Transaction };","import { getCurrentHub } from '../hub.js';\nexport { TRACEPARENT_REGEXP, extractTraceparentData, stripUrlQueryAndFragment } from '@sentry/utils';\n/** Grabs active transaction off scope, if any */\n\nfunction getActiveTransaction(maybeHub) {\n var hub = maybeHub || getCurrentHub();\n var scope = hub.getScope();\n return scope.getTransaction();\n}\n\nexport { getActiveTransaction };","import { makePromiseBuffer, forEachEnvelopeItem, envelopeItemTypeToDataCategory, isRateLimited, resolvedSyncPromise, createEnvelope, SentryError, logger, serializeEnvelope, updateRateLimits } from '@sentry/utils';\nvar DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\n\nfunction createTransport(options, makeRequest) {\n var buffer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE);\n var rateLimits = {};\n\n var flush = function flush(timeout) {\n return buffer.drain(timeout);\n };\n\n function send(envelope) {\n var filteredEnvelopeItems = []; // Drop rate limited items from envelope\n\n forEachEnvelopeItem(envelope, function (item, type) {\n var envelopeItemDataCategory = envelopeItemTypeToDataCategory(type);\n\n if (isRateLimited(rateLimits, envelopeItemDataCategory)) {\n var event = getEventForEnvelopeItem(item, type);\n options.recordDroppedEvent('ratelimit_backoff', envelopeItemDataCategory, event);\n } else {\n filteredEnvelopeItems.push(item);\n }\n }); // Skip sending if envelope is empty after filtering out rate limited events\n\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise();\n } // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n var filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems); // Creates client report for each item in an envelope\n\n var recordEnvelopeLoss = function recordEnvelopeLoss(reason) {\n forEachEnvelopeItem(filteredEnvelope, function (item, type) {\n var event = getEventForEnvelopeItem(item, type);\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type), event);\n });\n };\n\n var requestTask = function requestTask() {\n return makeRequest({\n body: serializeEnvelope(filteredEnvelope, options.textEncoder)\n }).then(function (response) {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Sentry responded with status code \".concat(response.statusCode, \" to sent event.\"));\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n return response;\n }, function (error) {\n recordEnvelopeLoss('network_error');\n throw error;\n });\n };\n\n return buffer.add(requestTask).then(function (result) {\n return result;\n }, function (error) {\n if (error instanceof SentryError) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Skipped sending event because buffer is full.');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise();\n } else {\n throw error;\n }\n });\n } // We use this to identifify if the transport is the base transport\n // TODO (v8): Remove this again as we'll no longer need it\n\n\n send.__sentry__baseTransport__ = true;\n return {\n send: send,\n flush: flush\n };\n}\n\nfunction getEventForEnvelopeItem(item, type) {\n if (type !== 'event' && type !== 'transaction') {\n return undefined;\n }\n\n return Array.isArray(item) ? item[1] : undefined;\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };","import { getCurrentHub } from '../hub.js'; // 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 */\n\nfunction hasTracingEnabled(maybeOptions) {\n if (typeof __SENTRY_TRACING__ === 'boolean' && !__SENTRY_TRACING__) {\n return false;\n }\n\n var client = getCurrentHub().getClient();\n var options = maybeOptions || client && client.getOptions();\n return !!options && (options.enableTracing || 'tracesSampleRate' in options || 'tracesSampler' in options);\n}\n\nexport { hasTracingEnabled };","/**\n * Checks whether given url points to Sentry server\n * @param url url to verify\n */\nfunction isSentryRequestUrl(url, hub) {\n var client = hub.getClient();\n var dsn = client && client.getDsn();\n var tunnel = client && client.getOptions().tunnel;\n return checkDsn(url, dsn) || checkTunnel(url, tunnel);\n}\n\nfunction checkTunnel(url, tunnel) {\n if (!tunnel) {\n return false;\n }\n\n return removeTrailingSlash(url) === removeTrailingSlash(tunnel);\n}\n\nfunction checkDsn(url, dsn) {\n return dsn ? url.includes(dsn.host) : false;\n}\n\nfunction removeTrailingSlash(str) {\n return str[str.length - 1] === '/' ? str.slice(0, -1) : str;\n}\n\nexport { isSentryRequestUrl };","import _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { uuid4, dateTimestampInSeconds, resolvedSyncPromise, truncate, GLOBAL_OBJ, normalize } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { notifyEventProcessors, getGlobalEventProcessors } from '../eventProcessors.js';\nimport { Scope } from '../scope.js';\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 * Note: This also triggers callbacks for `addGlobalEventProcessor`, but not `beforeSend`.\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 */\n\nfunction prepareEvent(options, event, hint, scope, client) {\n var _options$normalizeDep = options.normalizeDepth,\n normalizeDepth = _options$normalizeDep === void 0 ? 3 : _options$normalizeDep,\n _options$normalizeMax = options.normalizeMaxBreadth,\n normalizeMaxBreadth = _options$normalizeMax === void 0 ? 1000 : _options$normalizeMax;\n\n var prepared = _objectSpread(_objectSpread({}, event), {}, {\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds()\n });\n\n var integrations = hint.integrations || options.integrations.map(function (i) {\n return i.name;\n });\n applyClientOptions(prepared, options);\n applyIntegrationsMetadata(prepared, integrations); // Only put debug IDs onto frames for error events.\n\n if (event.type === undefined) {\n applyDebugIds(prepared, options.stackParser);\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\n\n var finalScope = scope;\n\n if (hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n } // We prepare the result here with a resolved Event.\n\n\n var result = resolvedSyncPromise(prepared);\n var clientEventProcessors = client && client.getEventProcessors ? client.getEventProcessors() : []; // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n //\n // We need to check for the existence of `finalScope.getAttachments`\n // because `getAttachments` can be undefined if users are using an older version\n // of `@sentry/core` that does not have the `getAttachments` method.\n // See: https://github.com/getsentry/sentry-javascript/issues/5229\n\n if (finalScope) {\n // Collect attachments from the hint and scope\n if (finalScope.getAttachments) {\n var attachments = [].concat(_toConsumableArray(hint.attachments || []), _toConsumableArray(finalScope.getAttachments()));\n\n if (attachments.length) {\n hint.attachments = attachments;\n }\n } // In case we have a hub we reassign it.\n\n\n result = finalScope.applyToEvent(prepared, hint, clientEventProcessors);\n } else {\n // Apply client & global event processors even if there is no scope\n // TODO (v8): Update the order to be Global > Client\n result = notifyEventProcessors([].concat(_toConsumableArray(clientEventProcessors), _toConsumableArray(getGlobalEventProcessors())), prepared, hint);\n }\n\n return result.then(function (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\n return evt;\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 */\n\n\nfunction applyClientOptions(event, options) {\n var environment = options.environment,\n release = options.release,\n dist = options.dist,\n _options$maxValueLeng = options.maxValueLength,\n maxValueLength = _options$maxValueLeng === void 0 ? 250 : _options$maxValueLeng;\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 var exception = event.exception && event.exception.values && event.exception.values[0];\n\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n var request = event.request;\n\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n}\n\nvar debugIdStackParserCache = new WeakMap();\n/**\n * Puts debug IDs into the stack frames of an error event.\n */\n\nfunction applyDebugIds(event, stackParser) {\n var debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n\n if (!debugIdMap) {\n return;\n }\n\n var debugIdStackFramesCache;\n var cachedDebugIdStackFrameCache = debugIdStackParserCache.get(stackParser);\n\n if (cachedDebugIdStackFrameCache) {\n debugIdStackFramesCache = cachedDebugIdStackFrameCache;\n } else {\n debugIdStackFramesCache = new Map();\n debugIdStackParserCache.set(stackParser, debugIdStackFramesCache);\n } // Build a map of filename -> debug_id\n\n\n var filenameDebugIdMap = Object.keys(debugIdMap).reduce(function (acc, debugIdStackTrace) {\n var parsedStack;\n var cachedParsedStack = debugIdStackFramesCache.get(debugIdStackTrace);\n\n if (cachedParsedStack) {\n parsedStack = cachedParsedStack;\n } else {\n parsedStack = stackParser(debugIdStackTrace);\n debugIdStackFramesCache.set(debugIdStackTrace, parsedStack);\n }\n\n for (var i = parsedStack.length - 1; i >= 0; i--) {\n var stackFrame = parsedStack[i];\n\n if (stackFrame.filename) {\n acc[stackFrame.filename] = debugIdMap[debugIdStackTrace];\n break;\n }\n }\n\n return acc;\n }, {});\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values.forEach(function (exception) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace.frames.forEach(function (frame) {\n if (frame.filename) {\n frame.debug_id = filenameDebugIdMap[frame.filename];\n }\n });\n });\n } catch (e) {// 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 * Moves debug IDs from the stack frames of an error event into the debug_meta field.\n */\n\n\nfunction applyDebugMeta(event) {\n // Extract debug IDs and filenames from the stack frames on the event.\n var filenameDebugIdMap = {};\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values.forEach(function (exception) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace.frames.forEach(function (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\n delete frame.debug_id;\n }\n });\n });\n } catch (e) {// 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 } // Fill debug_meta information\n\n\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = event.debug_meta.images || [];\n var images = event.debug_meta.images;\n Object.keys(filenameDebugIdMap).forEach(function (filename) {\n images.push({\n type: 'sourcemap',\n code_file: filename,\n debug_id: filenameDebugIdMap[filename]\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 */\n\n\nfunction applyIntegrationsMetadata(event, integrationNames) {\n if (integrationNames.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [].concat(_toConsumableArray(event.sdk.integrations || []), _toConsumableArray(integrationNames));\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 */\n\n\nfunction normalizeEvent(event, depth, maxBreadth) {\n if (!event) {\n return null;\n }\n\n var normalized = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, event), event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) {\n return _objectSpread(_objectSpread({}, b), b.data && {\n data: normalize(b.data, depth, maxBreadth)\n });\n })\n }), event.user && {\n user: normalize(event.user, depth, maxBreadth)\n }), event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth)\n }), event.extra && {\n extra: normalize(event.extra, depth, maxBreadth)\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\n\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace; // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n } // event.spans[].data may contain circular/dangerous data so we need to normalize it\n\n\n if (event.spans) {\n normalized.spans = event.spans.map(function (span) {\n // We cannot use the spread operator here because `toJSON` on `span` is non-enumerable\n if (span.data) {\n span.data = normalize(span.data, depth, maxBreadth);\n }\n\n return span;\n });\n }\n\n return normalized;\n}\n\nexport { applyDebugIds, applyDebugMeta, prepareEvent };","var SDK_VERSION = '7.77.0';\nexport { SDK_VERSION };"],"names":["SENTRY_API_VERSION","getBaseApiEndpoint","dsn","protocol","concat","port","host","path","getEnvelopeEndpointWithUrlEncodedAuth","tunnelOrOptions","arguments","length","undefined","tunnel","sdkInfo","_metadata","sdk","projectId","_getIngestEndpoint","sentry_key","publicKey","sentry_version","sentry_client","name","version","_encodedAuth","getReportDialogEndpoint","dsnLike","dialogOptions","endpoint","encodedOptions","key","user","encodeURIComponent","email","createEventEnvelope","event","metadata","eventType","type","integrations","packages","enhanceEventWithSdkInfo","envelopeHeaders","sdkProcessingMetadata","eventItem","ALREADY_SEEN_ERROR","BaseClient","options","this","_options","_integrations","_integrationsInitialized","_numProcessing","_outcomes","_hooks","_eventProcessors","_dsn","__SENTRY_DEBUG__","logger","warn","url","_transport","transport","recordDroppedEvent","bind","transportOptions","value","exception","hint","scope","_this","eventId","event_id","_process","eventFromException","then","_captureEvent","result","log","message","level","_this2","promisedEvent","is","eventFromMessage","String","originalException","session","release","sendSession","init","timeout","_isClientDoneProcessing","clientFinished","flush","transportFlushed","_this3","getOptions","enabled","eventProcessor","push","forceInitialize","_isEnabled","integrationId","integration","id","_oO","_this4","emit","_step","env","_iterator","attachments","s","n","done","attachment","textEncoder","err","e","f","promise","_sendEnvelope","sendResponse","sent_at","Date","toISOString","envelopeItem","toJSON","createSessionEnvelope","reason","category","_event","sendClientReports","hook","callback","_len","rest","Array","_key","forEach","apply","crashed","errored","exceptions","values","_step2","_iterator2","mechanism","handled","sessionNonTerminal","status","errors","Number","captureSession","_this5","resolve","ticked","interval","setInterval","clearInterval","_this6","Object","keys","prepareEvent","evt","propagationContext","contexts","trace","trace_id","traceId","spanId","parentSpanId","dsc","span_id","parent_span_id","dynamicSamplingContext","_processEvent","finalEvent","sentryError","logLevel","_this7","sampleRate","isTransaction","isTransactionEvent","isError","isErrorEvent","beforeSendLabel","Math","random","dataCategory","_prepareEvent","prepared","data","__sentry__","beforeSend","beforeSendTransaction","processBeforeSend","beforeSendResult","invalidValueError","_validateBeforeSendResult","processedEvent","getSession","_updateSessionFromEvent","transactionInfo","transaction_info","transaction","source","sendEvent","captureException","_this8","envelope","send","error","outcomes","map","_key$split","split","_key$split2","quantity","DEFAULT_ENVIRONMENT","getGlobalEventProcessors","addGlobalEventProcessor","notifyEventProcessors","processors","index","reject","processor","final","captureContext","setContext","context","setUser","withScope","API_VERSION","Hub","client","_version","_stack","bindClient","getStackTop","setupIntegrations","clone","getScope","getStack","getClient","pop","pushScope","popScope","_lastEventId","syntheticException","Error","_withClient","captureMessage","captureEvent","breadcrumb","_this$getStackTop","_ref","_ref$beforeBreadcrumb","beforeBreadcrumb","_ref$maxBreadcrumbs","maxBreadcrumbs","timestamp","mergedBreadcrumb","finalBreadcrumb","addBreadcrumb","tags","setTags","extras","setExtras","setTag","extra","setExtra","_this$getStackTop2","oldHub","makeMain","getIntegration","customSamplingContext","_callExtensionMethod","console","endSession","_sendSessionUpdate","setSession","_this$getStackTop3","_ref2","_ref2$environment","environment","userAgent","navigator","getUser","currentSession","Boolean","sendDefaultPii","_this$getStackTop4","_this$getStackTop5","method","sentry","getMainCarrier","__SENTRY__","extensions","args","hub","registry","getHubFromCarrier","setHubOnCarrier","getCurrentHub","acs","getGlobalHub","hasHubOnCarrier","isOlderThan","carrier","installedIntegrations","getIntegrationsToSetup","defaultIntegrations","userIntegrations","isDefaultInstance","finalIntegrations","integrationsByName","currentInstance","existingInstance","k","filterDuplicates","isArray","debugIndex","arr","i","findIndex","_finalIntegrations$sp","splice","debugInstance","integrationIndex","setupIntegration","indexOf","setupOnce","on","preprocessEvent","addEventProcessor","processEvent","_callback","assign","originalFunctionToString","FunctionToString","Function","prototype","toString","__initStatic","DEFAULT_IGNORE_ERRORS","DEFAULT_IGNORE_TRANSACTIONS","InboundFilters","_addGlobaleventProcessor","_getCurrentHub","_eventHint","clientOptions","internalOptions","allowUrls","denyUrls","ignoreErrors","disableErrorDefaults","ignoreTransactions","disableTransactionDefaults","ignoreInternal","_mergeOptions","_isSentryError","lastException","possibleMessages","_getPossibleEventMessages","some","_isIgnoredError","_isIgnoredTransaction","_getEventFilterUrl","_isDeniedUrl","_isAllowedUrl","_shouldDropEvent","frames","stacktrace","frame","filename","_getLastValidUrl","oO","Scope","_notifyingListeners","_scopeListeners","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","_propagationContext","generatePropagationContext","_session","_notifyScopeListeners","_requestSession","requestSession","fingerprint","_fingerprint","_level","_transactionName","span","_span","getSpan","updatedScope","maxCrumbs","breadcrumbs","slice","additionalEventProcessors","getTraceContext","getDynamicSamplingContext","transactionName","_applyFingerprint","scopeBreadcrumbs","_getBreadcrumbs","newData","newScope","substring","initAndBind","clientClass","debug","enable","update","initialScope","makeSession","startingTime","sid","started","duration","ignoreDuration","did","abnormal_mechanism","attrs","ip_address","ipAddress","user_agent","sessionToJSON","updateSession","username","closeSession","getDynamicSamplingContextFromClient","public_key","getDsn","user_segment","segment","errorsInstrumented","errorCallback","activeTransaction","setStatus","tag","sampleTransaction","samplingContext","hasTracingEnabled","sampled","setMetadata","tracesSampler","parentSampled","tracesSampleRate","rate","JSON","stringify","isValidSampleRate","op","traceHeaders","toTraceparent","_startTransaction","transactionContext","configInstrumenter","instrumenter","transactionInstrumenter","initSpanRecorder","_experiments","maxSpans","startIdleTransaction","idleTimeout","finalTimeout","onScope","heartbeatInterval","addTracingExtensions","startTransaction","TRACING_DEFAULTS","IDLE_TRANSACTION_FINISH_REASONS","IdleTransactionSpanRecorder","_SpanRecorder","_super","_pushActivity","_popActivity","transactionSpanId","maxlen","call","finish","endTimestamp","IdleTransaction","_Transaction","_super2","_idleHub","_idleTimeout","_finalTimeout","_heartbeatInterval","_onScope","activities","_heartbeatCounter","_finished","_idleTimeoutCanceledPermanently","_beforeFinishCallbacks","_finishReason","configureScope","setSpan","_restartIdleTimeout","setTimeout","spanRecorder","spans","filter","spanStartedBeforeTransactionFinish","startTimestamp","timeoutWithMarginOfError","spanEndedBeforeFinalTimeout","stringifiedSpan","getTransaction","_pingHeartbeat","add","restartOnChildSpanChange","_idleTimeoutID","clearTimeout","cancelIdleTimeout","heartbeatString","join","_prevHeartbeatString","_beat","SpanRecorder","_maxlen","Span","spanContext","origin","description","get","set","setName","childSpan","opStr","nameStr","idStr","logMessage","spanMetadata","httpStatus","setData","spanStatus","spanStatusfromHttpCode","replace","start_timestamp","Transaction","_Span","_measurements","_hub","_name","_trimEnd","trimEnd","incomingDynamicSamplingContext","_frozenDynamicSamplingContext","newName","unit","newMetadata","_finishTransaction","maybeSampleRate","sample_rate","finishedSpans","reduce","prev","current","measurements","getActiveTransaction","maybeHub","DEFAULT_TRANSPORT_BUFFER_SIZE","createTransport","makeRequest","buffer","bufferSize","rateLimits","filteredEnvelopeItems","item","envelopeItemDataCategory","getEventForEnvelopeItem","filteredEnvelope","recordEnvelopeLoss","body","response","statusCode","__sentry__baseTransport__","drain","maybeOptions","__SENTRY_TRACING__","enableTracing","isSentryRequestUrl","includes","checkDsn","removeTrailingSlash","checkTunnel","str","_options$normalizeDep","normalizeDepth","_options$normalizeMax","normalizeMaxBreadth","dist","_options$maxValueLeng","maxValueLength","request","applyClientOptions","integrationNames","applyIntegrationsMetadata","stackParser","debugIdStackFramesCache","debugIdMap","_sentryDebugIds","cachedDebugIdStackFrameCache","debugIdStackParserCache","Map","filenameDebugIdMap","acc","debugIdStackTrace","parsedStack","cachedParsedStack","stackFrame","debug_id","applyDebugIds","finalScope","clientEventProcessors","getEventProcessors","getAttachments","applyToEvent","abs_path","debug_meta","images","code_file","applyDebugMeta","depth","maxBreadth","normalized","b","normalizeEvent","WeakMap","SDK_VERSION"],"sourceRoot":""}