{"version":3,"sources":["webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/@sentry/core/esm/session.js","webpack:///./node_modules/@sentry/utils/esm/time.js","webpack:///./node_modules/@sentry/core/esm/scope.js","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/@sentry/utils/esm/node.js","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@sentry/core/esm/constants.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./node_modules/@sentry/core/esm/hub.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack:///./node_modules/date-fns/esm/isDate/index.js","webpack:///./node_modules/date-fns/esm/toDate/index.js","webpack:///./node_modules/date-fns/esm/isValid/index.js","webpack:///./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack:///./node_modules/date-fns/esm/addMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/subMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/defaultOptions/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack:///./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack:///./node_modules/date-fns/esm/_lib/defaultLocale/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/index.js","webpack:///./node_modules/date-fns/esm/format/index.js","webpack:///./node_modules/axios/index.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/@sentry/utils/esm/browser.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./node_modules/@sentry/utils/esm/env.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/@sentry/utils/esm/worldwide.js","webpack:///./node_modules/@sentry/core/esm/exports.js"],"names":["module","exports","bind","toString","Object","prototype","isArray","val","call","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","forEach","obj","fn","i","l","length","key","hasOwnProperty","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","slice","arguments","extend","a","b","thisArg","trim","str","replace","stripBOM","content","charCodeAt","makeSession","context","startingTime","session","sid","init","timestamp","started","duration","status","errors","ignoreDuration","toJSON","Date","toISOString","did","undefined","attrs","release","environment","ip_address","ipAddress","user_agent","userAgent","sessionToJSON","updateSession","user","id","email","username","closeSession","WINDOW","dateTimestampSource","nowSeconds","now","platformPerformance","performance","_","getNodePerformance","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","_browserPerformanceTimeOriginMode","browserPerformanceTimeOrigin","threshold","performanceNow","dateNow","timeOriginDelta","Math","abs","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","Scope","this","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","static","scope","newScope","_level","_span","_session","_transactionName","_fingerprint","_requestSession","addScopeListener","callback","push","addEventProcessor","setUser","_notifyScopeListeners","getUser","getRequestSession","setRequestSession","requestSession","setTags","tags","setTag","value","setExtras","extras","setExtra","extra","setFingerprint","fingerprint","setLevel","level","setTransactionName","name","setContext","setSpan","span","getSpan","getTransaction","transaction","setSession","getSession","update","captureContext","updatedScope","keys","contexts","clear","addBreadcrumb","breadcrumb","maxBreadcrumbs","maxCrumbs","mergedBreadcrumb","getLastBreadcrumb","clearBreadcrumbs","addAttachment","attachment","getAttachments","clearAttachments","applyToEvent","event","hint","trace","getTraceContext","sdkProcessingMetadata","dynamicSamplingContext","getDynamicSamplingContext","transactionName","_applyFingerprint","breadcrumbs","_notifyEventProcessors","getGlobalEventProcessors","setSDKProcessingMetadata","newData","processors","index","resolve","reject","processor","__SENTRY_DEBUG__","log","then","final","concat","addGlobalEventProcessor","truncate","max","snipLine","line","colno","newLine","lineLength","start","end","min","safeJoin","input","delimiter","Array","output","String","e","join","stringMatchesSomePattern","testString","patterns","requireExactStringMatch","some","pattern","test","includes","isMatchingPattern","uuid4","gbl","crypto","msCrypto","randomUUID","getRandomByte","getRandomValues","Uint8Array","random","c","getFirstException","exception","values","getEventDescription","message","event_id","eventId","firstException","type","addExceptionTypeValue","addExceptionMechanism","newMechanism","currentMechanism","mechanism","handled","mergedData","data","checkOrSetAlreadyCaught","__sentry_captured__","err","arrayify","maybeArray","isNodeEnv","process","dynamicRequire","mod","request","require","loadModule","moduleName","cwd","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","chdir","dir","umask","g","Function","DEFAULT_ENVIRONMENT","CONSOLE_LEVELS","consoleSandbox","originalConsole","console","wrappedLevels","originalWrappedFunc","__sentry_original__","makeLogger","enabled","logger","enable","disable","DEFAULT_BREADCRUMBS","Hub","client","_version","_stack","bindClient","isOlderThan","getStackTop","setupIntegrations","pushScope","clone","getScope","getStack","getClient","popScope","pop","withScope","captureException","_lastEventId","syntheticException","_withClient","originalException","captureMessage","captureEvent","lastEventId","beforeBreadcrumb","getOptions","finalBreadcrumb","configureScope","oldHub","makeMain","getIntegration","integration","_oO","warn","startTransaction","customSamplingContext","_callExtensionMethod","traceHeaders","captureSession","endSession","_sendSessionUpdate","startSession","currentSession","shouldSendDefaultPii","options","Boolean","sendDefaultPii","method","sentry","getMainCarrier","__SENTRY__","extensions","hub","registry","getHubFromCarrier","setHubOnCarrier","getCurrentHub","acs","getGlobalHub","hasHubOnCarrier","carrier","States","resolvedSyncPromise","SyncPromise","rejectedSyncPromise","reason","__init","_state","PENDING","__init2","_handlers","executor","__init3","__init4","__init5","__init6","_resolve","_reject","onfulfilled","onrejected","_executeHandlers","catch","finally","onfinally","isRejected","_setResult","RESOLVED","REJECTED","state","_value","cachedHandlers","handler","requiredArgs","required","TypeError","_typeof","Symbol","iterator","toDate","argument","argStr","getTime","stack","NaN","isValid","dirtyDate","date","isNaN","Number","toInteger","dirtyNumber","number","ceil","floor","addMilliseconds","dirtyAmount","amount","subMilliseconds","MILLISECONDS_IN_DAY","startOfUTCISOWeek","weekStartsOn","day","getUTCDay","diff","setUTCDate","getUTCDate","setUTCHours","getUTCISOWeekYear","year","getUTCFullYear","fourthOfJanuaryOfNextYear","setUTCFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getDefaultOptions","startOfUTCWeek","_ref","_ref2","_ref3","_options$weekStartsOn","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","defaultOptions","locale","RangeError","getUTCWeekYear","_options$firstWeekCon","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","addLeadingZeros","targetLength","sign","y","token","signedYear","M","month","getUTCMonth","d","dayPeriodEnumValue","getUTCHours","toUpperCase","h","H","m","getUTCMinutes","s","getUTCSeconds","S","numberOfDigits","milliseconds","getUTCMilliseconds","pow","dayPeriodEnum","G","localize","era","width","ordinalNumber","unit","lightFormatters","Y","signedWeekYear","weekYear","R","u","Q","quarter","q","L","w","week","round","getUTCWeek","I","isoWeek","getUTCISOWeek","D","dayOfYear","setUTCMonth","startOfYearTimestamp","difference","getUTCDayOfYear","E","dayOfWeek","localDayOfWeek","isoDayOfWeek","dayPeriod","toLowerCase","hours","B","K","k","X","_localize","timezoneOffset","_originalDate","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","x","O","formatTimezoneShort","z","t","originalDate","T","offset","dirtyDelimiter","absOffset","minutes","dateLongFormatter","formatLong","timeLongFormatter","time","longFormatters","p","P","dateTimeFormat","matchResult","match","datePattern","timePattern","dateTime","getTimezoneOffsetInMilliseconds","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","indexOf","isProtectedWeekYearToken","throwProtectedError","format","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","count","tokenValue","addSuffix","comparison","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_date","_baseDate","_options","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findIndex","findKey","valueCallback","rest","object","predicate","parsePattern","parseInt","parseResult","any","defaultLocale","code","formatDistance","formatRelative","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","_ref4","_options$locale2","_options$locale2$opti","_ref5","_ref6","_ref7","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatStr","formatterOptions","map","substring","firstCharacter","longFormatter","cleanEscapedString","formatter","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","matched","originalModule","webpackPolyfill","create","children","defineProperty","enumerable","get","htmlTreeAsString","elem","currentElem","MAX_TRAVERSE_HEIGHT","out","height","separator","sepLength","nextStr","keyAttrs","maxStringLength","_htmlElementAsString","parentNode","reverse","el","className","classes","attr","tagName","keyAttrPairs","filter","keyAttr","getAttribute","keyAttrPair","split","allowedAttrs","getLocationHref","location","href","oO","getDomElement","selector","querySelector","utils","encode","encodeURIComponent","url","params","paramsSerializer","serializedParams","parts","v","JSON","stringify","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","transformRequest","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","requestData","requestHeaders","auth","password","unescape","Authorization","btoa","fullPath","baseURL","open","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","error","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","source","mergeDeepProperties","prop","axiosKeys","otherKeys","Cancel","objectToString","isError","wat","isInstanceOf","isBuiltin","isErrorEvent","isDOMError","isDOMException","isPrimitive","isEvent","Event","isElement","Element","isRegExp","isThenable","isSyntheticEvent","base","_e","isBrowserBundle","__SENTRY_BROWSER_BUNDLE__","getSDKSource","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","func","symbol","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","Axios","mergeConfig","createInstance","defaultConfig","instance","axios","instanceConfig","CancelToken","isCancel","all","promises","spread","default","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","shift","getUri","handlers","use","eject","transformData","throwIfCancellationRequested","throwIfRequested","fns","normalizedName","isAxiosError","description","fileName","lineNumber","columnNumber","write","expires","path","domain","secure","cookie","toGMTString","RegExp","decodeURIComponent","remove","isAbsoluteURL","combineURLs","requestedURL","fill","replacementFactory","original","wrapped","markFunctionWrapped","_Oo","addNonEnumerableProperty","writable","configurable","proto","getOriginalFunction","urlEncode","convertToPlainObject","getOwnProperties","newObj","serializeEventTarget","currentTarget","CustomEvent","detail","extractedProps","property","extractExceptionKeysForMessage","maxLength","sort","includedKeys","serialized","dropUndefinedKeys","inputValue","_dropUndefinedKeys","Map","memoizationMap","memoVal","returnValue","set","item","relativeURL","ignoreDuplicateOf","parsed","substr","originURL","msie","urlParsingNode","createElement","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","requestURL","resolvePromise","arr","isGlobalObj","GLOBAL_OBJ","globalThis","self","global","getGlobalObject","getGlobalSingleton","creator"],"mappings":"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","file":"js/vendors~qr_react_modu~0fe59305-bba2b4fd792f9161bf8f.chunk.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","import { timestampInSeconds, uuid4, dropUndefinedKeys } from '@sentry/utils';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","import { isNodeEnv, dynamicRequire } from './node.js';\nimport { getGlobalObject } from './worldwide.js';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\n/**\n * An object that can return the current timestamp in seconds since the UNIX epoch.\n */\n\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nconst dateTimestampSource = {\n nowSeconds: () => Date.now() / 1000,\n};\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance() {\n const { performance } = WINDOW;\n if (!performance || !performance.now) {\n return undefined;\n }\n\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n const timeOrigin = Date.now() - performance.now();\n\n return {\n now: () => performance.now(),\n timeOrigin,\n };\n}\n\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance() {\n try {\n const perfHooks = dynamicRequire(module, 'perf_hooks') ;\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n\n/**\n * The Performance API implementation for the current platform, if available.\n */\nconst platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\n\nconst timestampSource =\n platformPerformance === undefined\n ? dateTimestampSource\n : {\n nowSeconds: () => (platformPerformance.timeOrigin + platformPerformance.now()) / 1000,\n };\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nconst dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nconst timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n\n/**\n * Re-exported with an old name for backwards-compatibility.\n * TODO (v8): Remove this\n *\n * @deprecated Use `timestampInSeconds` instead.\n */\nconst timestampWithMs = timestampInSeconds;\n\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nconst usingPerformanceAPI = platformPerformance !== undefined;\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nlet _browserPerformanceTimeOriginMode;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nconst browserPerformanceTimeOrigin = (() => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = WINDOW;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n const navigationStart = performance.timing && performance.timing.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n\nexport { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds, timestampWithMs, usingPerformanceAPI };\n//# sourceMappingURL=time.js.map\n","import { isPlainObject, dateTimestampInSeconds, SyncPromise, logger, isThenable, arrayify, getGlobalSingleton } from '@sentry/utils';\nimport { updateSession } from './session.js';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nclass Scope {\n /** Flag if notifying is happening. */\n\n /** Callback for client to receive scope changes. */\n\n /** Callback list that will be called after {@link applyToEvent}. */\n\n /** Array of breadcrumbs. */\n\n /** User */\n\n /** Tags */\n\n /** Extra */\n\n /** Contexts */\n\n /** Attachments */\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n\n /** Fingerprint */\n\n /** Severity */\n // eslint-disable-next-line deprecation/deprecation\n\n /** Transaction Name */\n\n /** Span */\n\n /** Session */\n\n /** Request Mode Session Status */\n\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n }\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n static clone(scope) {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n newScope._attachments = [...scope._attachments];\n newScope._sdkProcessingMetadata = { ...scope._sdkProcessingMetadata };\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n this._user = user || {};\n if (this._session) {\n updateSession(this._session, { user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getUser() {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n getRequestSession() {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n setRequestSession(requestSession) {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setLevel(\n // eslint-disable-next-line deprecation/deprecation\n level,\n ) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setContext(key, context) {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setSpan(span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSpan() {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n getTransaction() {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n const span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSession() {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext )(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext ;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clear() {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n this._attachments = [];\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getLastBreadcrumb() {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getAttachments() {\n return this._attachments;\n }\n\n /**\n * @inheritDoc\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n\n /**\n * Applies data from the scope to the event and runs all event processors on it.\n *\n * @param event Event\n * @param hint Object containing additional information about the original exception, for use by the event processors.\n * @hidden\n */\n applyToEvent(event, hint = {}) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transaction = this._span.transaction;\n if (transaction) {\n event.sdkProcessingMetadata = {\n dynamicSamplingContext: transaction.getDynamicSamplingContext(),\n ...event.sdkProcessingMetadata,\n };\n const transactionName = transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = { ...event.sdkProcessingMetadata, ...this._sdkProcessingMetadata };\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n _notifyEventProcessors(\n processors,\n event,\n hint,\n index = 0,\n ) {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) ;\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n processor.id &&\n result === null &&\n logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n _applyFingerprint(event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nfunction addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n\nexport { Scope, addGlobalEventProcessor };\n//# sourceMappingURL=scope.js.map\n","import { isString, isRegExp } from './is.js';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nfunction truncate(str, max = 0) {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nfunction snipLine(line, colno) {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\nfunction isMatchingPattern(\n value,\n pattern,\n requireExactStringMatch = false,\n) {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n\n return false;\n}\n\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\nfunction stringMatchesSomePattern(\n testString,\n patterns = [],\n requireExactStringMatch = false,\n) {\n return patterns.some(pattern => isMatchingPattern(testString, pattern, requireExactStringMatch));\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, truncate };\n//# sourceMappingURL=string.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n\n const getRandomByte =\n crypto && crypto.getRandomValues ? () => crypto.getRandomValues(new Uint8Array(1))[0] : () => Math.random() * 16;\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { isBrowserBundle } from './env.js';\n\n/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n */\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nfunction isNodeEnv() {\n // explicitly check for browser bundles as those can be optimized statically\n // by terser/rollup.\n return (\n !isBrowserBundle() &&\n Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'\n );\n}\n\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\nfunction dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\nfunction loadModule(moduleName) {\n let mod;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {\n // no-empty\n }\n\n try {\n const { cwd } = dynamicRequire(module, 'process');\n mod = dynamicRequire(module, `${cwd()}/node_modules/${moduleName}`) ;\n } catch (e) {\n // no-empty\n }\n\n return mod;\n}\n\nexport { dynamicRequire, isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","const DEFAULT_ENVIRONMENT = 'production';\n\nexport { DEFAULT_ENVIRONMENT };\n//# sourceMappingURL=constants.js.map\n","import { getGlobalSingleton, GLOBAL_OBJ } from './worldwide.js';\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nconst CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert', 'trace'] ;\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nfunction consoleSandbox(callback) {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n const originalConsole = GLOBAL_OBJ.console ;\n const wrappedLevels = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n const originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] ).__sentry_original__;\n if (level in originalConsole && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] ;\n originalConsole[level] = originalWrappedFunc ;\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level ];\n });\n }\n}\n\nfunction makeLogger() {\n let enabled = false;\n const logger = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger ;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger;\nif ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { CONSOLE_LEVELS, consoleSandbox, logger };\n//# sourceMappingURL=logger.js.map\n","import { uuid4, dateTimestampInSeconds, consoleSandbox, logger, GLOBAL_OBJ, getGlobalSingleton } from '@sentry/utils';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { Scope } from './scope.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nconst API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * @inheritDoc\n */\nclass Hub {\n /** Is a {@link Layer}[] containing the client and scope */\n\n /** Contains the last event id of a captured event. */\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n constructor(client, scope = new Scope(), _version = API_VERSION) {this._version = _version;\n this._stack = [{ scope }];\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n isOlderThan(version) {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n bindClient(client) {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n pushScope() {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n popScope() {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n withScope(callback) {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n getClient() {\n return this.getStackTop().client ;\n }\n\n /** Returns the scope of the top stack. */\n getScope() {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n getStack() {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n getStackTop() {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n captureException(exception, hint) {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n const syntheticException = new Error('Sentry syntheticException');\n this._withClient((client, scope) => {\n client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(\n message,\n // eslint-disable-next-line deprecation/deprecation\n level,\n hint,\n ) {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n const syntheticException = new Error(message);\n this._withClient((client, scope) => {\n client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint) {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (!event.type) {\n this._lastEventId = eventId;\n }\n\n this._withClient((client, scope) => {\n client.captureEvent(event, { ...hint, event_id: eventId }, scope);\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n lastEventId() {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, hint) {\n const { scope, client } = this.getStackTop();\n\n if (!client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n this.getScope().setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n this.getScope().setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n this.getScope().setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n this.getScope().setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n this.getScope().setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setContext(name, context) {\n this.getScope().setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n configureScope(callback) {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n run(callback) {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n getIntegration(integration) {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n startTransaction(context, customSamplingContext) {\n const result = this._callExtensionMethod('startTransaction', context, customSamplingContext);\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && !result) {\n // eslint-disable-next-line no-console\n console.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n`);\n }\n\n return result;\n }\n\n /**\n * @inheritDoc\n */\n traceHeaders() {\n return this._callExtensionMethod('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n captureSession(endSession = false) {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n endSession() {\n const layer = this.getStackTop();\n const scope = layer.scope;\n const session = scope.getSession();\n if (session) {\n closeSession(session);\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n scope.setSession();\n }\n\n /**\n * @inheritDoc\n */\n startSession(context) {\n const { scope, client } = this.getStackTop();\n const { release, environment = DEFAULT_ENVIRONMENT } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n user: scope.getUser(),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n\n return session;\n }\n\n /**\n * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n * when Tracing is used.\n */\n shouldSendDefaultPii() {\n const client = this.getClient();\n const options = client && client.getOptions();\n return Boolean(options && options.sendDefaultPii);\n }\n\n /**\n * Sends the current Session on the scope\n */\n _sendSessionUpdate() {\n const { scope, client } = this.getStackTop();\n\n const session = scope.getSession();\n if (session && client && client.captureSession) {\n client.captureSession(session);\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n _withClient(callback) {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(client, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _callExtensionMethod(method, ...args) {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nfunction getMainCarrier() {\n GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return GLOBAL_OBJ;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nfunction makeMain(hub) {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nfunction getCurrentHub() {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n const hub = registry.__SENTRY__.acs.getCurrentHub();\n\n if (hub) {\n return hub;\n }\n }\n\n // Return hub that lives on a global object\n return getGlobalHub(registry);\n}\n\nfunction getGlobalHub(registry = getMainCarrier()) {\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * If the carrier does not contain a hub, a new hub is created with the global hub client and scope.\n */\nfunction ensureHubOnCarrier(carrier, parent = getGlobalHub()) {\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(carrier) || getHubFromCarrier(carrier).isOlderThan(API_VERSION)) {\n const globalHubTopStack = parent.getStackTop();\n setHubOnCarrier(carrier, new Hub(globalHubTopStack.client, Scope.clone(globalHubTopStack.scope)));\n }\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nfunction setAsyncContextStrategy(strategy) {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n registry.__SENTRY__ = registry.__SENTRY__ || {};\n registry.__SENTRY__.acs = strategy;\n}\n\n/**\n * Runs the supplied callback in its own async context. Async Context strategies are defined per SDK.\n *\n * @param callback The callback to run in its own async context\n * @param options Options to pass to the async context strategy\n * @returns The result of the callback\n */\nfunction runWithAsyncContext(callback, options = {}) {\n const registry = getMainCarrier();\n\n if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n return registry.__SENTRY__.acs.runWithAsyncContext(callback, options);\n }\n\n // if there was no strategy, fallback to just calling the callback\n return callback();\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nfunction getHubFromCarrier(carrier) {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nfunction setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n\nexport { API_VERSION, Hub, ensureHubOnCarrier, getCurrentHub, getHubFromCarrier, getMainCarrier, makeMain, runWithAsyncContext, setAsyncContextStrategy, setHubOnCarrier };\n//# sourceMappingURL=hub.js.map\n","import { isThenable } from './is.js';\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\n/** SyncPromise internal states */\nvar States; (function (States) {\n /** Pending */\n const PENDING = 0; States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n const RESOLVED = 1; States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n const REJECTED = 2; States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {}));\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n __init() {this._state = States.PENDING;}\n __init2() {this._handlers = [];}\n\n constructor(\n executor,\n ) {SyncPromise.prototype.__init.call(this);SyncPromise.prototype.__init2.call(this);SyncPromise.prototype.__init3.call(this);SyncPromise.prototype.__init4.call(this);SyncPromise.prototype.__init5.call(this);SyncPromise.prototype.__init6.call(this);\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n then(\n onfulfilled,\n onrejected,\n ) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result );\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n catch(\n onrejected,\n ) {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val );\n });\n });\n }\n\n /** JSDoc */\n __init3() {this._resolve = (value) => {\n this._setResult(States.RESOLVED, value);\n };}\n\n /** JSDoc */\n __init4() {this._reject = (reason) => {\n this._setResult(States.REJECTED, reason);\n };}\n\n /** JSDoc */\n __init5() {this._setResult = (state, value) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value ).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };}\n\n /** JSDoc */\n __init6() {this._executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](this._value );\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };}\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\n\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaa':\n return dayPeriodEnumValue;\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nexport default formatters;","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\n\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\n\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n\n return undefined;\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters[firstCharacter];\n\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","module.exports = require('./lib/axios');","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import { isString } from './is.js';\nimport { getGlobalObject } from './worldwide.js';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction htmlTreeAsString(\n elem,\n options = {},\n) {\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem ;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = (!Array.isArray(options) && options.maxStringLength) || DEFAULT_MAX_STRING_LENGTH;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds maxStringLength\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el, keyAttrs) {\n const elem = el\n\n;\n\n const out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n const allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nfunction getLocationHref() {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\n/**\n * Gets a DOM element by using document.querySelector.\n *\n * This wrapper will first check for the existance of the function before\n * actually calling it so that we don't have to take care of this check,\n * every time we want to access the DOM.\n *\n * Reason: DOM/querySelector is not available in all environments.\n *\n * We have to cast to any because utils can be consumed by a variety of environments,\n * and we don't want to break TS users. If you know what element will be selected by\n * `document.querySelector`, specify it as part of the generic call. For example,\n * `const element = getDomElement('selector');`\n *\n * @param selector the selector string passed on to document.querySelector\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getDomElement(selector) {\n if (WINDOW.document && WINDOW.document.querySelector) {\n return WINDOW.document.querySelector(selector) ;\n }\n return null;\n}\n\nexport { getDomElement, getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat, className) {\n return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isNaN(wat) {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isNaN, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable };\n//# sourceMappingURL=is.js.map\n","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These flags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\n/**\n * Get source of SDK.\n */\nfunction getSDKSource() {\n // @ts-ignore \"npm\" is injected by rollup during build process\n return \"npm\";\n}\n\nexport { getSDKSource, isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","import { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(value)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","/** Internal global with common properties and Sentry extensions */\n\n// The code below for 'isGlobalObj' and 'GLOBAL_OBJ' was copied from core-js before modification\n// https://github.com/zloirock/core-js/blob/1b944df55282cdc99c90db5f49eb0b6eda2cc0a3/packages/core-js/internals/global.js\n// core-js has the following licence:\n//\n// Copyright (c) 2014-2022 Denis Pushkarev\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n/** Returns 'obj' if it's the global object, otherwise returns undefined */\nfunction isGlobalObj(obj) {\n return obj && obj.Math == Math ? obj : undefined;\n}\n\n/** Get's the global object for the current JavaScript runtime */\nconst GLOBAL_OBJ =\n (typeof globalThis == 'object' && isGlobalObj(globalThis)) ||\n // eslint-disable-next-line no-restricted-globals\n (typeof window == 'object' && isGlobalObj(window)) ||\n (typeof self == 'object' && isGlobalObj(self)) ||\n (typeof global == 'object' && isGlobalObj(global)) ||\n (function () {\n return this;\n })() ||\n {};\n\n/**\n * @deprecated Use GLOBAL_OBJ instead or WINDOW from @sentry/browser. This will be removed in v8\n */\nfunction getGlobalObject() {\n return GLOBAL_OBJ ;\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(name, creator, obj) {\n const gbl = (obj || GLOBAL_OBJ) ;\n const __SENTRY__ = (gbl.__SENTRY__ = gbl.__SENTRY__ || {});\n const singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());\n return singleton;\n}\n\nexport { GLOBAL_OBJ, getGlobalObject, getGlobalSingleton };\n//# sourceMappingURL=worldwide.js.map\n","import { getCurrentHub } from './hub.js';\n\n// Note: All functions in this file are typed with a return value of `ReturnType`,\n// where HUB_FUNCTION is some method on the Hub class.\n//\n// This is done to make sure the top level SDK methods stay in sync with the hub methods.\n// Although every method here has an explicit return type, some of them (that map to void returns) do not\n// contain `return` keywords. This is done to save on bundle size, as `return` is not minifiable.\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @param captureContext Additional scope data to apply to exception event.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction captureException(exception, captureContext) {\n return getCurrentHub().captureException(exception, { captureContext });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nfunction captureMessage(\n message,\n // eslint-disable-next-line deprecation/deprecation\n captureContext,\n) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentHub().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nfunction captureEvent(event, hint) {\n return getCurrentHub().captureEvent(event, hint);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nfunction configureScope(callback) {\n getCurrentHub().configureScope(callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nfunction addBreadcrumb(breadcrumb) {\n getCurrentHub().addBreadcrumb(breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setContext(name, context) {\n getCurrentHub().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nfunction setExtras(extras) {\n getCurrentHub().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nfunction setExtra(key, extra) {\n getCurrentHub().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nfunction setTags(tags) {\n getCurrentHub().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nfunction setTag(key, value) {\n getCurrentHub().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nfunction setUser(user) {\n getCurrentHub().setUser(user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nfunction withScope(callback) {\n getCurrentHub().withScope(callback);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * NOTE: This function should only be used for *manual* instrumentation. Auto-instrumentation should call\n * `startTransaction` directly on the hub.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nfunction startTransaction(\n context,\n customSamplingContext,\n) {\n return getCurrentHub().startTransaction({ ...context }, customSamplingContext);\n}\n\nexport { addBreadcrumb, captureEvent, captureException, captureMessage, configureScope, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope };\n//# sourceMappingURL=exports.js.map\n"],"sourceRoot":""}