{"version":3,"sources":["../../../../src/helpers.ts","../../../../src/sdk.ts","../../../../src/stack-parsers.ts","../../../../src/eventbuilder.ts","../../node_modules/.pnpm/@jitsu+js@1.1.0-canary.212.20230220173912/node_modules/@jitsu/js/dist/jitsu.es.js","../../../../../src/transports/base.ts","../../../../../src/transports/utils.ts","../../../../src/version.ts","../../../../src/exports.ts","../../../../src/index.ts","../../../../../src/integrations/index.ts","../../../../src/backend.ts","../../../../src/client.ts","../../src/JitsuContext.tsx","../../src/JitsuProvider.tsx","../../src/useJitsu.ts","../../../../../src/transports/index.ts","../../../../../src/integrations/trycatch.ts","../../../../../src/integrations/breadcrumbs.ts","../../../../../src/integrations/globalhandlers.ts","../../../../../src/integrations/linkederrors.ts","../../../../../src/integrations/dedupe.ts","../../../../../src/integrations/useragent.ts","../../../../../src/transports/new-fetch.ts","../../../../../src/transports/fetch.ts","../../../../../src/transports/new-xhr.ts","../../../../../src/transports/xhr.ts","../../node_modules/.pnpm/@jitsu+sdk-js@3.1.3/node_modules/@jitsu/sdk-js/dist/npm/jitsu.es.js","../../../../src/flags.ts"],"names":["n$2","t","e","l","n","r","split","length","o$1","g$2","m$1","j$1","F$2","process","env","NODE_ENV","$$1","window","versions","node","Deno","core","name","navigator","userAgent","includes","M$1","charAt","slice","U$1","bind","H$1","J$2","Y$1","yn","Object","prototype","toString","call","R$1","V$1","W$1","q$1","I$2","Q$1","nn","isNaN","rn","on","un","getPrototypeOf","constructor","hn","Error","message","stackTraceLimit","On","TypeError","SyntaxError","$n","Element","HTMLDocument","Tn","nodeName","toUpperCase","_n","arguments","apply","concat","n$1","decodeURIComponent","replace","s","create","o","exec","a","i","substring","push","u","c","m","map","match","location","search","y$1","Math","random","self","global","a$2","f","i$2","u$1","b$2","c$1","e$1","setItem","removeItem","g$1","assign","hasOwnProperty","h$1","v","y","b$1","Symbol","observable","I$1","w","d","indexOf","splice","p","type","dispatch","subscribe","getState","replaceReducer","next","unsubscribe","E$1","P","reduce","S","N$1","A$1","_","k$1","j","x$1","T","z","registerPluginType","pluginReadyType","M","q","V","C$1","storage","bootstrap","params","user","persistedUser","initialUser","userId","anonymousId","traits","keys","an_uid","an_event","campaign","props","raw","setTimeout","identify","track","U","setItemEnd","key","value","reset","forEach","R","getItem","$","D","options","userIdChanged","old","new","B","L$1","J$1","Promise","queue","then","X","data","action","instance","state","allPlugins","allMatches","store","EVENTS","plugins","context","H","h","exact","pluginName","during","config","event","te","JSON","stringify","abort","reason","caller","payload","ie","methodName","loaded","offline","resolve","namespaced","method","re","join","from","K","Z","G$1","plugin","called","W","F$1","reject","originalAction","ee","Q","Y","ne","Array","isArray","ae","enablePlugin","initializeStart","disabled","fromEnable","meta","disablePlugin","rid","initializeEnd","filter","b","I","events","catch","all","failed","ready","E","test","actions","processIndex","requeue","requeueIndex","enabled","initialized","beforeNS","duringNS","afterNS","before","after","hasCallback","oe","ue","addMiddleware","removeMiddleware","findIndex","dynamicMiddlewares","ce","se","Boolean","initialize","le","fe","parse","de","last","history","pe","properties","me","ge","he","ve","ye","be","document","title","referrer","innerWidth","innerHeight","hash","getElementsByTagName","getAttribute","href","url","path","width","height","Ie","we","page","Ee","sessionId","app","version","debug","onLine","os","library","timezone","locale","Pe","online","Se","Ne","analytics","Ae","_e","Oe","ts","Date","getTime","ke","reducers","s$1","f$1","middlewares","NAMESPACE","pluginEnabled","methods","G","Set","pluginsArray","A","sort","O","L","J","an_aid","F","enable","disable","identifyStart","id","previousId","trackStart","pageStart","resetStart","je","xe","once","setItemStart","removeItemStart","setAnonymousId","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","trace","traceLimit","registerPlugins","i$1","a$1","r$1","d$1","cookie","encodeURIComponent","toUTCString","g","parseFloat","k","x","C","N","localStorage","sessionStorage","r$2","l$1","t$1","current","previous","_defineProperty","obj","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","target","source","getOwnPropertyDescriptors","defineProperties","analyticsLib","opts","undefined","defaultSettings","__awaiter$1","__awaiter","thisArg","_arguments","generator","adopt","fulfilled","step","rejected","result","done","satisfyFilter","subject","toLowerCase","trim","applyFilters","creds","hosts","find","hostFilter","_a","host","eventFilter","tagPlugin","handle","insertTags","code","tag","lang","isInBrowser","execJs","codeHolder","createElement","innerHTML","replaceMacro","body","insertAdjacentElement","scripts","querySelectorAll","script","scriptClone","hasAttribute","src","text","console","log","head","appendChild","removeChild","varName","randomId","iif","eval","error","internalDestinationPlugins","findScript","loadScript","attributes","found","status","addEventListener","err","async","setAttribute","entries","onload","onerror","parentElement","insertBefore","writeKey","fetch","echoEvents","parseQuery","qs","queryString","query","pairs","substr","pair","utmToKey","parseUtms","acc","safeCall","defaultVal","restoreTraits","val","getTopLevelDomain","cookieDomain","hostname","domain","parts","getCookie","pop","shift","removeCookie","setCookie","secure","defaultCookie2Key","__anon_id","__user_traits","__user_id","cookieStorage","key2cookie","strVal","cookieName","protocol","internal_id","user_id","windowRuntime","documentEncoding","characterSet","timezoneOffset","getTimezoneOffset","language","pageTitle","pageUrl","screen","density","floor","devicePixelRatio","emptyRuntime","deepMerge","adjustPayload","_b","runtime","parsedUrl","URL","customContext","pathname","referring_domain","enconding","withContext","timestamp","toISOString","sentAt","messageId","processDestinations","destinations","analyticsInstance","promises","destination","deviceOptions","credentials","warn","packageCdn","moduleVarName","pluginInstance","init","send","jitsuConfig","globalThis","authHeader","debugHeader","adjustedPayload","headers","res","ok","responseText","response","jitsuAnalyticsPlugin","pluginConfig","storageCache","cachingStorageWrapper","persistentStorage","args","getSeed","defaultSeed","now","performance","hashString","Number","MAX_SAFE_INTEGER","str","seed","h1","h2","ch","charCodeAt","imul","input","emptyAnalytics","createUnderlyingAnalyticsInstance","rt","originalPage","jitsuAnalytics","inBrowser","JitsuContext","createContext","JitsuProvider","msg","React","Provider","children","useJitsu","jitsuInstance","useContext","__assign","__rest","propertyIsEnumerable","__generator","label","sent","trys","ops","verb","iterator","op","__spreadArray","to","pack","ar","LogLevels","DEBUG","severity","INFO","WARN","ERROR","NONE","rootLogger","getLogger","createLogger","setRootLogLevel","logLevelName","logLevel","toLocaleUpperCase","setDebugVar","isWindowAvailable","win","__jitsuDebug","globalLogLevel","minLogLevel","level","logger","values","_i","msgArgs","msgFormatted","warnMsg","windowAvailable","requireWindow","serializeCookie","opt","enc","maxAge","expires","httpOnly","sameSite","getCookieDomain","cookieParsingCache","parseCookieString","cookieStr","cookies","idx","copyAttributes","attribute","nodeValue","insertAndExecute","element","html","index","parentNode","getCookies","useCache","RegExp","deleteCookie","generateId","generateRandom","UTM_TYPES","utm_source","utm_medium","utm_campaign","utm_term","utm_content","CLICK_IDS","gclid","fbclid","dclid","getDataFromParams","utm","click_id","reformatDate","strDate","end","repeat","endsWith","suffix","getHostWithProtocol","MemoryQueue","flush","LocalStorageQueue","get","set","VERSION_INFO","date","JITSU_VERSION","MAX_AGE_TEN_YEARS","beaconTransport","json","blob","Blob","sendBeacon","tryFormat","string","echoTransport","expireNonRootCookies","lastIndexOf","CookiePersistence","save","restore","parsed","delete","NoPersistence","defaultCompatMode","jitsuClient","client","JitsuClientImpl","browserEnv","getSourceIp","describeClient","referer","page_title","doc_path","doc_host","doc_search","screen_resolution","vp_size","max","documentElement","clientWidth","clientHeight","user_agent","user_language","doc_encoding","getAnonymousId","idCookie","newId","ensurePrefix","prefix","cutPostfix","postfixes","postfix","fetchApi","req","disableCookies","cookieOpts","ip","requestHost","proto","reqUrl","queryPos","httpApi","header","vals","setHeader","socket","remoteAddress","startsWith","emptyEnv","envs","nextjsApi","browser","express","empty","xmlHttpTransport","jsonPayload","additionalHeaders","handler","XMLHttpRequest","statusText","open","setRequestHeader","fetchTransport","e_1","resJson","contentType","e_2","_c","Accept","userProperties","permanentProperties","globalProps","propsPerEvent","trackingHost","idCookieName","randomizeUrl","apiKey","_3pCookies","cookiePolicy","ipPolicy","beaconApi","transport","customHeaders","maxSendAttempts","retryTimeout","flushing","attempt","doNotSendEvent","userIdPersistence","rawTrack","sendJson","makeEvent","event_type","payloadData","restoreId","getCtx","persistentProps","base","api_key","sourceIp","compatMode","eventn_ctx","_send3p","sourceType","eventType","src_payload","scheduleFlush","doSendJson","_this","urlPrefix","jsonString","postHandle","timeout","factor","pow","min","el","propsPersistance","extras","isWindow","extras_1","childElementCount","event_id","anonymous_id","ids","_getIds","utc_time","local_tz_offset","_d","force_use_fetch","custom_headers","tracking_host","ip_policy","cookie_policy","privacy_policy","use_beacon_api","log_level","initialOptions","compat_mode","cookie_domain","randomize_url","cookie_name","restored","capture_3rd_party_cookies","ga_hook","segment_hook","interceptSegmentCalls","disable_event_persistence","min_send_timeout","max_send_timeout","max_send_attempts","interceptAnalytics","interceptor","chain","integration","integrations","analyticsOriginal","addSourceMiddleware","persist","unset","propertyName"],"mappings":"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","file":"static/js/vendors~main~0df03729.34e8f012.chunk.js","sourcesContent":["import { captureException, getReportDialogEndpoint, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getGlobalObject,\n getOriginalFunction,\n logger,\n markFunctionWrapped,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nconst global = getGlobalObject();\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sentryWrapped: WrappedFunction = function (this: any): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options: ReportDialogOptions = {}): void {\n if (!global.document) {\n return;\n }\n\n if (!options.eventId) {\n IS_DEBUG_BUILD && logger.error('Missing eventId option in showReportDialog call');\n return;\n }\n\n if (!options.dsn) {\n IS_DEBUG_BUILD && logger.error('Missing dsn option in showReportDialog call');\n return;\n }\n\n const script = global.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(options.dsn, options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n const injectionPoint = global.document.head || global.document.body;\n\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n }\n}\n","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { Hub } from '@sentry/types';\nimport { addInstrumentationHandler, getGlobalObject, logger, resolvedSyncPromise } from '@sentry/utils';\n\nimport { BrowserOptions } from './backend';\nimport { BrowserClient } from './client';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { ReportDialogOptions, wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, Dedupe, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\n\nexport const defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new Dedupe(),\n new UserAgent(),\n];\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options: BrowserOptions = {}): void {\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n const window = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window.SENTRY_RELEASE && window.SENTRY_RELEASE.id) {\n options.release = window.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n if (options.sendClientReports === undefined) {\n options.sendClientReports = true;\n }\n\n initAndBind(BrowserClient, options);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options: ReportDialogOptions = {}): void {\n const hub = getCurrentHub();\n const scope = hub.getScope();\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n options.eventId = hub.lastEventId();\n }\n const client = hub.getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId(): string | undefined {\n return getCurrentHub().lastEventId();\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad(): void {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback: () => void): void {\n callback();\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport function flush(timeout?: number): PromiseLike {\n const client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n IS_DEBUG_BUILD && logger.warn('Cannot flush events. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport function close(timeout?: number): PromiseLike {\n const client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n IS_DEBUG_BUILD && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function wrap(fn: (...args: any) => any): any {\n return internalWrap(fn)();\n}\n\nfunction startSessionOnHub(hub: Hub): void {\n hub.startSession({ ignoreDuration: true });\n hub.captureSession();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking(): void {\n const window = getGlobalObject();\n const document = window.document;\n\n if (typeof document === 'undefined') {\n IS_DEBUG_BUILD && logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n const hub = getCurrentHub();\n\n // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n if (!hub.captureSession) {\n return;\n }\n\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n startSessionOnHub(hub);\n\n // We want to create a session for every navigation as well\n addInstrumentationHandler('history', ({ from, to }) => {\n // Don't create an additional session for the initial route or if the location did not change\n if (!(from === undefined || from === to)) {\n startSessionOnHub(getCurrentHub());\n }\n });\n}\n","import { StackFrame } from '@sentry/types';\nimport { StackLineParser, StackLineParserFn } from '@sentry/utils';\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = '?';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chromeRegex =\n /^\\s*at (?:(.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nconst chrome: StackLineParserFn = line => {\n const parts = chromeRegex.exec(line);\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackParser: StackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line);\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n","import { Event, EventHint, Exception, Severity, StackFrame } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n createStackParser,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/utils';\n\nimport {\n chromeStackParser,\n geckoStackParser,\n opera10StackParser,\n opera11StackParser,\n winjsStackParser,\n} from './stack-parsers';\n\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromError(ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(ex);\n\n const exception: Exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nexport function eventFromPlainObject(\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const event: Event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromError(ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nexport function parseStackFrames(ex: Error & { framesToPop?: number; stacktrace?: string }): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const popSize = getPopSize(ex);\n\n try {\n return createStackParser(\n opera10StackParser,\n opera11StackParser,\n chromeStackParser,\n winjsStackParser,\n geckoStackParser,\n )(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex: Error & { framesToPop?: number }): number {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n message: string,\n level: Severity = Severity.Info,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception as DOMError) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromString(input: string, syntheticException?: Error, attachStacktrace?: boolean): Event {\n const event: Event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n","function n$2(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u]);}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return $$1&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o>4;}return e}\n\nvar l=\"global\",o=j$1+\"global\"+j$1,n=typeof self===o$1&&self.self===self&&self||typeof global===o$1&&global.global===global&&global||void 0;function a$2(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i$2(t){delete n[o][t];}function u$1(t,e,r){var l;try{if(b$2(t)){var o=window[t];l=o[e].bind(o);}}catch(t){}return l||r}n[o]||(n[o]={});var c$1={};function b$2(t){if(typeof c$1[t]!==e)return c$1[t];try{var e$1=window[t];e$1.setItem(e,e),e$1.removeItem(e);}catch(e){return c$1[t]=!1}return c$1[t]=!0}\n\nfunction g$1(){return g$1=Object.assign||function(e){for(var t=1;t1;return !1===i$1&&(d?f(e,t):a$2(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}\n\nvar r=\"localStorage\",g=b$2.bind(null,\"localStorage\");u$1(\"localStorage\",\"getItem\",a$2);u$1(\"localStorage\",\"setItem\",f);u$1(\"localStorage\",\"removeItem\",i$2);\n\nvar a=\"sessionStorage\",i=b$2.bind(null,\"sessionStorage\");u$1(\"sessionStorage\",\"getItem\",a$2);u$1(\"sessionStorage\",\"setItem\",f);u$1(\"sessionStorage\",\"removeItem\",i$2);\n\nfunction I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return !0;if(\"false\"===o)return !1;if(on(o))return o;parseFloat(o)===o&&(o=parseFloat(o));}catch(t){}if(null!==o&&\"\"!==o)return o}var k=g(),O=i(),x=a$1();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!I$2(i))return i;var n=h(r)?I(r$1(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=a$2(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r$2,a$1,l$1){if(r$2&&!I$2(a$1)){var u={},g=A(l$1),m=JSON.stringify(a$1),S=!N(g);return d(g)&&(u[r]=F(r,a$1,I(localStorage.getItem(r$2))),localStorage.setItem(r$2,m),S)?u[r]:h(g)&&(u[t]=F(t,a$1,I(r$1(r$2))),c(r$2,m),S)?u[t]:E(g)&&(u[a]=F(a,a$1,I(sessionStorage.getItem(r$2))),sessionStorage.setItem(r$2,m),S)?u[a]:(u[l]=F(l,a$1,a$2(r$2)),f(r$2,a$1),S?u[l]:u)}}function b(t$1,e){if(t$1){var a$1=A(e),s=C(t$1,m$1),n={};return !I$2(s.localStorage)&&d(a$1)&&(localStorage.removeItem(t$1),n[r]=s.localStorage),!I$2(s.cookie)&&h(a$1)&&(u(t$1),n[t]=s.cookie),!I$2(s.sessionStorage)&&E(a$1)&&(sessionStorage.removeItem(t$1),n[a]=s.sessionStorage),!I$2(s.global)&&G(a$1,l)&&(i$2(t$1),n[l]=s.global),n}}function A(t){return t?q$1(t)?t:t.storage:g$2}function d(t){return k&&G(t,r)}function h(t$1){return x&&G(t$1,t)}function E(t){return O&&G(t,a)}function N(t){return t===m$1||\"all\"===t}function G(t,o){return t===g$2||t===o||N(t)}function F(t,o,e){return {location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: J\n };\n return ke(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nvar __awaiter$1 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nfunction satisfyFilter(filter, subject) {\n return filter === \"*\" || filter.toLowerCase().trim() === (subject || \"\").trim().toLowerCase();\n}\nfunction applyFilters(event, creds) {\n const { hosts = [\"*\"], events = [\"*\"] } = creds;\n return (!!hosts.find(hostFilter => { var _a; return satisfyFilter(hostFilter, (_a = event.context) === null || _a === void 0 ? void 0 : _a.host); }) &&\n !!events.find(eventFilter => satisfyFilter(eventFilter, event.type)));\n}\nconst tagPlugin = {\n id: \"tag\",\n handle(config, payload) {\n return __awaiter$1(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n insertTags(config.code, payload);\n });\n },\n};\nfunction insertTags(code, event, opts = {}) {\n let tag;\n try {\n tag = JSON.parse(code);\n }\n catch (e) {\n tag = { code, lang: \"javascript\" };\n }\n const debug = opts.debug || false;\n if (isInBrowser()) {\n if (tag.lang === \"javascript\") {\n execJs(tag.code, event);\n }\n else {\n const codeHolder = document.createElement(\"span\");\n codeHolder.innerHTML = replaceMacro(tag.code, event);\n document.body.insertAdjacentElement(\"beforeend\", codeHolder);\n const scripts = codeHolder.querySelectorAll(\"script\");\n scripts.forEach(script => {\n const scriptClone = document.createElement(\"script\");\n scriptClone.type = scriptClone.type || \"text/javascript\";\n if (script.hasAttribute(\"src\")) {\n scriptClone.src = script.src;\n }\n scriptClone.text = script.text;\n if (debug) {\n console.log(`[JITSU] Executing script${script.hasAttribute(\"src\") ? ` ${script.src}` : \"\"}`, scriptClone.text);\n }\n document.head.appendChild(scriptClone);\n document.head.removeChild(scriptClone);\n });\n }\n }\n else {\n if (debug) {\n console.log(`[JITSU] insertTags(): cannot insert tags in non-browser environment`);\n }\n }\n}\nfunction execJs(code, event) {\n const varName = `jitsu_event_${randomId()}`;\n window[varName] = event;\n const iif = `(function(){\n const event = ${varName};\n ${code}\n })()`;\n try {\n eval(iif);\n }\n catch (e) {\n console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);\n }\n finally {\n delete window[varName];\n }\n return iif;\n}\nfunction replaceMacro(code, event) {\n return code.replace(/{{\\s*event\\s*}}/g, JSON.stringify(event));\n}\nconst internalDestinationPlugins = {\n [tagPlugin.id]: tagPlugin,\n};\n\nfunction findScript(src) {\n const scripts = Array.prototype.slice.call(window.document.querySelectorAll(\"script\"));\n return scripts.find(s => s.src === src);\n}\nfunction loadScript(src, attributes) {\n const found = findScript(src);\n if (found !== undefined) {\n const status = found === null || found === void 0 ? void 0 : found.getAttribute(\"status\");\n if (status === \"loaded\") {\n return Promise.resolve(found);\n }\n if (status === \"loading\") {\n return new Promise((resolve, reject) => {\n found.addEventListener(\"load\", () => resolve(found));\n found.addEventListener(\"error\", err => reject(err));\n });\n }\n }\n return new Promise((resolve, reject) => {\n var _a;\n const script = window.document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = src;\n script.async = true;\n script.setAttribute(\"status\", \"loading\");\n for (const [k, v] of Object.entries(attributes !== null && attributes !== void 0 ? attributes : {})) {\n script.setAttribute(k, v);\n }\n script.onload = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"loaded\");\n resolve(script);\n };\n script.onerror = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"error\");\n reject(new Error(`Failed to load ${src}`));\n };\n const tag = window.document.getElementsByTagName(\"script\")[0];\n (_a = tag.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(script, tag);\n });\n}\n\n/* global analytics */\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst config = {\n /* Your segment writeKey */\n writeKey: null,\n /* Disable anonymous MTU */\n host: null,\n debug: false,\n fetch: null,\n echoEvents: false,\n};\nconst parseQuery = (qs) => {\n if (!qs) {\n return {};\n }\n let queryString = qs.length > 0 && qs.charAt(0) === \"?\" ? qs.substring(1) : qs;\n let query = {};\n let pairs = (queryString[0] === \"?\" ? queryString.substr(1) : queryString).split(\"&\");\n for (let i = 0; i < pairs.length; i++) {\n let pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\nfunction utmToKey(key) {\n const name = key.substring(\"utm_\".length);\n return name === \"campaign\" ? \"name\" : name;\n}\nfunction parseUtms(query) {\n return Object.entries(query)\n .filter(([key]) => key.indexOf(\"utm_\") === 0)\n .reduce((acc, [key, value]) => (Object.assign(Object.assign({}, acc), { [utmToKey(key)]: value })), {});\n}\nfunction safeCall(f, defaultVal) {\n try {\n return f();\n }\n catch (e) {\n return defaultVal;\n }\n}\nfunction restoreTraits(storage) {\n const val = storage.getItem(\"__user_traits\");\n if (typeof val === \"string\") {\n return safeCall(() => JSON.parse(val), {});\n }\n return val;\n}\nfunction getTopLevelDomain(opts = {}) {\n if (opts.cookieDomain) {\n return opts.cookieDomain;\n }\n const [domain] = window.location.hostname.split(\":\");\n const parts = domain.split(\".\");\n if (parts[parts.length - 1] === \"localhost\" || parts.length < 2) {\n return parts[parts.length - 1];\n }\n else {\n return parts[parts.length - 2] + \".\" + parts[parts.length - 1];\n }\n}\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n return parts.length === 2 ? parts.pop().split(\";\").shift() : undefined;\n}\nfunction removeCookie(name) {\n document.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\n}\nfunction setCookie(name, val, { domain, secure }) {\n document.cookie =\n name +\n \"=\" +\n val +\n \";domain=\" +\n domain +\n \";path=/\" +\n \";expires=\" +\n new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365 * 5).toUTCString() +\n \";SameSite=\" +\n (secure ? \"None\" : \"Lax\") +\n (secure ? \";secure\" : \"\");\n}\nconst defaultCookie2Key = {\n __anon_id: \"__eventn_id\",\n __user_traits: \"__eventn_id_usr\",\n __user_id: \"__eventn_uid\",\n};\nconst cookieStorage = (cookieDomain, key2cookie) => {\n return {\n setItem(key, val) {\n const strVal = typeof val === \"object\" && val !== null ? JSON.stringify(val) : val;\n const cookieName = key2cookie[key] || key;\n setCookie(cookieName, strVal, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n },\n getItem(key) {\n const cookieName = key2cookie[key] || key;\n const result = getCookie(cookieName);\n if (typeof result === \"undefined\" && key === \"__user_id\") {\n //backward compatibility with old jitsu cookie. get user id if from traits\n const traits = parse(getCookie(\"__eventn_id_usr\")) || {};\n return traits.internal_id || traits.user_id || traits.id || traits.userId;\n }\n return parse(result);\n },\n removeItem(key) {\n removeCookie(key2cookie[key] || key);\n },\n };\n};\nfunction windowRuntime(opts) {\n return {\n documentEncoding() {\n return window.document.characterSet;\n },\n timezoneOffset() {\n return new Date().getTimezoneOffset();\n },\n store() {\n return cookieStorage(opts.cookieDomain || getTopLevelDomain(), defaultCookie2Key);\n },\n language() {\n return window.navigator.language;\n },\n pageTitle() {\n return window.document.title;\n },\n pageUrl() {\n return window.location.href;\n },\n referrer() {\n return window.document.referrer;\n },\n screen() {\n return {\n width: window.screen.width,\n height: window.screen.height,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n density: Math.floor(window.devicePixelRatio),\n };\n },\n userAgent() {\n return window.navigator.userAgent;\n },\n };\n}\nconst emptyRuntime = (config) => ({\n documentEncoding() {\n return undefined;\n },\n timezoneOffset() {\n return undefined;\n },\n store() {\n const storage = {};\n return {\n setItem(key, val) {\n if (config.debug) {\n console.log(`[JITSU EMPTY RUNTIME] Set storage item ${key}=${JSON.stringify(val)}`);\n }\n storage[key] = val;\n },\n getItem(key) {\n const val = storage[key];\n if (config.debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${JSON.stringify(val)}`);\n }\n return val;\n },\n removeItem(key) {\n if (config.debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${storage[key]}`);\n }\n delete storage[key];\n },\n };\n },\n language() {\n return undefined;\n },\n pageTitle() {\n return undefined;\n },\n pageUrl() {\n return undefined;\n },\n referrer() {\n return undefined;\n },\n screen() {\n return undefined;\n },\n userAgent() {\n return undefined;\n },\n});\nfunction deepMerge(target, source) {\n if (typeof source !== \"object\" || source === null) {\n return source;\n }\n if (typeof target !== \"object\" || target === null) {\n return source;\n }\n return Object.entries(source).reduce((acc, [key, value]) => {\n acc[key] = deepMerge(target[key], value);\n return acc;\n }, target);\n}\nfunction isInBrowser() {\n return typeof document !== \"undefined\" && typeof window !== \"undefined\";\n}\nfunction adjustPayload(payload, config, storage) {\n var _a, _b;\n const runtime = config.runtime || (isInBrowser() ? windowRuntime(config) : emptyRuntime(config));\n const url = runtime.pageUrl();\n const parsedUrl = safeCall(() => new URL(url), undefined);\n const query = parsedUrl ? parseQuery(parsedUrl.search) : {};\n const properties = payload.properties || {};\n const customContext = ((_a = payload.properties) === null || _a === void 0 ? void 0 : _a.context) || {};\n (_b = payload.properties) === null || _b === void 0 ? true : delete _b.context;\n const referrer = runtime.referrer();\n const context = {\n library: {\n name: \"jitsu-js\",\n version: \"1.0.0\",\n },\n userAgent: runtime.userAgent(),\n locale: runtime.language(),\n screen: runtime.screen(),\n traits: payload.type != \"identify\" ? Object.assign({}, (restoreTraits(storage) || {})) : undefined,\n page: {\n path: properties.path || (parsedUrl && parsedUrl.pathname),\n referrer: referrer,\n referring_domain: safeCall(() => referrer && new URL(referrer).hostname),\n host: parsedUrl && parsedUrl.host,\n search: properties.search || (parsedUrl && parsedUrl.search),\n title: properties.title || runtime.pageTitle(),\n url: properties.url || url,\n enconding: properties.enconding || runtime.documentEncoding(),\n },\n campaign: parseUtms(query),\n };\n const withContext = Object.assign(Object.assign({}, payload), { timestamp: new Date().toISOString(), sentAt: new Date().toISOString(), messageId: randomId(properties.path || (parsedUrl && parsedUrl.pathname)), writeKey: config.writeKey, context: deepMerge(context, customContext) });\n delete withContext.meta;\n delete withContext.options;\n return withContext;\n}\nfunction processDestinations(destinations, method, event, debug, analyticsInstance) {\n return __awaiter(this, void 0, void 0, function* () {\n const promises = [];\n for (const destination of destinations) {\n if (destination.deviceOptions.type === \"internal-plugin\") {\n const plugin = internalDestinationPlugins[destination.deviceOptions.name];\n if (plugin) {\n try {\n promises.push(plugin.handle(destination.credentials, event));\n }\n catch (e) {\n console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n else {\n console.warn(`[JITSU] Unknown internal plugin '${destination.deviceOptions.name}' for destination '${destination.id}'`);\n }\n }\n else if (destination.deviceOptions.type === \"analytics-plugin\") {\n yield loadScript(destination.deviceOptions.packageCdn);\n const plugin = window[destination.deviceOptions.moduleVarName];\n if (!plugin) {\n console.warn(`[JITSU] Broken plugin '${destination.deviceOptions.packageCdn}' for destination '${destination.id}' - it doesn't export '${destination.deviceOptions.moduleVarName}' variable`);\n }\n else {\n let pluginInstance;\n try {\n pluginInstance = (typeof plugin === \"function\" ? plugin : plugin.init)(destination.credentials);\n }\n catch (e) {\n console.warn(`[JITSU] Error creating plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n try {\n if (debug) {\n console.log(`[JITSU] Plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}' initialized with config:`, pluginInstance.config);\n }\n pluginInstance.initialize({ config: pluginInstance.config, instance: analyticsInstance });\n }\n catch (e) {\n console.warn(`[JITSU] Error initializing plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}. Config: ${JSON.stringify(pluginInstance.config)}`, e);\n continue;\n }\n if (pluginInstance[method]) {\n try {\n pluginInstance[method]({ payload: event, config: pluginInstance.config, instance: analyticsInstance });\n }\n catch (e) {\n console.warn(`[JITSU] Error processing ${method}() with plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n }\n }\n }\n });\n}\nfunction send(method, payload, jitsuConfig, instance, store) {\n if (jitsuConfig.echoEvents) {\n console.log(`[JITSU] sending '${method}' event:`, payload);\n return;\n }\n const url = `${jitsuConfig.host}/api/s/${method}`;\n const fetch = jitsuConfig.fetch || globalThis.fetch;\n if (!fetch) {\n throw new Error(\"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\");\n }\n const authHeader = {};\n const debugHeader = jitsuConfig.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n // if (jitsuConfig.debug) {\n // console.log(`[JITSU] Sending event to ${url}: `, JSON.stringify(payload, null, 2));\n // }\n const adjustedPayload = adjustPayload(payload, jitsuConfig, store);\n return fetch(url, {\n method: \"POST\",\n headers: Object.assign(Object.assign({ \"Content-Type\": \"application/json\" }, authHeader), debugHeader),\n body: JSON.stringify(adjustedPayload),\n })\n .then(res => {\n if (jitsuConfig.debug) {\n console.log(`[JITSU] ${url} replied ${res.status}. Original payload: `, JSON.stringify(adjustedPayload, null, 2));\n }\n if (res.ok) {\n return res.text();\n }\n else {\n return Promise.reject(res.text());\n }\n })\n .then(responseText => {\n let response;\n try {\n response = JSON.parse(responseText);\n }\n catch (e) {\n return Promise.reject(`Can't parse JSON: ${responseText}: ${e === null || e === void 0 ? void 0 : e.message}`);\n }\n if (response.destinations) {\n if (jitsuConfig.debug) {\n console.log(`[JITSU] Processing device destianations: `, JSON.stringify(response.destinations, null, 2));\n }\n return processDestinations(response.destinations, method, adjustedPayload, !!jitsuConfig.debug, instance);\n }\n })\n .catch(err => {\n if (jitsuConfig.debug) {\n console.error(`Jitsu ${url} failed: `, err);\n }\n });\n}\nconst jitsuAnalyticsPlugin = (pluginConfig = {}) => {\n const storageCache = {};\n // AnalyticsInstance's storage is async somewhere inside. So if we make 'page' call right after 'identify' call\n // 'page' call will load traits from storage before 'identify' call had a change to save them.\n // to avoid that we use in-memory cache for storage\n const cachingStorageWrapper = (persistentStorage) => ({\n setItem(key, val) {\n storageCache[key] = val;\n persistentStorage.setItem(key, val);\n },\n getItem(key) {\n return storageCache[key] || persistentStorage.getItem(key);\n },\n removeItem(key) {\n delete storageCache[key];\n persistentStorage.removeItem(key);\n },\n });\n return {\n name: \"jitsu\",\n config: Object.assign(Object.assign({}, config), pluginConfig),\n initialize: args => {\n const { config } = args;\n if (config.debug) {\n console.debug(\"[JITSU] Initializing Jitsu plugin with config: \", JSON.stringify(config));\n }\n if (!config.host && !config.echoEvents) {\n throw new Error(\"Please specify host variable in jitsu plugin initialization, or set echoEvents to true\");\n }\n },\n page: args => {\n const { payload, config, instance } = args;\n return send(\"page\", payload, config, instance, cachingStorageWrapper(instance.storage));\n },\n track: args => {\n const { payload, config, instance } = args;\n return send(\"track\", payload, config, instance, cachingStorageWrapper(instance.storage));\n },\n identify: args => {\n const { payload, config, instance } = args;\n // Store traits in cache to be able to use them in page and track events that run asynchronously with current identify.\n storageCache[\"__user_traits\"] = payload.traits;\n return send(\"identify\", payload, config, instance, cachingStorageWrapper(instance.storage));\n },\n reset: args => {\n //clear storage cache\n Object.keys(storageCache).forEach(key => delete storageCache[key]);\n },\n };\n};\nfunction getSeed() {\n var _a;\n const defaultSeed = Date.now() % 2147483647;\n return isInBrowser() ? ((_a = window === null || window === void 0 ? void 0 : window.performance) === null || _a === void 0 ? void 0 : _a.now()) || defaultSeed : defaultSeed;\n}\nfunction randomId(hashString = \"\") {\n const d = Date.now();\n return (((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36) +\n ((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36));\n}\nfunction hash(str, seed = 0) {\n let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\n}\n\nfunction parse(input) {\n let value = input;\n if ((input === null || input === void 0 ? void 0 : input.indexOf(\"%7B%22\")) === 0) {\n value = decodeURIComponent(input);\n }\n try {\n value = JSON.parse(value);\n if (value === \"true\")\n return true;\n if (value === \"false\")\n return false;\n if (typeof value === \"object\")\n return value;\n if (parseFloat(value) === value) {\n value = parseFloat(value);\n }\n }\n catch (e) { }\n if (value === null || value === \"\") {\n return;\n }\n return value;\n}\nconst emptyAnalytics = {\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n};\nfunction createUnderlyingAnalyticsInstance(opts, rt, plugins = []) {\n const analytics = analyticsLib({\n app: \"test\",\n debug: !!opts.debug,\n storage: rt.store(),\n plugins: [jitsuAnalyticsPlugin(opts), ...plugins],\n });\n const originalPage = analytics.page;\n analytics.page = (...args) => {\n if (args.length === 2 && typeof args[0] === \"string\" && typeof args[1] === \"object\") {\n return originalPage(Object.assign({ name: args[0] }, args[1]));\n }\n else {\n return originalPage(...args);\n }\n };\n return analytics;\n}\nfunction jitsuAnalytics(opts) {\n const inBrowser = isInBrowser();\n const rt = opts.runtime || (inBrowser ? windowRuntime(opts) : emptyRuntime(opts));\n return createUnderlyingAnalyticsInstance(opts, rt);\n // if (inBrowser) {\n // const fetch = opts.fetch || globalThis.fetch;\n // if (!fetch) {\n // throw new Error(\n // \"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\"\n // );\n // }\n // const url = `${opts.host}/api/s/cfg`;\n // const authHeader = {};\n // const debugHeader = opts.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n // fetch(url)\n // .then(res => res.json())\n // .then(res => {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt, []));\n // })\n // .catch(e => {\n // console.warn(`[JITSU] error getting device-destinations from ${url}`, e);\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // });\n // } else {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // }\n}\n\nexport { emptyAnalytics, emptyRuntime, getTopLevelDomain, isInBrowser, jitsuAnalytics, parseQuery, randomId, windowRuntime };\n","import {\n APIDetails,\n eventToSentryRequest,\n getEnvelopeEndpointWithUrlEncodedAuth,\n getStoreEndpointWithUrlEncodedAuth,\n initAPIDetails,\n sessionToSentryRequest,\n} from '@sentry/core';\nimport {\n ClientReport,\n Event,\n Outcome,\n Response as SentryResponse,\n SentryRequest,\n SentryRequestType,\n Session,\n Transport,\n TransportOptions,\n} from '@sentry/types';\nimport {\n createClientReportEnvelope,\n disabledUntil,\n dsnToString,\n eventStatusFromHttpCode,\n getGlobalObject,\n isRateLimited,\n logger,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { sendReport } from './utils';\n\nfunction requestTypeToCategory(ty: SentryRequestType): string {\n const tyStr = ty as string;\n return tyStr === 'event' ? 'error' : tyStr;\n}\n\nconst global = getGlobalObject();\n\n/** Base Transport class implementation */\nexport abstract class BaseTransport implements Transport {\n /**\n * @deprecated\n */\n public url: string;\n\n /** Helper to get Sentry API endpoints. */\n protected readonly _api: APIDetails;\n\n /** A simple buffer holding all requests. */\n protected readonly _buffer: PromiseBuffer = makePromiseBuffer(30);\n\n /** Locks transport after receiving rate limits in a response */\n protected _rateLimits: RateLimits = {};\n\n protected _outcomes: { [key: string]: number } = {};\n\n public constructor(public options: TransportOptions) {\n this._api = initAPIDetails(options.dsn, options._metadata, options.tunnel);\n // eslint-disable-next-line deprecation/deprecation\n this.url = getStoreEndpointWithUrlEncodedAuth(this._api.dsn);\n\n if (this.options.sendClientReports && global.document) {\n global.document.addEventListener('visibilitychange', () => {\n if (global.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): PromiseLike {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this._buffer.drain(timeout);\n }\n\n /**\n * @inheritDoc\n */\n public recordLostEvent(reason: Outcome, category: SentryRequestType): void {\n if (!this.options.sendClientReports) {\n return;\n }\n // We want to track each category (event, transaction, session) 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 const key = `${requestTypeToCategory(category)}:${reason}`;\n IS_DEBUG_BUILD && logger.log(`Adding outcome: ${key}`);\n this._outcomes[key] = (this._outcomes[key] ?? 0) + 1;\n }\n\n /**\n * Send outcomes as an envelope\n */\n protected _flushOutcomes(): void {\n if (!this.options.sendClientReports) {\n return;\n }\n\n const outcomes = this._outcomes;\n this._outcomes = {};\n\n // Nothing to send\n if (!Object.keys(outcomes).length) {\n IS_DEBUG_BUILD && logger.log('No outcomes to flush');\n return;\n }\n\n IS_DEBUG_BUILD && logger.log(`Flushing outcomes:\\n${JSON.stringify(outcomes, null, 2)}`);\n\n const url = getEnvelopeEndpointWithUrlEncodedAuth(this._api.dsn, this._api.tunnel);\n\n const discardedEvents = Object.keys(outcomes).map(key => {\n const [category, reason] = key.split(':');\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n // TODO: Improve types on discarded_events to get rid of cast\n }) as ClientReport['discarded_events'];\n const envelope = createClientReportEnvelope(discardedEvents, this._api.tunnel && dsnToString(this._api.dsn));\n\n try {\n sendReport(url, serializeEnvelope(envelope));\n } catch (e) {\n IS_DEBUG_BUILD && logger.error(e);\n }\n }\n\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n protected _handleResponse({\n requestType,\n response,\n headers,\n resolve,\n reject,\n }: {\n requestType: SentryRequestType;\n response: Response | XMLHttpRequest;\n headers: Record;\n resolve: (value?: SentryResponse | PromiseLike | null | undefined) => void;\n reject: (reason?: unknown) => void;\n }): void {\n const status = eventStatusFromHttpCode(response.status);\n\n this._rateLimits = updateRateLimits(this._rateLimits, headers);\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(requestType)) {\n IS_DEBUG_BUILD &&\n // eslint-disable-next-line deprecation/deprecation\n logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`);\n }\n\n if (status === 'success') {\n resolve({ status });\n return;\n }\n\n reject(response);\n }\n\n /**\n * Gets the time that given category is disabled until for rate limiting\n *\n * @deprecated Please use `disabledUntil` from @sentry/utils\n */\n protected _disabledUntil(requestType: SentryRequestType): Date {\n const category = requestTypeToCategory(requestType);\n return new Date(disabledUntil(this._rateLimits, category));\n }\n\n /**\n * Checks if a category is rate limited\n *\n * @deprecated Please use `isRateLimited` from @sentry/utils\n */\n protected _isRateLimited(requestType: SentryRequestType): boolean {\n const category = requestTypeToCategory(requestType);\n return isRateLimited(this._rateLimits, category);\n }\n\n protected abstract _sendRequest(\n sentryRequest: SentryRequest,\n originalPayload: Event | Session,\n ): PromiseLike;\n}\n","import { forget, getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\nconst global = getGlobalObject();\nlet cachedFetchImpl: FetchImpl;\n\nexport type FetchImpl = typeof fetch;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function getNativeFetchImplementation(): FetchImpl {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n /* eslint-disable @typescript-eslint/unbound-method */\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return (cachedFetchImpl = global.fetch.bind(global));\n }\n\n const document = global.document;\n let fetchImpl = global.fetch;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(global));\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n\n/**\n * Sends sdk client report using sendBeacon or fetch as a fallback if available\n *\n * @param url report endpoint\n * @param body report payload\n */\nexport function sendReport(url: string, body: string): void {\n const isRealNavigator = Object.prototype.toString.call(global && global.navigator) === '[object Navigator]';\n const hasSendBeacon = isRealNavigator && typeof global.navigator.sendBeacon === 'function';\n\n if (hasSendBeacon) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n const sendBeacon = global.navigator.sendBeacon.bind(global.navigator);\n return sendBeacon(url, body);\n }\n\n if (supportsFetch()) {\n const fetch = getNativeFetchImplementation();\n return forget(\n fetch(url, {\n body,\n method: 'POST',\n credentials: 'omit',\n keepalive: true,\n }),\n );\n }\n}\n","// TODO: Remove in the next major release and rely only on @sentry/core SDK_VERSION and SdkInfo metadata\nexport const SDK_NAME = 'sentry.javascript.browser';\n","export {\n Breadcrumb,\n BreadcrumbHint,\n Request,\n SdkInfo,\n Event,\n EventHint,\n EventStatus,\n Exception,\n Response,\n Severity,\n StackFrame,\n Stacktrace,\n Thread,\n User,\n} from '@sentry/types';\n\nexport { SeverityLevel } from '@sentry/utils';\n\nexport {\n addGlobalEventProcessor,\n addBreadcrumb,\n captureException,\n captureEvent,\n captureMessage,\n configureScope,\n getHubFromCarrier,\n getCurrentHub,\n Hub,\n makeMain,\n Scope,\n Session,\n startTransaction,\n SDK_VERSION,\n setContext,\n setExtra,\n setExtras,\n setTag,\n setTags,\n setUser,\n withScope,\n} from '@sentry/core';\n\nexport { BrowserOptions } from './backend';\nexport { BrowserClient } from './client';\nexport { injectReportDialog, ReportDialogOptions } from './helpers';\nexport { eventFromException, eventFromMessage } from './eventbuilder';\nexport { defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap } from './sdk';\nexport { SDK_NAME } from './version';\n","export * from './exports';\n\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nimport * as BrowserIntegrations from './integrations';\nimport * as Transports from './transports';\n\nlet windowIntegrations = {};\n\n// This block is needed to add compatibility with the integrations packages when used with a CDN\nconst _window = getGlobalObject();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n\nconst INTEGRATIONS = {\n ...windowIntegrations,\n ...CoreIntegrations,\n ...BrowserIntegrations,\n};\n\nexport { INTEGRATIONS as Integrations, Transports };\n","export { GlobalHandlers } from './globalhandlers';\nexport { TryCatch } from './trycatch';\nexport { Breadcrumbs } from './breadcrumbs';\nexport { LinkedErrors } from './linkederrors';\nexport { UserAgent } from './useragent';\nexport { Dedupe } from './dedupe';\n","import { BaseBackend, getEnvelopeEndpointWithUrlEncodedAuth, initAPIDetails } from '@sentry/core';\nimport { Event, EventHint, Options, Severity, Transport, TransportOptions } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\n\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, makeNewFetchTransport, makeNewXHRTransport, XHRTransport } from './transports';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see BrowserClient for more information.\n */\nexport interface BrowserOptions extends Options {\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.denyUrls}.\n * By default, all errors will be sent.\n */\n allowUrls?: Array;\n\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To allow certain errors instead, use {@link Options.allowUrls}.\n * By default, all errors will be sent.\n */\n denyUrls?: Array;\n\n /** @deprecated use {@link Options.allowUrls} instead. */\n whitelistUrls?: Array;\n\n /** @deprecated use {@link Options.denyUrls} instead. */\n blacklistUrls?: Array;\n}\n\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nexport class BrowserBackend extends BaseBackend {\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(exception, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike {\n return eventFromMessage(message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n protected _setupTransport(): Transport {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return super._setupTransport();\n }\n\n const transportOptions: TransportOptions = {\n ...this._options.transportOptions,\n dsn: this._options.dsn,\n tunnel: this._options.tunnel,\n sendClientReports: this._options.sendClientReports,\n _metadata: this._options._metadata,\n };\n\n const api = initAPIDetails(transportOptions.dsn, transportOptions._metadata, transportOptions.tunnel);\n const url = getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel);\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n const requestOptions: RequestInit = { ...transportOptions.fetchParameters };\n this._newTransport = makeNewFetchTransport({ requestOptions, url });\n return new FetchTransport(transportOptions);\n }\n\n this._newTransport = makeNewXHRTransport({\n url,\n headers: transportOptions.headers,\n });\n return new XHRTransport(transportOptions);\n }\n}\n","import { BaseClient, Scope, SDK_VERSION } from '@sentry/core';\nimport { Event, EventHint } from '@sentry/types';\nimport { getGlobalObject, logger } from '@sentry/utils';\n\nimport { BrowserBackend, BrowserOptions } from './backend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { injectReportDialog, ReportDialogOptions } from './helpers';\nimport { Breadcrumbs } from './integrations';\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserOptions = {}) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(BrowserBackend, options);\n }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n const document = getGlobalObject().document;\n if (!document) {\n return;\n }\n\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n\n injectReportDialog({\n ...options,\n dsn: options.dsn || this.getDsn(),\n });\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, scope, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _sendEvent(event: Event): void {\n const integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n super._sendEvent(event);\n }\n}\n","import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nexport type JitsuInstance = { analytics: AnalyticsInterface };\n\nconst JitsuContext = createContext(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext, { JitsuInstance } from \"./JitsuContext\";\nimport { emptyAnalytics, jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC> = props => {\n let instance: JitsuInstance;\n if (props.options.disabled) {\n instance = { analytics: emptyAnalytics };\n } else if (!props.options.host) {\n const msg = \". Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n instance = { analytics: emptyAnalytics };\n } else {\n instance = { analytics: jitsuAnalytics(props.options) };\n }\n return {props.children};\n};\n\nexport default JitsuProvider;\n","import { useContext } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions, emptyAnalytics } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type ExtendedJitsuOptions =\n | (Omit & { host: string } & {\n disabled?: false | undefined;\n echoEvents?: boolean;\n })\n | { disabled: true };\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n let jitsuInstance = useContext(JitsuContext);\n if (opts?.disabled) {\n return { analytics: emptyAnalytics };\n }\n if (!jitsuInstance) {\n if (opts?.host || opts?.echoEvents) {\n return { analytics: jitsuAnalytics(opts) };\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into . Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n //Jitsu analytics is initialized inside provider\n } else if (jitsuInstance.analytics) {\n return { analytics: jitsuInstance.analytics };\n } else {\n throw new Error(` is not initialized with undefined analytics instance`);\n }\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n","export { BaseTransport } from './base';\nexport { FetchTransport } from './fetch';\nexport { XHRTransport } from './xhr';\n\nexport { makeNewFetchTransport } from './new-fetch';\nexport { makeNewXHRTransport } from './new-xhr';\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getGlobalObject, getOriginalFunction } from '@sentry/utils';\n\nimport { wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'TryCatch';\n\n /**\n * @inheritDoc\n */\n public name: string = TryCatch.id;\n\n /** JSDoc */\n private readonly _options: TryCatchOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n public setupOnce(): void {\n const global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n}\n\n/** JSDoc */\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const global = getGlobalObject() as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = global[target] && global[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: () => void): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, Integration, Severity } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n getEventDescription,\n getGlobalObject,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n severityFromString,\n} from '@sentry/utils';\n\n/** JSDoc */\ninterface BreadcrumbsOptions {\n console: boolean;\n dom: boolean | { serializeAttribute: string | string[] };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nexport class Breadcrumbs implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Breadcrumbs';\n\n /**\n * @inheritDoc\n */\n public name: string = Breadcrumbs.id;\n\n /** JSDoc */\n private readonly _options: BreadcrumbsOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n public addSentryBreadcrumb(event: Event): void {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n public setupOnce(): void {\n if (this._options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this._options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this._options.dom));\n }\n if (this._options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this._options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this._options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n}\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _domBreadcrumb(dom: BreadcrumbsOptions['dom']): (handlerData: { [key: string]: any }) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _innerDomBreadcrumb(handlerData: { [key: string]: any }): void {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target as Node, keyAttrs)\n : htmlTreeAsString(handlerData.event as unknown as Node, keyAttrs);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _consoleBreadcrumb(handlerData: { [key: string]: any }): void {\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _xhrBreadcrumb(handlerData: { [key: string]: any }): void {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _fetchBreadcrumb(handlerData: { [key: string]: any }): void {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _historyBreadcrumb(handlerData: { [key: string]: any }): void {\n const global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Hub, Integration, Primitive, Severity } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addInstrumentationHandler,\n getLocationHref,\n isErrorEvent,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/utils';\n\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\n/** JSDoc */\ntype GlobalHandlersIntegrations = Record;\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'GlobalHandlers';\n\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n private _installFunc: Record void) | undefined> = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n const options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n // eslint-disable-next-line guard-for-in\n for (const key in options) {\n const installFunc = this._installFunc[key as GlobalHandlersIntegrationsOptionKeys];\n if (installFunc && options[key as GlobalHandlersIntegrationsOptionKeys]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key as GlobalHandlersIntegrationsOptionKeys] = undefined;\n }\n }\n }\n}\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler(): void {\n addInstrumentationHandler(\n 'error',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data: { msg: any; url: any; line: any; column: any; error: any }) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n const event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler(): void {\n addInstrumentationHandler(\n 'unhandledrejection',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (e: any) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(error, undefined, attachStacktrace, true);\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _eventFromIncompleteOnError(msg: any, url: any, line: any, column: any): Event {\n const ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n const groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n const event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n IS_DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub: Hub, error: EventHint['originalException'], event: Event, type: string): void {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndAttachStacktrace(): [Hub, boolean | undefined] {\n const hub = getCurrentHub();\n const client = hub.getClient();\n const attachStacktrace = client && client.getOptions().attachStacktrace;\n return [hub, attachStacktrace];\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, ExtendedError, Integration } from '@sentry/types';\nimport { isInstanceOf } from '@sentry/utils';\n\nimport { exceptionFromError } from '../eventbuilder';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\ninterface LinkedErrorsOptions {\n key: string;\n limit: number;\n}\n\n/** Adds SDK info to an event. */\nexport class LinkedErrors implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'LinkedErrors';\n\n /**\n * @inheritDoc\n */\n public readonly name: string = LinkedErrors.id;\n\n /**\n * @inheritDoc\n */\n private readonly _key: LinkedErrorsOptions['key'];\n\n /**\n * @inheritDoc\n */\n private readonly _limit: LinkedErrorsOptions['limit'];\n\n /**\n * @inheritDoc\n */\n public constructor(options: Partial = {}) {\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event, hint?: EventHint) => {\n const self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(self._key, self._limit, event, hint) : event;\n });\n }\n}\n\n/**\n * @inheritDoc\n */\nexport function _handler(key: string, limit: number, event: Event, hint?: EventHint): Event | null {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n const linkedErrors = _walkErrorTree(limit, hint.originalException as ExtendedError, key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nexport function _walkErrorTree(limit: number, error: ExtendedError, key: string, stack: Exception[] = []): Exception[] {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n const exception = exceptionFromError(error[key]);\n return _walkErrorTree(limit, error[key], key, [exception, ...stack]);\n}\n","import { Event, EventProcessor, Exception, Hub, Integration, StackFrame } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n/** Deduplication filter */\nexport class Dedupe implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Dedupe';\n\n /**\n * @inheritDoc\n */\n public name: string = Dedupe.id;\n\n /**\n * @inheritDoc\n */\n private _previousEvent?: Event;\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((currentEvent: Event) => {\n const self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n IS_DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n });\n }\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n const frameA = previousFrames[i];\n const frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n } else if (event.stacktrace) {\n return event.stacktrace.frames;\n }\n return undefined;\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, Integration } from '@sentry/types';\nimport { getGlobalObject } from '@sentry/utils';\n\nconst global = getGlobalObject();\n\n/** UserAgent */\nexport class UserAgent implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'UserAgent';\n\n /**\n * @inheritDoc\n */\n public name: string = UserAgent.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (global.location && global.location.href);\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\n\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\nexport interface FetchTransportOptions extends BaseTransportOptions {\n requestOptions?: RequestInit;\n}\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeNewFetchTransport(\n options: FetchTransportOptions,\n nativeFetch: FetchImpl = getNativeFetchImplementation(),\n): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n ...options.requestOptions,\n };\n\n return nativeFetch(options.url, requestOptions).then(response => {\n return response.text().then(body => ({\n body,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n reason: response.statusText,\n statusCode: response.status,\n }));\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import { Event, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';\nimport { SentryError, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\n/** `fetch` based transport */\nexport class FetchTransport extends BaseTransport {\n /**\n * Fetch API reference which always points to native browser implementation.\n */\n private _fetch: typeof fetch;\n\n public constructor(options: TransportOptions, fetchImpl: FetchImpl = getNativeFetchImplementation()) {\n super(options);\n this._fetch = fetchImpl;\n }\n\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n const options: RequestInit = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : '') as ReferrerPolicy,\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n void this._fetch(sentryRequest.url, options)\n .then(response => {\n const headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n };\n this._handleResponse({\n requestType: sentryRequest.type,\n response,\n headers,\n resolve,\n reject,\n });\n })\n .catch(reject);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nconst XHR_READYSTATE_DONE = 4;\n\nexport interface XHRTransportOptions extends BaseTransportOptions {\n headers?: { [key: string]: string };\n}\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nexport function makeNewXHRTransport(options: XHRTransportOptions): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n return new SyncPromise((resolve, _reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = (): void => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n const response = {\n body: xhr.response,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n reason: xhr.statusText,\n statusCode: xhr.status,\n };\n resolve(response);\n }\n };\n\n xhr.open('POST', options.url);\n\n for (const header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import { Event, Response, SentryRequest, Session } from '@sentry/types';\nimport { SentryError, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\n/** `XHR` based transport */\nexport class XHRTransport extends BaseTransport {\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.onreadystatechange = (): void => {\n if (request.readyState === 4) {\n const headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After'),\n };\n this._handleResponse({ requestType: sentryRequest.type, response: request, headers, resolve, reject });\n }\n };\n\n request.open('POST', sentryRequest.url);\n for (const header in this.options.headers) {\n if (Object.prototype.hasOwnProperty.call(this.options.headers, header)) {\n request.setRequestHeader(header, this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nvar LogLevels = {\n DEBUG: { name: \"DEBUG\", severity: 10 },\n INFO: { name: \"INFO\", severity: 100 },\n WARN: { name: \"WARN\", severity: 1000 },\n ERROR: { name: \"ERROR\", severity: 10000 },\n NONE: { name: \"NONE\", severity: 10000 }\n};\nvar rootLogger = null;\n/**\n * Create logger or return cached instance\n */\nfunction getLogger() {\n if (rootLogger) {\n return rootLogger;\n }\n else {\n return rootLogger = createLogger();\n }\n}\nfunction setRootLogLevel(logLevelName) {\n var logLevel = LogLevels[logLevelName.toLocaleUpperCase()];\n if (!logLevel) {\n console.warn(\"Can't find log level with name \".concat(logLevelName.toLocaleUpperCase(), \", defaulting to INFO\"));\n logLevel = LogLevels.INFO;\n }\n rootLogger = createLogger(logLevel);\n return rootLogger;\n}\nfunction setDebugVar(name, val) {\n if (!isWindowAvailable()) {\n return;\n }\n var win = window;\n if (!win.__jitsuDebug) {\n win.__jitsuDebug = {};\n }\n win.__jitsuDebug[name] = val;\n}\n/**\n * Creates a loggger with given log-level\n * @param logLevel\n */\nfunction createLogger(logLevel) {\n var globalLogLevel = isWindowAvailable() && window['__eventNLogLevel'];\n var minLogLevel = LogLevels.WARN;\n if (globalLogLevel) {\n var level = LogLevels[globalLogLevel.toUpperCase()];\n if (level && level > 0) {\n minLogLevel = level;\n }\n }\n else if (logLevel) {\n minLogLevel = logLevel;\n }\n var logger = { minLogLevel: minLogLevel };\n Object.values(LogLevels).forEach(function (_a) {\n var name = _a.name, severity = _a.severity;\n logger[name.toLowerCase()] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (severity >= minLogLevel.severity && args.length > 0) {\n var message = args[0];\n var msgArgs = args.splice(1);\n var msgFormatted = \"[J-\".concat(name, \"] \").concat(message);\n if (name === 'DEBUG' || name === 'INFO') {\n console.log.apply(console, __spreadArray([msgFormatted], msgArgs, false));\n }\n else if (name === 'WARN') {\n console.warn.apply(console, __spreadArray([msgFormatted], msgArgs, false));\n }\n else {\n console.error.apply(console, __spreadArray([msgFormatted], msgArgs, false));\n }\n }\n };\n });\n setDebugVar(\"logger\", logger);\n return logger;\n}\n\n/**\n * Checks if global variable 'window' is available. If it's available,\n * code runs in browser environment\n */\n\nfunction isWindowAvailable(warnMsg = undefined) {\n let windowAvailable = !!globalThis.window;\n if (!windowAvailable && warnMsg) {\n getLogger().warn(warnMsg);\n }\n return windowAvailable;\n}\n\n\n/**\n * @param msg\n * @return {Window}\n */\nfunction requireWindow(msg = undefined) {\n if (!isWindowAvailable()) {\n throw new Error(msg || \"window' is not available. Seems like this code runs outside browser environment. It shouldn't happen\")\n }\n return window;\n}\n\nfunction serializeCookie(name, val, opt) {\n var _a;\n if (opt === void 0) { opt = {}; }\n var enc = encodeURIComponent;\n var value = enc(val);\n var str = name + \"=\" + value;\n str += \"; Path=\" + ((_a = opt.path) !== null && _a !== void 0 ? _a : \"/\");\n if (opt.maxAge) {\n str += \"; Max-Age=\" + Math.floor(opt.maxAge);\n }\n if (opt.domain) {\n str += \"; Domain=\" + opt.domain;\n }\n if (opt.expires) {\n str += \"; Expires=\" + opt.expires.toUTCString();\n }\n if (opt.httpOnly) {\n str += \"; HttpOnly\";\n }\n if (opt.secure) {\n str += \"; Secure\";\n }\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === \"string\"\n ? opt.sameSite.toLowerCase()\n : opt.sameSite;\n switch (sameSite) {\n case true:\n str += \"; SameSite=Strict\";\n break;\n case \"lax\":\n str += \"; SameSite=Lax\";\n break;\n case \"strict\":\n str += \"; SameSite=Strict\";\n break;\n case \"none\":\n str += \"; SameSite=None\";\n break;\n default:\n throw new TypeError(\"option sameSite is invalid\");\n }\n }\n return str;\n}\n\nvar getCookieDomain = function () {\n if (isWindowAvailable()) {\n return window.location.hostname.replace(\"www.\", \"\");\n }\n return undefined;\n};\nvar cookieParsingCache;\nfunction parseCookieString(cookieStr) {\n if (!cookieStr) {\n return {};\n }\n var res = {};\n var cookies = cookieStr.split(\";\");\n for (var i = 0; i < cookies.length; i++) {\n var cookie = cookies[i];\n var idx = cookie.indexOf(\"=\");\n if (idx > 0) {\n res[cookie.substr(i > 0 ? 1 : 0, i > 0 ? idx - 1 : idx)] = cookie.substr(idx + 1);\n }\n }\n return res;\n}\nfunction copyAttributes(source, target) {\n return Array.from(source.attributes).forEach(function (attribute) {\n target.setAttribute(attribute.nodeName, attribute.nodeValue);\n });\n}\nfunction insertAndExecute(element, html) {\n element.innerHTML = html;\n var scripts = element.getElementsByTagName(\"script\");\n var index;\n for (index = scripts.length - 1; index >= 0; index--) {\n var script = scripts[index];\n var tag = document.createElement(\"script\");\n copyAttributes(script, tag);\n if (script.innerHTML) {\n tag.innerHTML = script.innerHTML;\n }\n tag.setAttribute(\"data-jitsu-tag-id\", element.id);\n document.getElementsByTagName(\"head\")[0].appendChild(tag);\n scripts[index].parentNode.removeChild(scripts[index]);\n }\n}\nvar getCookies = function (useCache) {\n if (useCache === void 0) { useCache = false; }\n if (useCache && cookieParsingCache) {\n return cookieParsingCache;\n }\n var res = parseCookieString(document.cookie);\n cookieParsingCache = res;\n return res;\n};\nvar getCookie = function (name) {\n if (!name) {\n return null;\n }\n return (decodeURIComponent(requireWindow().document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" +\n encodeURIComponent(name).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") +\n \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null);\n};\nvar setCookie = function (name, value, opts) {\n if (opts === void 0) { opts = {}; }\n requireWindow().document.cookie = serializeCookie(name, value, opts);\n};\nvar deleteCookie = function (name, path) {\n if (path === void 0) { path = \"/\"; }\n document.cookie = name + \"= ; expires = Thu, 01 Jan 1970 00:00:00 GMT\" + (path ? (\"; path = \" + path) : \"\");\n};\nvar generateId = function () { return Math.random().toString(36).substring(2, 12); };\nvar generateRandom = function () { return Math.random().toString(36).substring(2, 7); };\nvar parseQuery = function (qs) {\n if (!qs) {\n return {};\n }\n var queryString = qs.length > 0 && qs.charAt(0) === \"?\" ? qs.substring(1) : qs;\n var query = {};\n var pairs = (queryString[0] === \"?\" ? queryString.substr(1) : queryString).split(\"&\");\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\nvar UTM_TYPES = {\n utm_source: \"source\",\n utm_medium: \"medium\",\n utm_campaign: \"campaign\",\n utm_term: \"term\",\n utm_content: \"content\",\n};\nvar CLICK_IDS = {\n gclid: true,\n fbclid: true,\n dclid: true,\n};\nvar getDataFromParams = function (params) {\n var result = {\n utm: {},\n click_id: {},\n };\n for (var name in params) {\n if (!params.hasOwnProperty(name)) {\n continue;\n }\n var val = params[name];\n var utm = UTM_TYPES[name];\n if (utm) {\n result.utm[utm] = val;\n }\n else if (CLICK_IDS[name]) {\n result.click_id[name] = val;\n }\n }\n return result;\n};\n//2020-08-24T13:42:16.439Z -> 2020-08-24T13:42:16.439123Z\nvar reformatDate = function (strDate) {\n var end = strDate.split(\".\")[1];\n if (!end) {\n return strDate;\n }\n if (end.length >= 7) {\n return strDate;\n }\n return strDate.slice(0, -1) + \"0\".repeat(7 - end.length) + \"Z\";\n};\nfunction endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\nvar getHostWithProtocol = function (host) {\n while (endsWith(host, \"/\")) {\n host = host.substr(0, host.length - 1);\n }\n if (host.indexOf(\"https://\") === 0 || host.indexOf(\"http://\") === 0) {\n return host;\n }\n else {\n return \"//\" + host;\n }\n};\n\nvar MemoryQueue = /** @class */ (function () {\n function MemoryQueue() {\n this.queue = [];\n }\n MemoryQueue.prototype.flush = function () {\n var queue = this.queue;\n this.queue = [];\n return queue;\n };\n MemoryQueue.prototype.push = function () {\n var _a;\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n (_a = this.queue).push.apply(_a, values);\n };\n return MemoryQueue;\n}());\nvar LocalStorageQueue = /** @class */ (function () {\n function LocalStorageQueue(key) {\n this.key = key;\n }\n LocalStorageQueue.prototype.flush = function () {\n var queue = this.get();\n if (queue.length) {\n this.set([]);\n }\n return queue;\n };\n LocalStorageQueue.prototype.push = function () {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var queue = this.get();\n queue.push.apply(queue, values);\n this.set(queue);\n };\n LocalStorageQueue.prototype.set = function (queue) {\n localStorage.setItem(this.key, JSON.stringify(queue));\n };\n LocalStorageQueue.prototype.get = function () {\n var data = localStorage.getItem(this.key);\n if (data !== null && data !== \"\") {\n return JSON.parse(data);\n }\n return [];\n };\n return LocalStorageQueue;\n}());\n\n//import { parse } from \"node-html-parser\";\nvar VERSION_INFO = {\n env: \"production\",\n date: \"2022-06-16T15:49:15.146Z\",\n version: \"3.1.3\",\n};\nvar JITSU_VERSION = \"\".concat(VERSION_INFO.version, \"/\").concat(VERSION_INFO.env, \"@\").concat(VERSION_INFO.date);\nvar MAX_AGE_TEN_YEARS = 31622400 * 10;\nvar beaconTransport = function (url, json) {\n getLogger().debug(\"Sending beacon\", json);\n var blob = new Blob([json], { type: \"text/plain\" });\n navigator.sendBeacon(url, blob);\n return Promise.resolve();\n};\nfunction tryFormat(string) {\n if (typeof string === \"string\") {\n try {\n return JSON.stringify(JSON.parse(string), null, 2);\n }\n catch (e) {\n return string;\n }\n }\n}\nvar echoTransport = function (url, json) {\n console.log(\"Jitsu client tried to send payload to \".concat(url), tryFormat(json));\n return Promise.resolve();\n};\n// This is a hack to expire all cookies with non-root path left behind by invalid tracking.\n// TODO remove soon\nfunction expireNonRootCookies(name, path) {\n if (path === void 0) { path = undefined; }\n path = path !== null && path !== void 0 ? path : window.location.pathname;\n if (path == \"\" || path == \"/\") {\n return;\n }\n deleteCookie(name, path);\n expireNonRootCookies(name, path.slice(0, path.lastIndexOf(\"/\")));\n}\nvar CookiePersistence = /** @class */ (function () {\n function CookiePersistence(cookieDomain, cookieName) {\n this.cookieDomain = cookieDomain;\n this.cookieName = cookieName;\n }\n CookiePersistence.prototype.save = function (props) {\n setCookie(this.cookieName, JSON.stringify(props), {\n domain: this.cookieDomain,\n secure: document.location.protocol !== \"http:\",\n maxAge: MAX_AGE_TEN_YEARS,\n });\n };\n CookiePersistence.prototype.restore = function () {\n expireNonRootCookies(this.cookieName);\n var str = getCookie(this.cookieName);\n if (str) {\n try {\n var parsed = JSON.parse(decodeURIComponent(str));\n if (typeof parsed !== \"object\") {\n getLogger().warn(\"Can't restore value of \".concat(this.cookieName, \"@\").concat(this.cookieDomain, \", expected to be object, but found \").concat(typeof parsed !== \"object\", \": \").concat(parsed, \". Ignoring\"));\n return undefined;\n }\n return parsed;\n }\n catch (e) {\n getLogger().error(\"Failed to decode JSON from \" + str, e);\n return undefined;\n }\n }\n return undefined;\n };\n CookiePersistence.prototype.delete = function () {\n deleteCookie(this.cookieName);\n };\n return CookiePersistence;\n}());\nvar NoPersistence = /** @class */ (function () {\n function NoPersistence() {\n }\n NoPersistence.prototype.save = function (props) { };\n NoPersistence.prototype.restore = function () {\n return undefined;\n };\n NoPersistence.prototype.delete = function () { };\n return NoPersistence;\n}());\nvar defaultCompatMode = false;\nfunction jitsuClient(opts) {\n var client = new JitsuClientImpl();\n client.init(opts);\n return client;\n}\nvar browserEnv = {\n getSourceIp: function () { return undefined; },\n describeClient: function () { return ({\n referer: document.referrer,\n url: window.location.href,\n page_title: document.title,\n doc_path: document.location.pathname,\n doc_host: document.location.hostname,\n doc_search: window.location.search,\n screen_resolution: screen.width + \"x\" + screen.height,\n vp_size: Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0) +\n \"x\" +\n Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0),\n user_agent: navigator.userAgent,\n user_language: navigator.language,\n doc_encoding: document.characterSet,\n }); },\n getAnonymousId: function (_a) {\n var name = _a.name, domain = _a.domain;\n expireNonRootCookies(name);\n var idCookie = getCookie(name);\n if (idCookie) {\n getLogger().debug(\"Existing user id\", idCookie);\n return idCookie;\n }\n var newId = generateId();\n getLogger().debug(\"New user id\", newId);\n setCookie(name, newId, {\n domain: domain,\n secure: document.location.protocol !== \"http:\",\n maxAge: MAX_AGE_TEN_YEARS,\n });\n return newId;\n },\n};\nfunction ensurePrefix(prefix, str) {\n if (!str) {\n return str;\n }\n return (str === null || str === void 0 ? void 0 : str.length) > 0 && str.indexOf(prefix) !== 0 ? prefix + str : str;\n}\nfunction cutPostfix(postfixes, str) {\n for (var _i = 0, _a = typeof postfixes === \"string\"\n ? [postfixes]\n : postfixes; _i < _a.length; _i++) {\n var postfix = _a[_i];\n while (str && str.length > 0 && str.charAt(str.length - 1) === postfix) {\n str = str.substring(0, str.length - 1);\n }\n }\n return str;\n}\nfunction fetchApi(req, res, opts) {\n if (opts === void 0) { opts = {}; }\n return {\n getAnonymousId: function (_a) {\n var name = _a.name, domain = _a.domain;\n if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {\n return \"\";\n }\n var cookie = parseCookieString(req.headers[\"cookie\"])[name];\n if (!cookie) {\n var cookieOpts = {\n maxAge: 31622400 * 10,\n httpOnly: false,\n };\n if (domain) {\n cookieOpts.domain = domain;\n }\n var newId = generateId();\n res.headers.set(\"Set-Cookie\", serializeCookie(name, newId, cookieOpts));\n return newId;\n }\n else {\n return cookie;\n }\n },\n getSourceIp: function () {\n var ip = req.headers[\"x-forwarded-for\"] || req.headers[\"x-real-ip\"] || req[\"ip\"];\n return ip && ip.split(\",\")[0].trim();\n },\n describeClient: function () {\n var requestHost = req.headers.get(\"host\") || req.headers.get(\"host\");\n var proto = cutPostfix([\":\", \"/\"], req.headers[\"x-forwarded-proto\"] || req[\"nextUrl\"][\"protocol\"] || \"http\");\n while (proto && proto.length > 0 && proto.charAt(proto.length - 1)) {\n proto = proto.substring(0, proto.length - 1);\n }\n var reqUrl = req.url || \"/\";\n var queryPos = reqUrl.indexOf(\"?\");\n var path, query;\n if (queryPos >= 0) {\n path = reqUrl.substring(0, queryPos);\n query = reqUrl.substring(queryPos + 1);\n }\n else {\n path = reqUrl;\n query = undefined;\n }\n query = ensurePrefix(query, \"?\");\n path = ensurePrefix(path, \"/\");\n return {\n doc_encoding: \"\",\n doc_host: requestHost,\n doc_path: reqUrl,\n doc_search: query,\n page_title: \"\",\n referer: req.headers[\"referrer\"],\n screen_resolution: \"\",\n url: \"\".concat(proto, \"://\").concat(requestHost).concat(path || \"\").concat(query || \"\"),\n user_agent: req.headers[\"user-agent\"],\n user_language: req.headers[\"accept-language\"] &&\n req.headers[\"accept-language\"].split(\",\")[0],\n vp_size: \"\",\n };\n },\n };\n}\nfunction httpApi(req, res, opts) {\n if (opts === void 0) { opts = {}; }\n var header = function (req, name) {\n var vals = req.headers[name.toLowerCase()];\n if (!vals) {\n return undefined;\n }\n if (typeof vals === \"string\") {\n return vals;\n }\n else if (vals.length > 0) {\n return vals.join(\",\");\n }\n };\n return {\n getAnonymousId: function (_a) {\n var name = _a.name, domain = _a.domain;\n if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {\n return \"\";\n }\n var cookie = parseCookieString(req.headers[\"cookie\"])[name];\n if (!cookie) {\n var cookieOpts = {\n maxAge: 31622400 * 10,\n httpOnly: false,\n };\n if (domain) {\n cookieOpts.domain = domain;\n }\n var newId = generateId();\n res.setHeader(\"Set-Cookie\", serializeCookie(name, newId, cookieOpts));\n return newId;\n }\n else {\n return cookie;\n }\n },\n getSourceIp: function () {\n var ip = header(req, \"x-forwarded-for\") ||\n header(req, \"x-real-ip\") ||\n req.socket.remoteAddress;\n return ip && ip.split(\",\")[0].trim();\n },\n describeClient: function () {\n var url = req.url\n ? new URL(req.url, req.url.startsWith(\"http\") ? undefined : \"http://localhost\")\n : {};\n var requestHost = header(req, \"x-forwarded-host\") || header(req, \"host\") || url.hostname;\n var proto = cutPostfix([\":\", \"/\"], header(req, \"x-forwarded-proto\") || url.protocol);\n var query = ensurePrefix(\"?\", url.search);\n var path = ensurePrefix(\"/\", url.pathname);\n return {\n doc_encoding: \"\",\n doc_host: requestHost,\n doc_path: req.url,\n doc_search: query,\n page_title: \"\",\n referer: header(req, \"referrer\"),\n screen_resolution: \"\",\n url: \"\".concat(proto, \"://\").concat(requestHost).concat(path || \"\").concat(query || \"\"),\n user_agent: req.headers[\"user-agent\"],\n user_language: req.headers[\"accept-language\"] &&\n req.headers[\"accept-language\"].split(\",\")[0],\n vp_size: \"\",\n };\n },\n };\n}\nvar emptyEnv = {\n getSourceIp: function () { return undefined; },\n describeClient: function () { return ({}); },\n getAnonymousId: function () { return \"\"; },\n};\n/**\n * Dictionary of supported environments\n */\nvar envs = {\n httpApi: httpApi,\n nextjsApi: httpApi,\n // fetchApi: fetchApi,\n // nextjsMiddleware: fetchApi,\n browser: function () { return browserEnv; },\n express: httpApi,\n empty: function () { return emptyEnv; },\n};\nvar xmlHttpTransport = function (url, jsonPayload, additionalHeaders, handler) {\n if (handler === void 0) { handler = function (code, body) { }; }\n var req = new window.XMLHttpRequest();\n return new Promise(function (resolve, reject) {\n req.onerror = function (e) {\n getLogger().error(\"Failed to send\", jsonPayload, e);\n handler(-1, {});\n reject(new Error(\"Failed to send JSON. See console logs\"));\n };\n req.onload = function () {\n if (req.status !== 200) {\n handler(req.status, {});\n getLogger().warn(\"Failed to send data to \".concat(url, \" (#\").concat(req.status, \" - \").concat(req.statusText, \")\"), jsonPayload);\n reject(new Error(\"Failed to send JSON. Error code: \".concat(req.status, \". See logs for details\")));\n }\n else {\n handler(req.status, req.responseText);\n }\n resolve();\n };\n req.open(\"POST\", url);\n req.setRequestHeader(\"Content-Type\", \"application/json\");\n Object.entries(additionalHeaders || {}).forEach(function (_a) {\n var key = _a[0], val = _a[1];\n return req.setRequestHeader(key, val);\n });\n req.send(jsonPayload);\n getLogger().debug(\"sending json\", jsonPayload);\n });\n};\nvar fetchTransport = function (fetch) {\n return function (url, jsonPayload, additionalHeaders, handler) {\n if (handler === void 0) { handler = function (code, body) { }; }\n return __awaiter(void 0, void 0, void 0, function () {\n var res, e_1, resJson, text, contentType, e_2;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n return [4 /*yield*/, fetch(url, {\n method: \"POST\",\n headers: __assign({ Accept: \"application/json\", \"Content-Type\": \"application/json\" }, (additionalHeaders || {})),\n body: jsonPayload,\n })];\n case 1:\n res = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n e_1 = _c.sent();\n getLogger().error(\"Failed to send\", jsonPayload, e_1);\n handler(-1, {});\n return [2 /*return*/];\n case 3:\n if (res.status !== 200) {\n getLogger().warn(\"Failed to send data to \".concat(url, \" (#\").concat(res.status, \" - \").concat(res.statusText, \")\"), jsonPayload);\n handler(res.status, {});\n return [2 /*return*/];\n }\n resJson = {};\n text = \"\";\n contentType = (_b = (_a = res.headers) === null || _a === void 0 ? void 0 : _a.get('Content-Type')) !== null && _b !== void 0 ? _b : \"\";\n _c.label = 4;\n case 4:\n _c.trys.push([4, 6, , 7]);\n return [4 /*yield*/, res.text()];\n case 5:\n text = _c.sent();\n resJson = JSON.parse(text);\n return [3 /*break*/, 7];\n case 6:\n e_2 = _c.sent();\n getLogger().error(\"Failed to parse \".concat(url, \" response. Content-type: \").concat(contentType, \" text: \").concat(text), e_2);\n return [3 /*break*/, 7];\n case 7:\n try {\n handler(res.status, resJson);\n }\n catch (e) {\n getLogger().error(\"Failed to handle \".concat(url, \" response. Content-type: \").concat(contentType, \" text: \").concat(text), e);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n};\nvar JitsuClientImpl = /** @class */ (function () {\n function JitsuClientImpl() {\n this.userProperties = {};\n this.permanentProperties = {\n globalProps: {},\n propsPerEvent: {},\n };\n this.cookieDomain = \"\";\n this.trackingHost = \"\";\n this.idCookieName = \"\";\n this.randomizeUrl = false;\n this.apiKey = \"\";\n this.initialized = false;\n this._3pCookies = {};\n this.cookiePolicy = \"keep\";\n this.ipPolicy = \"keep\";\n this.beaconApi = false;\n this.transport = xmlHttpTransport;\n this.customHeaders = function () { return ({}); };\n this.queue = new MemoryQueue();\n this.maxSendAttempts = 4;\n this.retryTimeout = [500, 1e12];\n this.flushing = false;\n this.attempt = 1;\n }\n JitsuClientImpl.prototype.id = function (props, doNotSendEvent) {\n this.userProperties = __assign(__assign({}, this.userProperties), props);\n getLogger().debug(\"Jitsu user identified\", props);\n if (this.userIdPersistence) {\n this.userIdPersistence.save(props);\n }\n else {\n getLogger().warn(\"Id() is called before initialization\");\n }\n if (!doNotSendEvent) {\n return this.track(\"user_identify\", {});\n }\n else {\n return Promise.resolve();\n }\n };\n JitsuClientImpl.prototype.rawTrack = function (payload) {\n return this.sendJson(payload);\n };\n JitsuClientImpl.prototype.makeEvent = function (event_type, src, payload) {\n var _a;\n var env = payload.env, payloadData = __rest(payload, [\"env\"]);\n if (!env) {\n env = isWindowAvailable() ? envs.browser() : envs.empty();\n }\n this.restoreId();\n var context = this.getCtx(env);\n var persistentProps = __assign(__assign({}, this.permanentProperties.globalProps), ((_a = this.permanentProperties.propsPerEvent[event_type]) !== null && _a !== void 0 ? _a : {}));\n var base = __assign({ api_key: this.apiKey, src: src, event_type: event_type }, payloadData);\n var sourceIp = env.getSourceIp();\n if (sourceIp) {\n base[\"source_ip\"] = sourceIp;\n }\n return this.compatMode\n ? __assign(__assign(__assign({}, persistentProps), { eventn_ctx: context }), base) : __assign(__assign(__assign({}, persistentProps), context), base);\n };\n JitsuClientImpl.prototype._send3p = function (sourceType, object, type) {\n var eventType = \"3rdparty\";\n if (type && type !== \"\") {\n eventType = type;\n }\n var e = this.makeEvent(eventType, sourceType, {\n src_payload: object,\n });\n return this.sendJson(e);\n };\n JitsuClientImpl.prototype.sendJson = function (json) {\n return __awaiter(this, void 0, Promise, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.maxSendAttempts > 1)) return [3 /*break*/, 1];\n this.queue.push([json, 0]);\n this.scheduleFlush(0);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, this.doSendJson(json)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n JitsuClientImpl.prototype.doSendJson = function (json) {\n var _this = this;\n var cookiePolicy = this.cookiePolicy !== \"keep\" ? \"&cookie_policy=\".concat(this.cookiePolicy) : \"\";\n var ipPolicy = this.ipPolicy !== \"keep\" ? \"&ip_policy=\".concat(this.ipPolicy) : \"\";\n var urlPrefix = isWindowAvailable() ? \"/api/v1/event\" : \"/api/v1/s2s/event\";\n var url = \"\".concat(this.trackingHost).concat(urlPrefix, \"?token=\").concat(this.apiKey).concat(cookiePolicy).concat(ipPolicy);\n if (this.randomizeUrl) {\n url = \"\".concat(this.trackingHost, \"/api.\").concat(generateRandom(), \"?p_\").concat(generateRandom(), \"=\").concat(this.apiKey).concat(cookiePolicy).concat(ipPolicy);\n }\n var jsonString = JSON.stringify(json);\n getLogger().debug(\"Sending payload to \".concat(url), jsonString);\n return this.transport(url, jsonString, this.customHeaders(), function (code, body) {\n return _this.postHandle(code, body);\n });\n };\n JitsuClientImpl.prototype.scheduleFlush = function (timeout) {\n var _this = this;\n if (this.flushing) {\n return;\n }\n this.flushing = true;\n if (typeof timeout === \"undefined\") {\n var random = Math.random() + 1;\n var factor = Math.pow(2, this.attempt++);\n timeout = Math.min(this.retryTimeout[0] * random * factor, this.retryTimeout[1]);\n }\n getLogger().debug(\"Scheduling event queue flush in \".concat(timeout, \" ms.\"));\n setTimeout(function () { return _this.flush(); }, timeout);\n };\n JitsuClientImpl.prototype.flush = function () {\n return __awaiter(this, void 0, Promise, function () {\n var queue;\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (isWindowAvailable() && !window.navigator.onLine) {\n this.flushing = false;\n this.scheduleFlush();\n }\n queue = this.queue.flush();\n this.flushing = false;\n if (queue.length === 0) {\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.doSendJson(queue.map(function (el) { return el[0]; }))];\n case 2:\n _b.sent();\n this.attempt = 1;\n getLogger().debug(\"Successfully flushed \".concat(queue.length, \" events from queue\"));\n return [3 /*break*/, 4];\n case 3:\n _b.sent();\n queue = queue.map(function (el) { return [el[0], el[1] + 1]; }).filter(function (el) {\n if (el[1] >= _this.maxSendAttempts) {\n getLogger().error(\"Dropping queued event after \".concat(el[1], \" attempts since max send attempts \").concat(_this.maxSendAttempts, \" reached. See logs for details\"));\n return false;\n }\n return true;\n });\n if (queue.length > 0) {\n (_a = this.queue).push.apply(_a, queue);\n this.scheduleFlush();\n }\n else {\n this.attempt = 1;\n }\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n JitsuClientImpl.prototype.postHandle = function (status, response) {\n if (this.cookiePolicy === \"strict\" || this.cookiePolicy === \"comply\") {\n if (status === 200) {\n var data = response;\n if (typeof response === \"string\") {\n data = JSON.parse(response);\n }\n if (!data[\"delete_cookie\"]) {\n return;\n }\n }\n this.userIdPersistence.delete();\n this.propsPersistance.delete();\n deleteCookie(this.idCookieName);\n }\n if (status === 200) {\n var data = response;\n if (typeof response === \"string\" && response.length > 0) {\n data = JSON.parse(response);\n var extras = data[\"jitsu_sdk_extras\"];\n if (extras && extras.length > 0) {\n var isWindow = isWindowAvailable();\n if (!isWindow) {\n getLogger().error(\"Tags destination supported only in browser environment\");\n }\n else {\n for (var _i = 0, extras_1 = extras; _i < extras_1.length; _i++) {\n var _a = extras_1[_i], type = _a.type, id = _a.id, value = _a.value;\n if (type === \"tag\") {\n var tag = document.createElement(\"div\");\n tag.id = id;\n insertAndExecute(tag, value);\n if (tag.childElementCount > 0) {\n document.body.appendChild(tag);\n }\n }\n }\n }\n }\n }\n }\n };\n JitsuClientImpl.prototype.getCtx = function (env) {\n var now = new Date();\n var props = env.describeClient() || {};\n return __assign(__assign({ event_id: \"\", user: __assign({ anonymous_id: this.cookiePolicy !== \"strict\"\n ? env.getAnonymousId({\n name: this.idCookieName,\n domain: this.cookieDomain,\n })\n : \"\" }, this.userProperties), ids: this._getIds(), utc_time: reformatDate(now.toISOString()), local_tz_offset: now.getTimezoneOffset() }, props), getDataFromParams(parseQuery(props.doc_search)));\n };\n JitsuClientImpl.prototype._getIds = function () {\n if (!isWindowAvailable()) {\n return {};\n }\n var cookies = getCookies(false);\n var res = {};\n for (var _i = 0, _a = Object.entries(cookies); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (this._3pCookies[key]) {\n res[key.charAt(0) == \"_\" ? key.substr(1) : key] = value;\n }\n }\n return res;\n };\n JitsuClientImpl.prototype.track = function (type, payload) {\n var data = payload || {};\n getLogger().debug(\"track event of type\", type, data);\n var e = this.makeEvent(type, this.compatMode ? \"eventn\" : \"jitsu\", payload || {});\n return this.sendJson(e);\n };\n JitsuClientImpl.prototype.init = function (options) {\n var _this = this;\n var _a, _b, _c, _d;\n if (isWindowAvailable() && !options.force_use_fetch) {\n if (options.fetch) {\n getLogger().warn(\"Custom fetch implementation is provided to Jitsu. However, it will be ignored since Jitsu runs in browser\");\n }\n this.transport = this.beaconApi ? beaconTransport : xmlHttpTransport;\n }\n else {\n if (!options.fetch && !globalThis.fetch) {\n throw new Error(\"Jitsu runs in Node environment. However, neither JitsuOptions.fetch is provided, nor global fetch function is defined. \\n\" +\n \"Please, provide custom fetch implementation. You can get it via node-fetch package\");\n }\n this.transport = fetchTransport(options.fetch || globalThis.fetch);\n }\n if (options.custom_headers &&\n typeof options.custom_headers === \"function\") {\n this.customHeaders = options.custom_headers;\n }\n else if (options.custom_headers) {\n this.customHeaders = function () {\n return options.custom_headers;\n };\n }\n if (options.tracking_host === \"echo\") {\n getLogger().warn('jitsuClient is configured with \"echo\" transport. Outgoing requests will be written to console');\n this.transport = echoTransport;\n }\n if (options.ip_policy) {\n this.ipPolicy = options.ip_policy;\n }\n if (options.cookie_policy) {\n this.cookiePolicy = options.cookie_policy;\n }\n if (options.privacy_policy === \"strict\") {\n this.ipPolicy = \"strict\";\n this.cookiePolicy = \"strict\";\n }\n if (options.use_beacon_api && navigator.sendBeacon) {\n this.beaconApi = true;\n }\n //can't handle delete cookie response when beacon api\n if (this.cookiePolicy === \"comply\" && this.beaconApi) {\n this.cookiePolicy = \"strict\";\n }\n if (options.log_level) {\n setRootLogLevel(options.log_level);\n }\n this.initialOptions = options;\n getLogger().debug(\"Initializing Jitsu Tracker tracker\", options, JITSU_VERSION);\n if (!options.key) {\n getLogger().error(\"Can't initialize Jitsu, key property is not set\");\n return;\n }\n this.compatMode =\n options.compat_mode === undefined\n ? defaultCompatMode\n : !!options.compat_mode;\n this.cookieDomain = options.cookie_domain || getCookieDomain();\n this.trackingHost = getHostWithProtocol(options[\"tracking_host\"] || \"t.jitsu.com\");\n this.randomizeUrl = options.randomize_url || false;\n this.idCookieName = options.cookie_name || \"__eventn_id\";\n this.apiKey = options.key;\n if (this.cookiePolicy === \"strict\") {\n this.propsPersistance = new NoPersistence();\n }\n else {\n this.propsPersistance = isWindowAvailable()\n ? new CookiePersistence(this.cookieDomain, this.idCookieName + \"_props\")\n : new NoPersistence();\n }\n if (this.cookiePolicy === \"strict\") {\n this.userIdPersistence = new NoPersistence();\n }\n else {\n this.userIdPersistence = isWindowAvailable()\n ? new CookiePersistence(this.cookieDomain, this.idCookieName + \"_usr\")\n : new NoPersistence();\n }\n if (this.propsPersistance) {\n var restored = this.propsPersistance.restore();\n if (restored) {\n this.permanentProperties = restored;\n this.permanentProperties.globalProps = (_a = restored.globalProps) !== null && _a !== void 0 ? _a : {};\n this.permanentProperties.propsPerEvent = (_b = restored.propsPerEvent) !== null && _b !== void 0 ? _b : {};\n }\n getLogger().debug(\"Restored persistent properties\", this.permanentProperties);\n }\n if (options.capture_3rd_party_cookies === false) {\n this._3pCookies = {};\n }\n else {\n (options.capture_3rd_party_cookies || [\n \"_ga\",\n \"_fbp\",\n \"_ym_uid\",\n \"ajs_user_id\",\n \"ajs_anonymous_id\",\n ]).forEach(function (name) { return (_this._3pCookies[name] = true); });\n }\n if (options.ga_hook) {\n getLogger().warn(\"GA event interceptor isn't supported anymore\");\n }\n if (options.segment_hook) {\n interceptSegmentCalls(this);\n }\n if (isWindowAvailable()) {\n if (!options.disable_event_persistence) {\n this.queue = new LocalStorageQueue(\"jitsu-event-queue\");\n this.scheduleFlush(0);\n }\n window.addEventListener(\"beforeunload\", function () { return _this.flush(); });\n }\n this.retryTimeout = [\n (_c = options.min_send_timeout) !== null && _c !== void 0 ? _c : this.retryTimeout[0],\n (_d = options.max_send_timeout) !== null && _d !== void 0 ? _d : this.retryTimeout[1],\n ];\n if (!!options.max_send_attempts) {\n this.maxSendAttempts = options.max_send_attempts;\n }\n this.initialized = true;\n };\n JitsuClientImpl.prototype.interceptAnalytics = function (analytics) {\n var _this = this;\n var interceptor = function (chain) {\n var _a;\n try {\n var payload = __assign({}, chain.payload);\n getLogger().debug(\"Intercepted segment payload\", payload.obj);\n var integration = chain.integrations[\"Segment.io\"];\n if (integration && integration.analytics) {\n var analyticsOriginal = integration.analytics;\n if (typeof analyticsOriginal.user === \"function\" &&\n analyticsOriginal.user() &&\n typeof analyticsOriginal.user().id === \"function\") {\n payload.obj.userId = analyticsOriginal.user().id();\n }\n }\n if ((_a = payload === null || payload === void 0 ? void 0 : payload.obj) === null || _a === void 0 ? void 0 : _a.timestamp) {\n payload.obj.sentAt = payload.obj.timestamp;\n }\n var type = chain.payload.type();\n if (type === \"track\") {\n type = chain.payload.event();\n }\n _this._send3p(\"ajs\", payload, type);\n }\n catch (e) {\n getLogger().warn(\"Failed to send an event\", e);\n }\n chain.next(chain.payload);\n };\n if (typeof analytics.addSourceMiddleware === \"function\") {\n //analytics is fully initialized\n getLogger().debug(\"Analytics.js is initialized, calling addSourceMiddleware\");\n analytics.addSourceMiddleware(interceptor);\n }\n else {\n getLogger().debug(\"Analytics.js is not initialized, pushing addSourceMiddleware to callstack\");\n analytics.push([\"addSourceMiddleware\", interceptor]);\n }\n analytics[\"__en_intercepted\"] = true;\n };\n JitsuClientImpl.prototype.restoreId = function () {\n if (this.userIdPersistence) {\n var props = this.userIdPersistence.restore();\n if (props) {\n this.userProperties = __assign(__assign({}, props), this.userProperties);\n }\n }\n };\n JitsuClientImpl.prototype.set = function (properties, opts) {\n var _a;\n var eventType = opts === null || opts === void 0 ? void 0 : opts.eventType;\n var persist = (opts === null || opts === void 0 ? void 0 : opts.persist) === undefined || (opts === null || opts === void 0 ? void 0 : opts.persist);\n if (eventType !== undefined) {\n var current = (_a = this.permanentProperties.propsPerEvent[eventType]) !== null && _a !== void 0 ? _a : {};\n this.permanentProperties.propsPerEvent[eventType] = __assign(__assign({}, current), properties);\n }\n else {\n this.permanentProperties.globalProps = __assign(__assign({}, this.permanentProperties.globalProps), properties);\n }\n if (this.propsPersistance && persist) {\n this.propsPersistance.save(this.permanentProperties);\n }\n };\n JitsuClientImpl.prototype.unset = function (propertyName, opts) {\n requireWindow();\n var eventType = opts === null || opts === void 0 ? void 0 : opts.eventType;\n var persist = (opts === null || opts === void 0 ? void 0 : opts.persist) === undefined || (opts === null || opts === void 0 ? void 0 : opts.persist);\n if (!eventType) {\n delete this.permanentProperties.globalProps[propertyName];\n }\n else if (this.permanentProperties.propsPerEvent[eventType]) {\n delete this.permanentProperties.propsPerEvent[eventType][propertyName];\n }\n if (this.propsPersistance && persist) {\n this.propsPersistance.save(this.permanentProperties);\n }\n };\n return JitsuClientImpl;\n}());\nfunction interceptSegmentCalls(t) {\n var win = window;\n if (!win.analytics) {\n win.analytics = [];\n }\n t.interceptAnalytics(win.analytics);\n}\n\nexport { envs, fetchApi, httpApi, jitsuClient };\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n"],"sourceRoot":""}