{"version":3,"file":"js/7995-1b50243547eff5003706.js","mappings":"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","sources":["webpack://endrun/./node_modules/underscore/modules/isFunction.js","webpack://endrun/./node_modules/underscore/modules/restArguments.js","webpack://endrun/./node_modules/underscore/modules/now.js","webpack://endrun/./node_modules/underscore/modules/delay.js","webpack://endrun/./node_modules/underscore/modules/_has.js","webpack://endrun/./node_modules/underscore/modules/_createAssigner.js","webpack://endrun/./node_modules/nanoid/index.browser.js","webpack://endrun/./node_modules/nanoid/url-alphabet/index.js","webpack://endrun/./node_modules/underscore/modules/_collectNonEnumProps.js","webpack://endrun/./node_modules/@honeybadger-io/js/dist/browser/honeybadger.js","webpack://endrun/./node_modules/focus-visible/dist/focus-visible.js","webpack://endrun/./node_modules/underscore/modules/isObject.js","webpack://endrun/./node_modules/@themarshallproject/scrolling/lib/scroll-service.js","webpack://endrun/./node_modules/@themarshallproject/scrolling/lib/scroll-scene.js","webpack://endrun/./node_modules/underscore/modules/allKeys.js","webpack://endrun/./node_modules/underscore/modules/throttle.js","webpack://endrun/./node_modules/underscore/modules/_setup.js","webpack://endrun/./node_modules/underscore/modules/_tagTester.js","webpack://endrun/./node_modules/underscore/modules/defaults.js","webpack://endrun/./node_modules/underscore/modules/debounce.js"],"sourcesContent":["import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","export const urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Honeybadger = factory());\n})(this, (function () { 'use strict';\n\n\tvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\tfunction getDefaultExportFromCjs (x) {\n\t\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n\t}\n\n\tfunction getAugmentedNamespace(n) {\n\t var f = n.default;\n\t\tif (typeof f == \"function\") {\n\t\t\tvar a = function () {\n\t\t\t\treturn f.apply(this, arguments);\n\t\t\t};\n\t\t\ta.prototype = f.prototype;\n\t } else a = {};\n\t Object.defineProperty(a, '__esModule', {value: true});\n\t\tObject.keys(n).forEach(function (k) {\n\t\t\tvar d = Object.getOwnPropertyDescriptor(n, k);\n\t\t\tObject.defineProperty(a, k, d.get ? d : {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: function () {\n\t\t\t\t\treturn n[k];\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn a;\n\t}\n\n\tvar browser$1 = {};\n\n\tvar src = {};\n\n\tvar events = {};\n\n\tvar util$1 = {};\n\n\tvar UNKNOWN_FUNCTION = '';\n\t/**\n\t * This parses the different stack traces and puts them into one format\n\t * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n\t */\n\n\tfunction parse(stackString) {\n\t var lines = stackString.split('\\n');\n\t return lines.reduce(function (stack, line) {\n\t var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n\t if (parseResult) {\n\t stack.push(parseResult);\n\t }\n\n\t return stack;\n\t }, []);\n\t}\n\tvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n\tvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\n\tfunction parseChrome(line) {\n\t var parts = chromeRe.exec(line);\n\n\t if (!parts) {\n\t return null;\n\t }\n\n\t var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n\t var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n\t var submatch = chromeEvalRe.exec(parts[2]);\n\n\t if (isEval && submatch != null) {\n\t // throw out eval line/column and use top-most line/column number\n\t parts[2] = submatch[1]; // url\n\n\t parts[3] = submatch[2]; // line\n\n\t parts[4] = submatch[3]; // column\n\t }\n\n\t return {\n\t file: !isNative ? parts[2] : null,\n\t methodName: parts[1] || UNKNOWN_FUNCTION,\n\t arguments: isNative ? [parts[2]] : [],\n\t lineNumber: parts[3] ? +parts[3] : null,\n\t column: parts[4] ? +parts[4] : null\n\t };\n\t}\n\n\tvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\n\tfunction parseWinjs(line) {\n\t var parts = winjsRe.exec(line);\n\n\t if (!parts) {\n\t return null;\n\t }\n\n\t return {\n\t file: parts[2],\n\t methodName: parts[1] || UNKNOWN_FUNCTION,\n\t arguments: [],\n\t lineNumber: +parts[3],\n\t column: parts[4] ? +parts[4] : null\n\t };\n\t}\n\n\tvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\n\tvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\n\tfunction parseGecko(line) {\n\t var parts = geckoRe.exec(line);\n\n\t if (!parts) {\n\t return null;\n\t }\n\n\t var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n\t var submatch = geckoEvalRe.exec(parts[3]);\n\n\t if (isEval && submatch != null) {\n\t // throw out eval line/column and use top-most line number\n\t parts[3] = submatch[1];\n\t parts[4] = submatch[2];\n\t parts[5] = null; // no column when eval\n\t }\n\n\t return {\n\t file: parts[3],\n\t methodName: parts[1] || UNKNOWN_FUNCTION,\n\t arguments: parts[2] ? parts[2].split(',') : [],\n\t lineNumber: parts[4] ? +parts[4] : null,\n\t column: parts[5] ? +parts[5] : null\n\t };\n\t}\n\n\tvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\n\tfunction parseJSC(line) {\n\t var parts = javaScriptCoreRe.exec(line);\n\n\t if (!parts) {\n\t return null;\n\t }\n\n\t return {\n\t file: parts[3],\n\t methodName: parts[1] || UNKNOWN_FUNCTION,\n\t arguments: [],\n\t lineNumber: +parts[4],\n\t column: parts[5] ? +parts[5] : null\n\t };\n\t}\n\n\tvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\n\tfunction parseNode(line) {\n\t var parts = nodeRe.exec(line);\n\n\t if (!parts) {\n\t return null;\n\t }\n\n\t return {\n\t file: parts[2],\n\t methodName: parts[1] || UNKNOWN_FUNCTION,\n\t arguments: [],\n\t lineNumber: +parts[3],\n\t column: parts[4] ? +parts[4] : null\n\t };\n\t}\n\n\tvar stackTraceParser_esm = /*#__PURE__*/Object.freeze({\n\t\t__proto__: null,\n\t\tparse: parse\n\t});\n\n\tvar require$$0$1 = /*@__PURE__*/getAugmentedNamespace(stackTraceParser_esm);\n\n\t(function (exports) {\n\t\tvar __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n\t\t if (k2 === undefined) k2 = k;\n\t\t var desc = Object.getOwnPropertyDescriptor(m, k);\n\t\t if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n\t\t desc = { enumerable: true, get: function() { return m[k]; } };\n\t\t }\n\t\t Object.defineProperty(o, k2, desc);\n\t\t}) : (function(o, m, k, k2) {\n\t\t if (k2 === undefined) k2 = k;\n\t\t o[k2] = m[k];\n\t\t}));\n\t\tvar __setModuleDefault = (commonjsGlobal && commonjsGlobal.__setModuleDefault) || (Object.create ? (function(o, v) {\n\t\t Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n\t\t}) : function(o, v) {\n\t\t o[\"default\"] = v;\n\t\t});\n\t\tvar __importStar = (commonjsGlobal && commonjsGlobal.__importStar) || function (mod) {\n\t\t if (mod && mod.__esModule) return mod;\n\t\t var result = {};\n\t\t if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n\t\t __setModuleDefault(result, mod);\n\t\t return result;\n\t\t};\n\t\tvar __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {\n\t\t function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n\t\t return new (P || (P = Promise))(function (resolve, reject) {\n\t\t function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n\t\t function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n\t\t function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n\t\t step((generator = generator.apply(thisArg, _arguments || [])).next());\n\t\t });\n\t\t};\n\t\tvar __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {\n\t\t var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n\t\t return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n\t\t function verb(n) { return function (v) { return step([n, v]); }; }\n\t\t function step(op) {\n\t\t if (f) throw new TypeError(\"Generator is already executing.\");\n\t\t while (_) try {\n\t\t if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n\t\t if (y = 0, t) op = [op[0] & 2, t.value];\n\t\t switch (op[0]) {\n\t\t case 0: case 1: t = op; break;\n\t\t case 4: _.label++; return { value: op[1], done: false };\n\t\t case 5: _.label++; y = op[1]; op = [0]; continue;\n\t\t case 7: op = _.ops.pop(); _.trys.pop(); continue;\n\t\t default:\n\t\t if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n\t\t if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n\t\t if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n\t\t if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n\t\t if (t[2]) _.ops.pop();\n\t\t _.trys.pop(); continue;\n\t\t }\n\t\t op = body.call(thisArg, _);\n\t\t } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n\t\t if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n\t\t }\n\t\t};\n\t\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t\texports.logDeprecatedMethod = exports.globalThisOrWindow = exports.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrumentConsole = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.calculateBacktraceShift = exports.DEFAULT_BACKTRACE_SHIFT = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;\n\t\t/* eslint-disable prefer-rest-params */\n\t\tvar stackTraceParser = __importStar(require$$0$1);\n\t\tfunction merge(obj1, obj2) {\n\t\t var result = {};\n\t\t for (var k in obj1) {\n\t\t result[k] = obj1[k];\n\t\t }\n\t\t for (var k in obj2) {\n\t\t result[k] = obj2[k];\n\t\t }\n\t\t return result;\n\t\t}\n\t\texports.merge = merge;\n\t\tfunction mergeNotice(notice1, notice2) {\n\t\t var result = merge(notice1, notice2);\n\t\t if (notice1.context && notice2.context) {\n\t\t result.context = merge(notice1.context, notice2.context);\n\t\t }\n\t\t return result;\n\t\t}\n\t\texports.mergeNotice = mergeNotice;\n\t\tfunction objectIsEmpty(obj) {\n\t\t for (var k in obj) {\n\t\t if (Object.prototype.hasOwnProperty.call(obj, k)) {\n\t\t return false;\n\t\t }\n\t\t }\n\t\t return true;\n\t\t}\n\t\texports.objectIsEmpty = objectIsEmpty;\n\t\tfunction objectIsExtensible(obj) {\n\t\t if (typeof Object.isExtensible !== 'function') {\n\t\t return true;\n\t\t }\n\t\t return Object.isExtensible(obj);\n\t\t}\n\t\texports.objectIsExtensible = objectIsExtensible;\n\t\tfunction makeBacktrace(stack, filterHbSourceCode, logger) {\n\t\t if (filterHbSourceCode === void 0) { filterHbSourceCode = false; }\n\t\t if (logger === void 0) { logger = console; }\n\t\t if (!stack) {\n\t\t return [];\n\t\t }\n\t\t try {\n\t\t var backtrace = stackTraceParser\n\t\t .parse(stack)\n\t\t .map(function (line) {\n\t\t return {\n\t\t file: line.file,\n\t\t method: line.methodName,\n\t\t number: line.lineNumber,\n\t\t column: line.column\n\t\t };\n\t\t });\n\t\t if (filterHbSourceCode) {\n\t\t backtrace.splice(0, calculateBacktraceShift(backtrace));\n\t\t }\n\t\t return backtrace;\n\t\t }\n\t\t catch (err) {\n\t\t logger.debug(err);\n\t\t return [];\n\t\t }\n\t\t}\n\t\texports.makeBacktrace = makeBacktrace;\n\t\tfunction isFrameFromHbSourceCode(frame) {\n\t\t var hasHbFile = false;\n\t\t var hasHbMethod = false;\n\t\t if (frame.file) {\n\t\t hasHbFile = frame.file.toLowerCase().indexOf('@honeybadger-io') > -1;\n\t\t }\n\t\t if (frame.method) {\n\t\t hasHbMethod = frame.method.toLowerCase().indexOf('@honeybadger-io') > -1;\n\t\t }\n\t\t return hasHbFile || hasHbMethod;\n\t\t}\n\t\texports.DEFAULT_BACKTRACE_SHIFT = 3;\n\t\t/**\n\t\t * If {@link generateStackTrace} is used, we want to exclude frames that come from\n\t\t * Honeybadger's source code.\n\t\t *\n\t\t * Logic:\n\t\t * - For each frame, increment the shift if source code is from Honeybadger\n\t\t * - If a frame from an file is encountered increment the shift ONLY if between Honeybadger source code\n\t\t * (i.e. previous and next frames are from Honeybadger)\n\t\t * - Exit when frame encountered is not from Honeybadger source code\n\t\t *\n\t\t * Note: this will not always work, especially in browser versions where code\n\t\t * is minified, uglified and bundled.\n\t\t * For those cases we default to 3:\n\t\t * - generateStackTrace\n\t\t * - makeNotice\n\t\t * - notify\n\t\t */\n\t\tfunction calculateBacktraceShift(backtrace) {\n\t\t var shift = 0;\n\t\t for (var i = 0; i < backtrace.length; i++) {\n\t\t var frame = backtrace[i];\n\t\t if (isFrameFromHbSourceCode(frame)) {\n\t\t shift++;\n\t\t continue;\n\t\t }\n\t\t if (!frame.file || frame.file === '') {\n\t\t var nextFrame = backtrace[i + 1];\n\t\t if (nextFrame && isFrameFromHbSourceCode(nextFrame)) {\n\t\t shift++;\n\t\t continue;\n\t\t }\n\t\t }\n\t\t break;\n\t\t }\n\t\t return shift || exports.DEFAULT_BACKTRACE_SHIFT;\n\t\t}\n\t\texports.calculateBacktraceShift = calculateBacktraceShift;\n\t\tfunction getCauses(notice, logger) {\n\t\t if (notice.cause) {\n\t\t var causes = [];\n\t\t var cause = notice;\n\t\t // @ts-ignore this throws an error if tsconfig.json has strict: true\n\t\t while (causes.length < 3 && (cause = cause.cause)) {\n\t\t causes.push({\n\t\t class: cause.name,\n\t\t message: cause.message,\n\t\t backtrace: typeof cause.stack == 'string' ? makeBacktrace(cause.stack, false, logger) : null\n\t\t });\n\t\t }\n\t\t return causes;\n\t\t }\n\t\t return [];\n\t\t}\n\t\texports.getCauses = getCauses;\n\t\tfunction getSourceForBacktrace(backtrace, getSourceFileHandler) {\n\t\t return __awaiter(this, void 0, void 0, function () {\n\t\t var result, index, trace, fileContent;\n\t\t return __generator(this, function (_a) {\n\t\t switch (_a.label) {\n\t\t case 0:\n\t\t result = [];\n\t\t if (!getSourceFileHandler || !backtrace || !backtrace.length) {\n\t\t return [2 /*return*/, result];\n\t\t }\n\t\t index = 0;\n\t\t _a.label = 1;\n\t\t case 1:\n\t\t if (!backtrace.length) return [3 /*break*/, 3];\n\t\t trace = backtrace.splice(0)[index];\n\t\t return [4 /*yield*/, getSourceFileHandler(trace.file)];\n\t\t case 2:\n\t\t fileContent = _a.sent();\n\t\t result[index] = getSourceCodeSnippet(fileContent, trace.number);\n\t\t index++;\n\t\t return [3 /*break*/, 1];\n\t\t case 3: return [2 /*return*/, result];\n\t\t }\n\t\t });\n\t\t });\n\t\t}\n\t\texports.getSourceForBacktrace = getSourceForBacktrace;\n\t\tfunction runBeforeNotifyHandlers(notice, handlers) {\n\t\t var results = [];\n\t\t var result = true;\n\t\t for (var i = 0, len = handlers.length; i < len; i++) {\n\t\t var handler = handlers[i];\n\t\t var handlerResult = handler(notice);\n\t\t if (handlerResult === false) {\n\t\t result = false;\n\t\t }\n\t\t results.push(handlerResult);\n\t\t }\n\t\t return {\n\t\t results: results,\n\t\t result: result\n\t\t };\n\t\t}\n\t\texports.runBeforeNotifyHandlers = runBeforeNotifyHandlers;\n\t\tfunction runAfterNotifyHandlers(notice, handlers, error) {\n\t\t if (notice && notice.afterNotify) {\n\t\t notice.afterNotify(error, notice);\n\t\t }\n\t\t for (var i = 0, len = handlers.length; i < len; i++) {\n\t\t handlers[i](error, notice);\n\t\t }\n\t\t return true;\n\t\t}\n\t\texports.runAfterNotifyHandlers = runAfterNotifyHandlers;\n\t\t// Returns a new object with properties from other object.\n\t\tfunction shallowClone(obj) {\n\t\t if (typeof (obj) !== 'object' || obj === null) {\n\t\t return {};\n\t\t }\n\t\t var result = {};\n\t\t for (var k in obj) {\n\t\t result[k] = obj[k];\n\t\t }\n\t\t return result;\n\t\t}\n\t\texports.shallowClone = shallowClone;\n\t\tfunction sanitize(obj, maxDepth) {\n\t\t if (maxDepth === void 0) { maxDepth = 8; }\n\t\t var seenObjects = [];\n\t\t function seen(obj) {\n\t\t if (!obj || typeof (obj) !== 'object') {\n\t\t return false;\n\t\t }\n\t\t for (var i = 0; i < seenObjects.length; i++) {\n\t\t var value = seenObjects[i];\n\t\t if (value === obj) {\n\t\t return true;\n\t\t }\n\t\t }\n\t\t seenObjects.push(obj);\n\t\t return false;\n\t\t }\n\t\t function canSerialize(obj) {\n\t\t var typeOfObj = typeof obj;\n\t\t // Functions are TMI\n\t\t if (/function/.test(typeOfObj)) {\n\t\t // Let special toJSON method pass as it's used by JSON.stringify (#722)\n\t\t return obj.name === 'toJSON';\n\t\t }\n\t\t // Symbols can't convert to strings.\n\t\t if (/symbol/.test(typeOfObj)) {\n\t\t return false;\n\t\t }\n\t\t if (obj === null) {\n\t\t return false;\n\t\t }\n\t\t // No prototype, likely created with `Object.create(null)`.\n\t\t if (typeof obj === 'object' && typeof obj.hasOwnProperty === 'undefined') {\n\t\t return false;\n\t\t }\n\t\t return true;\n\t\t }\n\t\t function serialize(obj, depth) {\n\t\t if (depth === void 0) { depth = 0; }\n\t\t if (depth >= maxDepth) {\n\t\t return '[DEPTH]';\n\t\t }\n\t\t // Inspect invalid types\n\t\t if (!canSerialize(obj)) {\n\t\t return Object.prototype.toString.call(obj);\n\t\t }\n\t\t // Halt circular references\n\t\t if (seen(obj)) {\n\t\t return '[RECURSION]';\n\t\t }\n\t\t // Serialize inside arrays\n\t\t if (Array.isArray(obj)) {\n\t\t return obj.map(function (o) { return safeSerialize(o, depth + 1); });\n\t\t }\n\t\t // Serialize inside objects\n\t\t if (typeof (obj) === 'object') {\n\t\t var ret = {};\n\t\t for (var k in obj) {\n\t\t var v = obj[k];\n\t\t if (Object.prototype.hasOwnProperty.call(obj, k) && (k != null) && (v != null)) {\n\t\t ret[k] = safeSerialize(v, depth + 1);\n\t\t }\n\t\t }\n\t\t return ret;\n\t\t }\n\t\t // Return everything else untouched\n\t\t return obj;\n\t\t }\n\t\t function safeSerialize(obj, depth) {\n\t\t if (depth === void 0) { depth = 0; }\n\t\t try {\n\t\t return serialize(obj, depth);\n\t\t }\n\t\t catch (e) {\n\t\t return \"[ERROR] \".concat(e);\n\t\t }\n\t\t }\n\t\t return safeSerialize(obj);\n\t\t}\n\t\texports.sanitize = sanitize;\n\t\tfunction logger(client) {\n\t\t var log = function (method) {\n\t\t return function () {\n\t\t var _a;\n\t\t var args = [];\n\t\t for (var _i = 0; _i < arguments.length; _i++) {\n\t\t args[_i] = arguments[_i];\n\t\t }\n\t\t if (method === 'debug') {\n\t\t if (!client.config.debug) {\n\t\t return;\n\t\t }\n\t\t // Log at default level so that you don't need to also enable verbose\n\t\t // logging in Chrome.\n\t\t method = 'log';\n\t\t }\n\t\t args.unshift('[Honeybadger]');\n\t\t (_a = client.config.logger)[method].apply(_a, args);\n\t\t };\n\t\t };\n\t\t return {\n\t\t log: log('log'),\n\t\t info: log('info'),\n\t\t debug: log('debug'),\n\t\t warn: log('warn'),\n\t\t error: log('error')\n\t\t };\n\t\t}\n\t\texports.logger = logger;\n\t\t/**\n\t\t * Converts any object into a notice object (which at minimum has the same\n\t\t * properties as Error, but supports additional Honeybadger properties.)\n\t\t */\n\t\tfunction makeNotice(thing) {\n\t\t var notice;\n\t\t if (!thing) {\n\t\t notice = {};\n\t\t }\n\t\t else if (isErrorObject(thing)) {\n\t\t var e = thing;\n\t\t notice = merge(thing, { name: e.name, message: e.message, stack: e.stack, cause: e.cause });\n\t\t }\n\t\t else if (typeof thing === 'object') {\n\t\t notice = shallowClone(thing);\n\t\t }\n\t\t else {\n\t\t var m = String(thing);\n\t\t notice = { message: m };\n\t\t }\n\t\t return notice;\n\t\t}\n\t\texports.makeNotice = makeNotice;\n\t\tfunction isErrorObject(thing) {\n\t\t return thing instanceof Error\n\t\t || Object.prototype.toString.call(thing) === '[object Error]'; // Important for cross-realm objects\n\t\t}\n\t\texports.isErrorObject = isErrorObject;\n\t\t/**\n\t\t * Instrument an existing function inside an object (usually global).\n\t\t * @param {!Object} object\n\t\t * @param {!String} name\n\t\t * @param {!Function} replacement\n\t\t */\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tfunction instrument(object, name, replacement) {\n\t\t if (!object || !name || !replacement || !(name in object)) {\n\t\t return;\n\t\t }\n\t\t try {\n\t\t var original = object[name];\n\t\t while (original && original.__hb_original) {\n\t\t original = original.__hb_original;\n\t\t }\n\t\t object[name] = replacement(original);\n\t\t object[name].__hb_original = original;\n\t\t }\n\t\t catch (_e) {\n\t\t // Ignores errors where \"original\" is a restricted object (see #1001)\n\t\t // Uncaught Error: Permission denied to access property \"__hb_original\"\n\t\t // Also ignores:\n\t\t // Error: TypeError: Cannot set property onunhandledrejection of [object Object] which has only a getter\n\t\t // User-Agent: Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/12.1 Chrome/79.0.3945.136 Mobile Safari/537.36\n\t\t }\n\t\t}\n\t\texports.instrument = instrument;\n\t\tvar _consoleAlreadyInstrumented = false;\n\t\tvar listeners = [];\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tfunction instrumentConsole(_window, handler) {\n\t\t if (!_window || !_window.console || !handler) {\n\t\t return;\n\t\t }\n\t\t listeners.push(handler);\n\t\t if (_consoleAlreadyInstrumented) {\n\t\t return;\n\t\t }\n\t\t _consoleAlreadyInstrumented = true;\n\t\t ['debug', 'info', 'warn', 'error', 'log'].forEach(function (level) {\n\t\t instrument(_window.console, level, function hbLogger(original) {\n\t\t return function () {\n\t\t var args = Array.prototype.slice.call(arguments);\n\t\t listeners.forEach(function (listener) {\n\t\t try {\n\t\t listener(level, args);\n\t\t }\n\t\t catch (_e) {\n\t\t // ignore\n\t\t // should never reach here because instrument method already wraps with try/catch block\n\t\t }\n\t\t });\n\t\t if (typeof original === 'function') {\n\t\t Function.prototype.apply.call(original, _window.console, arguments);\n\t\t }\n\t\t };\n\t\t });\n\t\t });\n\t\t}\n\t\texports.instrumentConsole = instrumentConsole;\n\t\tfunction endpoint(base, path) {\n\t\t var endpoint = base.trim().replace(/\\/$/, '');\n\t\t path = path.trim().replace(/(^\\/|\\/$)/g, '');\n\t\t return \"\".concat(endpoint, \"/\").concat(path);\n\t\t}\n\t\texports.endpoint = endpoint;\n\t\tfunction generateStackTrace() {\n\t\t try {\n\t\t throw new Error('');\n\t\t }\n\t\t catch (e) {\n\t\t if (e.stack) {\n\t\t return e.stack;\n\t\t }\n\t\t }\n\t\t var maxStackSize = 10;\n\t\t var stack = [];\n\t\t var curr = arguments.callee;\n\t\t while (curr && stack.length < maxStackSize) {\n\t\t if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n\t\t stack.push(RegExp.$1 || '');\n\t\t }\n\t\t else {\n\t\t stack.push('');\n\t\t }\n\t\t try {\n\t\t curr = curr.caller;\n\t\t }\n\t\t catch (e) {\n\t\t break;\n\t\t }\n\t\t }\n\t\t return stack.join('\\n');\n\t\t}\n\t\texports.generateStackTrace = generateStackTrace;\n\t\tfunction filter(obj, filters) {\n\t\t if (!is('Object', obj)) {\n\t\t return;\n\t\t }\n\t\t if (!is('Array', filters)) {\n\t\t filters = [];\n\t\t }\n\t\t var seen = [];\n\t\t function filter(obj) {\n\t\t var k, newObj;\n\t\t if (is('Object', obj) || is('Array', obj)) {\n\t\t if (seen.indexOf(obj) !== -1) {\n\t\t return '[CIRCULAR DATA STRUCTURE]';\n\t\t }\n\t\t seen.push(obj);\n\t\t }\n\t\t if (is('Object', obj)) {\n\t\t newObj = {};\n\t\t for (k in obj) {\n\t\t if (filterMatch(k, filters)) {\n\t\t newObj[k] = '[FILTERED]';\n\t\t }\n\t\t else {\n\t\t newObj[k] = filter(obj[k]);\n\t\t }\n\t\t }\n\t\t return newObj;\n\t\t }\n\t\t if (is('Array', obj)) {\n\t\t return obj.map(function (v) {\n\t\t return filter(v);\n\t\t });\n\t\t }\n\t\t if (is('Function', obj)) {\n\t\t return '[FUNC]';\n\t\t }\n\t\t return obj;\n\t\t }\n\t\t return filter(obj);\n\t\t}\n\t\texports.filter = filter;\n\t\tfunction filterMatch(key, filters) {\n\t\t for (var i = 0; i < filters.length; i++) {\n\t\t if (key.toLowerCase().indexOf(filters[i].toLowerCase()) !== -1) {\n\t\t return true;\n\t\t }\n\t\t }\n\t\t return false;\n\t\t}\n\t\tfunction is(type, obj) {\n\t\t var klass = Object.prototype.toString.call(obj).slice(8, -1);\n\t\t return obj !== undefined && obj !== null && klass === type;\n\t\t}\n\t\tfunction filterUrl(url, filters) {\n\t\t if (!filters) {\n\t\t return url;\n\t\t }\n\t\t if (typeof url !== 'string') {\n\t\t return url;\n\t\t }\n\t\t var query = url.split(/\\?/, 2)[1];\n\t\t if (!query) {\n\t\t return url;\n\t\t }\n\t\t var result = url;\n\t\t query.split(/[&]\\s?/).forEach(function (pair) {\n\t\t var _a = pair.split('=', 2), key = _a[0], value = _a[1];\n\t\t if (filterMatch(key, filters)) {\n\t\t result = result.replace(\"\".concat(key, \"=\").concat(value), \"\".concat(key, \"=[FILTERED]\"));\n\t\t }\n\t\t });\n\t\t return result;\n\t\t}\n\t\texports.filterUrl = filterUrl;\n\t\tfunction formatCGIData(vars, prefix) {\n\t\t if (prefix === void 0) { prefix = ''; }\n\t\t var formattedVars = {};\n\t\t Object.keys(vars).forEach(function (key) {\n\t\t var formattedKey = prefix + key.replace(/\\W/g, '_').toUpperCase();\n\t\t formattedVars[formattedKey] = vars[key];\n\t\t });\n\t\t return formattedVars;\n\t\t}\n\t\texports.formatCGIData = formatCGIData;\n\t\tfunction clone(obj) {\n\t\t return JSON.parse(JSON.stringify(obj));\n\t\t}\n\t\texports.clone = clone;\n\t\tfunction getSourceCodeSnippet(fileData, lineNumber, sourceRadius) {\n\t\t if (sourceRadius === void 0) { sourceRadius = 2; }\n\t\t if (!fileData) {\n\t\t return null;\n\t\t }\n\t\t var lines = fileData.split('\\n');\n\t\t // add one empty line because array index starts from 0, but error line number is counted from 1\n\t\t lines.unshift('');\n\t\t var start = lineNumber - sourceRadius;\n\t\t var end = lineNumber + sourceRadius;\n\t\t var result = {};\n\t\t for (var i = start; i <= end; i++) {\n\t\t var line = lines[i];\n\t\t if (typeof line === 'string') {\n\t\t result[i] = line;\n\t\t }\n\t\t }\n\t\t return result;\n\t\t}\n\t\tfunction isBrowserConfig(config) {\n\t\t return config.async !== undefined;\n\t\t}\n\t\texports.isBrowserConfig = isBrowserConfig;\n\t\t/** globalThis has fairly good support. But just in case, lets check its defined.\n\t\t * @see {https://caniuse.com/?search=globalThis}\n\t\t */\n\t\tfunction globalThisOrWindow() {\n\t\t if (typeof globalThis !== 'undefined') {\n\t\t return globalThis;\n\t\t }\n\t\t if (typeof self !== 'undefined') {\n\t\t return self;\n\t\t }\n\t\t return window;\n\t\t}\n\t\texports.globalThisOrWindow = globalThisOrWindow;\n\t\tvar _deprecatedMethodCalls = {};\n\t\t/**\n\t\t * Logs a deprecation warning, every X calls to the method.\n\t\t */\n\t\tfunction logDeprecatedMethod(logger, oldMethod, newMethod, callCountThreshold) {\n\t\t if (callCountThreshold === void 0) { callCountThreshold = 100; }\n\t\t var key = \"\".concat(oldMethod, \"-\").concat(newMethod);\n\t\t if (typeof _deprecatedMethodCalls[key] === 'undefined') {\n\t\t _deprecatedMethodCalls[key] = 0;\n\t\t }\n\t\t if (_deprecatedMethodCalls[key] % callCountThreshold !== 0) {\n\t\t _deprecatedMethodCalls[key]++;\n\t\t return;\n\t\t }\n\t\t var msg = \"Deprecation warning: \".concat(oldMethod, \" has been deprecated; please use \").concat(newMethod, \" instead.\");\n\t\t logger.warn(msg);\n\t\t _deprecatedMethodCalls[key]++;\n\t\t}\n\t\texports.logDeprecatedMethod = logDeprecatedMethod;\n\t\t\n\t} (util$1));\n\n\tObject.defineProperty(events, \"__esModule\", { value: true });\n\tvar util_1$4 = util$1;\n\tfunction default_1$4(_window) {\n\t if (_window === void 0) { _window = (0, util_1$4.globalThisOrWindow)(); }\n\t return {\n\t shouldReloadOnConfigure: false,\n\t load: function (client) {\n\t function sendEventsToInsights() {\n\t return client.config.eventsEnabled;\n\t }\n\t if (!sendEventsToInsights()) {\n\t return;\n\t }\n\t (0, util_1$4.instrumentConsole)(_window, function (level, args) {\n\t if (!sendEventsToInsights()) {\n\t return;\n\t }\n\t if (args.length === 0) {\n\t return;\n\t }\n\t var data = {\n\t severity: level,\n\t };\n\t if (typeof args[0] === 'string') {\n\t data.message = args[0];\n\t data.args = args.slice(1);\n\t }\n\t else {\n\t data.args = args;\n\t }\n\t client.event('log', data);\n\t });\n\t }\n\t };\n\t}\n\tevents.default = default_1$4;\n\n\tvar client = {};\n\n\tvar store = {};\n\n\tObject.defineProperty(store, \"__esModule\", { value: true });\n\tstore.GlobalStore = void 0;\n\tvar util_1$3 = util$1;\n\tvar GlobalStore = /** @class */ (function () {\n\t function GlobalStore(contents, breadcrumbsLimit) {\n\t this.contents = contents;\n\t this.breadcrumbsLimit = breadcrumbsLimit;\n\t }\n\t GlobalStore.create = function (contents, breadcrumbsLimit) {\n\t return new GlobalStore(contents, breadcrumbsLimit);\n\t };\n\t GlobalStore.prototype.available = function () {\n\t return true;\n\t };\n\t GlobalStore.prototype.getContents = function (key) {\n\t var value = key ? this.contents[key] : this.contents;\n\t return JSON.parse(JSON.stringify(value));\n\t };\n\t GlobalStore.prototype.setContext = function (context) {\n\t this.contents.context = (0, util_1$3.merge)(this.contents.context, context || {});\n\t };\n\t GlobalStore.prototype.addBreadcrumb = function (breadcrumb) {\n\t if (this.contents.breadcrumbs.length == this.breadcrumbsLimit) {\n\t this.contents.breadcrumbs.shift();\n\t }\n\t this.contents.breadcrumbs.push(breadcrumb);\n\t };\n\t GlobalStore.prototype.clear = function () {\n\t this.contents.context = {};\n\t this.contents.breadcrumbs = [];\n\t };\n\t GlobalStore.prototype.run = function (callback) {\n\t return callback();\n\t };\n\t return GlobalStore;\n\t}());\n\tstore.GlobalStore = GlobalStore;\n\n\tvar throttled_events_logger = {};\n\n\tclass NdJson {\n\t static parse(data) {\n\t const lines = data.trim().split('\\n');\n\t return lines.map(line => JSON.parse(line));\n\t }\n\t static stringify(data) {\n\t return data.map(item => JSON.stringify(item)).join('\\n');\n\t }\n\t}\n\n\tvar module = /*#__PURE__*/Object.freeze({\n\t\t__proto__: null,\n\t\tNdJson: NdJson\n\t});\n\n\tvar require$$0 = /*@__PURE__*/getAugmentedNamespace(module);\n\n\tvar defaults = {};\n\n\tObject.defineProperty(defaults, \"__esModule\", { value: true });\n\tdefaults.CONFIG = void 0;\n\tdefaults.CONFIG = {\n\t apiKey: null,\n\t endpoint: 'https://api.honeybadger.io',\n\t environment: null,\n\t hostname: null,\n\t projectRoot: null,\n\t component: null,\n\t action: null,\n\t revision: null,\n\t reportData: null,\n\t breadcrumbsEnabled: true,\n\t // we could decide the value of eventsEnabled based on `env` and `developmentEnvironments`\n\t eventsEnabled: false,\n\t maxBreadcrumbs: 40,\n\t maxObjectDepth: 8,\n\t logger: console,\n\t developmentEnvironments: ['dev', 'development', 'test'],\n\t debug: false,\n\t tags: null,\n\t enableUncaught: true,\n\t enableUnhandledRejection: true,\n\t afterUncaught: function () { return true; },\n\t filters: ['creditcard', 'password'],\n\t __plugins: [],\n\t};\n\n\tvar __assign$2 = (commonjsGlobal && commonjsGlobal.__assign) || function () {\n\t __assign$2 = Object.assign || function(t) {\n\t for (var s, i = 1, n = arguments.length; i < n; i++) {\n\t s = arguments[i];\n\t for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n\t t[p] = s[p];\n\t }\n\t return t;\n\t };\n\t return __assign$2.apply(this, arguments);\n\t};\n\tvar __awaiter$2 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {\n\t function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n\t return new (P || (P = Promise))(function (resolve, reject) {\n\t function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n\t function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n\t function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n\t step((generator = generator.apply(thisArg, _arguments || [])).next());\n\t });\n\t};\n\tvar __generator$2 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {\n\t var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n\t return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n\t function verb(n) { return function (v) { return step([n, v]); }; }\n\t function step(op) {\n\t if (f) throw new TypeError(\"Generator is already executing.\");\n\t while (_) try {\n\t if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n\t if (y = 0, t) op = [op[0] & 2, t.value];\n\t switch (op[0]) {\n\t case 0: case 1: t = op; break;\n\t case 4: _.label++; return { value: op[1], done: false };\n\t case 5: _.label++; y = op[1]; op = [0]; continue;\n\t case 7: op = _.ops.pop(); _.trys.pop(); continue;\n\t default:\n\t if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n\t if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n\t if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n\t if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n\t if (t[2]) _.ops.pop();\n\t _.trys.pop(); continue;\n\t }\n\t op = body.call(thisArg, _);\n\t } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n\t if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n\t }\n\t};\n\tObject.defineProperty(throttled_events_logger, \"__esModule\", { value: true });\n\tthrottled_events_logger.ThrottledEventsLogger = void 0;\n\tvar json_nd_1 = require$$0;\n\tvar util_1$2 = util$1;\n\tvar defaults_1$1 = defaults;\n\tvar ThrottledEventsLogger = /** @class */ (function () {\n\t function ThrottledEventsLogger(config, transport) {\n\t this.config = config;\n\t this.transport = transport;\n\t this.queue = [];\n\t this.isProcessing = false;\n\t this.config = __assign$2(__assign$2({}, defaults_1$1.CONFIG), config);\n\t this.logger = this.originalLogger();\n\t }\n\t ThrottledEventsLogger.prototype.configure = function (opts) {\n\t for (var k in opts) {\n\t this.config[k] = opts[k];\n\t }\n\t };\n\t ThrottledEventsLogger.prototype.log = function (payload) {\n\t this.queue.push(payload);\n\t if (!this.isProcessing) {\n\t this.processQueue();\n\t }\n\t };\n\t ThrottledEventsLogger.prototype.flushAsync = function () {\n\t this.logger.debug('[Honeybadger] Flushing events');\n\t return this.send();\n\t };\n\t ThrottledEventsLogger.prototype.processQueue = function () {\n\t var _this = this;\n\t if (this.queue.length === 0 || this.isProcessing) {\n\t return;\n\t }\n\t this.isProcessing = true;\n\t this.send()\n\t .then(function () {\n\t setTimeout(function () {\n\t _this.isProcessing = false;\n\t _this.processQueue();\n\t }, 50);\n\t })\n\t .catch(function (error) {\n\t _this.logger.error('[Honeybadger] Error making HTTP request:', error);\n\t // Continue processing the queue even if there's an error\n\t setTimeout(function () {\n\t _this.isProcessing = false;\n\t _this.processQueue();\n\t }, 50);\n\t });\n\t };\n\t ThrottledEventsLogger.prototype.send = function () {\n\t return __awaiter$2(this, void 0, void 0, function () {\n\t var eventsData, data;\n\t return __generator$2(this, function (_a) {\n\t if (this.queue.length === 0) {\n\t return [2 /*return*/];\n\t }\n\t eventsData = this.queue.slice();\n\t this.queue = [];\n\t data = json_nd_1.NdJson.stringify(eventsData);\n\t return [2 /*return*/, this.makeHttpRequest(data)];\n\t });\n\t });\n\t };\n\t ThrottledEventsLogger.prototype.makeHttpRequest = function (data) {\n\t return __awaiter$2(this, void 0, void 0, function () {\n\t var _this = this;\n\t return __generator$2(this, function (_a) {\n\t return [2 /*return*/, this.transport\n\t .send({\n\t headers: {\n\t 'X-API-Key': this.config.apiKey,\n\t 'Content-Type': 'application/json',\n\t },\n\t method: 'POST',\n\t endpoint: (0, util_1$2.endpoint)(this.config.endpoint, '/v1/events'),\n\t maxObjectDepth: this.config.maxObjectDepth,\n\t logger: this.logger,\n\t }, data)\n\t .then(function () {\n\t if (_this.config.debug) {\n\t _this.logger.debug('[Honeybadger] Events sent successfully');\n\t }\n\t })\n\t .catch(function (err) {\n\t _this.logger.error(\"[Honeybadger] Error sending events: \".concat(err.message));\n\t })];\n\t });\n\t });\n\t };\n\t /**\n\t * todo: improve this\n\t *\n\t * The EventsLogger overrides the console methods to enable automatic instrumentation\n\t * of console logs to the Honeybadger API.\n\t * So if we want to log something in here we need to use the original methods.\n\t */\n\t ThrottledEventsLogger.prototype.originalLogger = function () {\n\t var _a, _b, _c, _d, _e;\n\t return {\n\t // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t log: (_a = console.log.__hb_original) !== null && _a !== void 0 ? _a : console.log,\n\t // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t info: (_b = console.info.__hb_original) !== null && _b !== void 0 ? _b : console.info,\n\t // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t debug: (_c = console.debug.__hb_original) !== null && _c !== void 0 ? _c : console.debug,\n\t // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t warn: (_d = console.warn.__hb_original) !== null && _d !== void 0 ? _d : console.warn,\n\t // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t error: (_e = console.error.__hb_original) !== null && _e !== void 0 ? _e : console.error,\n\t };\n\t };\n\t return ThrottledEventsLogger;\n\t}());\n\tthrottled_events_logger.ThrottledEventsLogger = ThrottledEventsLogger;\n\n\tvar __assign$1 = (commonjsGlobal && commonjsGlobal.__assign) || function () {\n\t __assign$1 = Object.assign || function(t) {\n\t for (var s, i = 1, n = arguments.length; i < n; i++) {\n\t s = arguments[i];\n\t for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n\t t[p] = s[p];\n\t }\n\t return t;\n\t };\n\t return __assign$1.apply(this, arguments);\n\t};\n\tvar __awaiter$1 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {\n\t function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n\t return new (P || (P = Promise))(function (resolve, reject) {\n\t function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n\t function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n\t function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n\t step((generator = generator.apply(thisArg, _arguments || [])).next());\n\t });\n\t};\n\tvar __generator$1 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {\n\t var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n\t return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n\t function verb(n) { return function (v) { return step([n, v]); }; }\n\t function step(op) {\n\t if (f) throw new TypeError(\"Generator is already executing.\");\n\t while (_) try {\n\t if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n\t if (y = 0, t) op = [op[0] & 2, t.value];\n\t switch (op[0]) {\n\t case 0: case 1: t = op; break;\n\t case 4: _.label++; return { value: op[1], done: false };\n\t case 5: _.label++; y = op[1]; op = [0]; continue;\n\t case 7: op = _.ops.pop(); _.trys.pop(); continue;\n\t default:\n\t if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n\t if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n\t if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n\t if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n\t if (t[2]) _.ops.pop();\n\t _.trys.pop(); continue;\n\t }\n\t op = body.call(thisArg, _);\n\t } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n\t if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n\t }\n\t};\n\tObject.defineProperty(client, \"__esModule\", { value: true });\n\tclient.Client = void 0;\n\tvar util_1$1 = util$1;\n\tvar store_1 = store;\n\tvar throttled_events_logger_1 = throttled_events_logger;\n\tvar defaults_1 = defaults;\n\t// Split at commas and spaces\n\tvar TAG_SEPARATOR = /,|\\s+/;\n\t// Checks for non-blank characters\n\tvar NOT_BLANK = /\\S/;\n\tvar Client = /** @class */ (function () {\n\t function Client(opts, transport) {\n\t if (opts === void 0) { opts = {}; }\n\t this.__pluginsLoaded = false;\n\t this.__store = null;\n\t this.__beforeNotifyHandlers = [];\n\t this.__afterNotifyHandlers = [];\n\t this.__notifier = {\n\t name: '@honeybadger-io/core',\n\t url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/core',\n\t version: '6.11.0'\n\t };\n\t this.config = __assign$1(__assign$1({}, defaults_1.CONFIG), opts);\n\t this.__initStore();\n\t this.__transport = transport;\n\t this.__eventsLogger = new throttled_events_logger_1.ThrottledEventsLogger(this.config, this.__transport);\n\t this.logger = (0, util_1$1.logger)(this);\n\t }\n\t Client.prototype.getVersion = function () {\n\t return this.__notifier.version;\n\t };\n\t Client.prototype.getNotifier = function () {\n\t return this.__notifier;\n\t };\n\t /**\n\t * CAREFUL: When adding a new notifier or updating the name of an existing notifier,\n\t * the Honeybadger rails project may need its mappings updated.\n\t * See https://github.com/honeybadger-io/honeybadger/blob/master/app/presenters/breadcrumbs_presenter.rb\n\t * https://github.com/honeybadger-io/honeybadger/blob/master/app/models/parser/java_script.rb\n\t * https://github.com/honeybadger-io/honeybadger/blob/master/app/models/language.rb\n\t **/\n\t Client.prototype.setNotifier = function (notifier) {\n\t this.__notifier = notifier;\n\t };\n\t Client.prototype.configure = function (opts) {\n\t if (opts === void 0) { opts = {}; }\n\t for (var k in opts) {\n\t this.config[k] = opts[k];\n\t }\n\t this.__eventsLogger.configure(this.config);\n\t this.loadPlugins();\n\t return this;\n\t };\n\t Client.prototype.loadPlugins = function () {\n\t var _this = this;\n\t var pluginsToLoad = this.__pluginsLoaded\n\t ? this.config.__plugins.filter(function (plugin) { return plugin.shouldReloadOnConfigure; })\n\t : this.config.__plugins;\n\t pluginsToLoad.forEach(function (plugin) { return plugin.load(_this); });\n\t this.__pluginsLoaded = true;\n\t };\n\t Client.prototype.__initStore = function () {\n\t this.__store = new store_1.GlobalStore({ context: {}, breadcrumbs: [] }, this.config.maxBreadcrumbs);\n\t };\n\t Client.prototype.beforeNotify = function (handler) {\n\t this.__beforeNotifyHandlers.push(handler);\n\t return this;\n\t };\n\t Client.prototype.afterNotify = function (handler) {\n\t this.__afterNotifyHandlers.push(handler);\n\t return this;\n\t };\n\t Client.prototype.setContext = function (context) {\n\t if (typeof context === 'object' && context != null) {\n\t this.__store.setContext(context);\n\t }\n\t return this;\n\t };\n\t Client.prototype.resetContext = function (context) {\n\t this.logger.warn('Deprecation warning: `Honeybadger.resetContext()` has been deprecated; please use `Honeybadger.clear()` instead.');\n\t this.__store.clear();\n\t if (typeof context === 'object' && context !== null) {\n\t this.__store.setContext(context);\n\t }\n\t return this;\n\t };\n\t Client.prototype.clear = function () {\n\t this.__store.clear();\n\t return this;\n\t };\n\t Client.prototype.notify = function (noticeable, name, extra) {\n\t var _this = this;\n\t if (name === void 0) { name = undefined; }\n\t if (extra === void 0) { extra = undefined; }\n\t var notice = this.makeNotice(noticeable, name, extra);\n\t // we need to have the source file data before the beforeNotifyHandlers,\n\t // in case they modify them\n\t var sourceCodeData = notice && notice.backtrace ? notice.backtrace.map(function (trace) { return (0, util_1$1.shallowClone)(trace); }) : null;\n\t var preConditionsResult = this.__runPreconditions(notice);\n\t if (preConditionsResult instanceof Error) {\n\t (0, util_1$1.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, preConditionsResult);\n\t return false;\n\t }\n\t if (preConditionsResult instanceof Promise) {\n\t preConditionsResult.then(function (result) {\n\t if (result instanceof Error) {\n\t (0, util_1$1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, result);\n\t return false;\n\t }\n\t return _this.__send(notice, sourceCodeData);\n\t });\n\t return true;\n\t }\n\t this.__send(notice, sourceCodeData).catch(function (_err) { });\n\t return true;\n\t };\n\t /**\n\t * An async version of {@link notify} that resolves only after the notice has been reported to Honeybadger.\n\t * Implemented using the {@link afterNotify} hook.\n\t * Rejects if for any reason the report failed to be reported.\n\t * Useful in serverless environments (AWS Lambda).\n\t */\n\t Client.prototype.notifyAsync = function (noticeable, name, extra) {\n\t var _this = this;\n\t if (name === void 0) { name = undefined; }\n\t if (extra === void 0) { extra = undefined; }\n\t return new Promise(function (resolve, reject) {\n\t var applyAfterNotify = function (partialNotice) {\n\t var originalAfterNotify = partialNotice.afterNotify;\n\t partialNotice.afterNotify = function (err) {\n\t originalAfterNotify === null || originalAfterNotify === void 0 ? void 0 : originalAfterNotify.call(_this, err);\n\t if (err) {\n\t return reject(err);\n\t }\n\t resolve();\n\t };\n\t };\n\t // We have to respect any afterNotify hooks that come from the arguments\n\t var objectToOverride;\n\t if (noticeable.afterNotify) {\n\t objectToOverride = noticeable;\n\t }\n\t else if (name && name.afterNotify) {\n\t objectToOverride = name;\n\t }\n\t else if (extra && extra.afterNotify) {\n\t objectToOverride = extra;\n\t }\n\t else if (name && typeof name === 'object') {\n\t objectToOverride = name;\n\t }\n\t else if (extra) {\n\t objectToOverride = extra;\n\t }\n\t else {\n\t objectToOverride = name = {};\n\t }\n\t applyAfterNotify(objectToOverride);\n\t _this.notify(noticeable, name, extra);\n\t });\n\t };\n\t Client.prototype.makeNotice = function (noticeable, name, extra) {\n\t if (name === void 0) { name = undefined; }\n\t if (extra === void 0) { extra = undefined; }\n\t var notice = (0, util_1$1.makeNotice)(noticeable);\n\t if (name && !(typeof name === 'object')) {\n\t var n = String(name);\n\t name = { name: n };\n\t }\n\t if (name) {\n\t notice = (0, util_1$1.mergeNotice)(notice, name);\n\t }\n\t if (typeof extra === 'object' && extra !== null) {\n\t notice = (0, util_1$1.mergeNotice)(notice, extra);\n\t }\n\t if ((0, util_1$1.objectIsEmpty)(notice)) {\n\t return null;\n\t }\n\t var context = this.__store.getContents('context');\n\t var noticeTags = this.__constructTags(notice.tags);\n\t var contextTags = this.__constructTags(context['tags']);\n\t var configTags = this.__constructTags(this.config.tags);\n\t // Turning into a Set will remove duplicates\n\t var tags = noticeTags.concat(contextTags).concat(configTags);\n\t var uniqueTags = tags.filter(function (item, index) { return tags.indexOf(item) === index; });\n\t notice = (0, util_1$1.merge)(notice, {\n\t name: notice.name || 'Error',\n\t context: (0, util_1$1.merge)(context, notice.context),\n\t projectRoot: notice.projectRoot || this.config.projectRoot,\n\t environment: notice.environment || this.config.environment,\n\t component: notice.component || this.config.component,\n\t action: notice.action || this.config.action,\n\t revision: notice.revision || this.config.revision,\n\t tags: uniqueTags,\n\t });\n\t // If we're passed a custom backtrace array, use it\n\t // Otherwise we make one.\n\t if (!Array.isArray(notice.backtrace) || !notice.backtrace.length) {\n\t if (typeof notice.stack !== 'string' || !notice.stack.trim()) {\n\t notice.stack = (0, util_1$1.generateStackTrace)();\n\t notice.backtrace = (0, util_1$1.makeBacktrace)(notice.stack, true, this.logger);\n\t }\n\t else {\n\t notice.backtrace = (0, util_1$1.makeBacktrace)(notice.stack, false, this.logger);\n\t }\n\t }\n\t return notice;\n\t };\n\t Client.prototype.addBreadcrumb = function (message, opts) {\n\t if (!this.config.breadcrumbsEnabled) {\n\t return;\n\t }\n\t opts = opts || {};\n\t var metadata = (0, util_1$1.shallowClone)(opts.metadata);\n\t var category = opts.category || 'custom';\n\t var timestamp = new Date().toISOString();\n\t this.__store.addBreadcrumb({\n\t category: category,\n\t message: message,\n\t metadata: metadata,\n\t timestamp: timestamp\n\t });\n\t return this;\n\t };\n\t /**\n\t * @deprecated Use {@link event} instead.\n\t */\n\t Client.prototype.logEvent = function (data) {\n\t (0, util_1$1.logDeprecatedMethod)(this.logger, 'Honeybadger.logEvent', 'Honeybadger.event');\n\t this.event('log', data);\n\t };\n\t Client.prototype.event = function (type, data) {\n\t var _a;\n\t if (typeof type === 'object') {\n\t data = type;\n\t type = (_a = type['event_type']) !== null && _a !== void 0 ? _a : undefined;\n\t }\n\t this.__eventsLogger.log(__assign$1({ event_type: type, ts: new Date().toISOString() }, data));\n\t };\n\t /**\n\t * This method currently flushes the event (Insights) queue.\n\t * In the future, it should also flush the error queue (assuming an error throttler is implemented).\n\t */\n\t Client.prototype.flushAsync = function () {\n\t return this.__eventsLogger.flushAsync();\n\t };\n\t Client.prototype.__getBreadcrumbs = function () {\n\t return this.__store.getContents('breadcrumbs').slice();\n\t };\n\t Client.prototype.__getContext = function () {\n\t return this.__store.getContents('context');\n\t };\n\t Client.prototype.__developmentMode = function () {\n\t if (this.config.reportData === true) {\n\t return false;\n\t }\n\t return (this.config.environment && this.config.developmentEnvironments.includes(this.config.environment));\n\t };\n\t Client.prototype.__buildPayload = function (notice) {\n\t var headers = (0, util_1$1.filter)(notice.headers, this.config.filters) || {};\n\t var cgiData = (0, util_1$1.filter)(__assign$1(__assign$1({}, notice.cgiData), (0, util_1$1.formatCGIData)(headers, 'HTTP_')), this.config.filters);\n\t return {\n\t notifier: this.__notifier,\n\t breadcrumbs: {\n\t enabled: !!this.config.breadcrumbsEnabled,\n\t trail: notice.__breadcrumbs || []\n\t },\n\t error: {\n\t class: notice.name,\n\t message: notice.message,\n\t backtrace: notice.backtrace,\n\t fingerprint: notice.fingerprint,\n\t tags: notice.tags,\n\t causes: (0, util_1$1.getCauses)(notice, this.logger),\n\t },\n\t request: {\n\t url: (0, util_1$1.filterUrl)(notice.url, this.config.filters),\n\t component: notice.component,\n\t action: notice.action,\n\t context: notice.context,\n\t cgi_data: cgiData,\n\t params: (0, util_1$1.filter)(notice.params, this.config.filters) || {},\n\t session: (0, util_1$1.filter)(notice.session, this.config.filters) || {}\n\t },\n\t server: {\n\t project_root: notice.projectRoot,\n\t environment_name: notice.environment,\n\t revision: notice.revision,\n\t hostname: this.config.hostname,\n\t time: new Date().toUTCString()\n\t },\n\t details: notice.details || {}\n\t };\n\t };\n\t Client.prototype.__constructTags = function (tags) {\n\t if (!tags) {\n\t return [];\n\t }\n\t return tags.toString().split(TAG_SEPARATOR).filter(function (tag) { return NOT_BLANK.test(tag); });\n\t };\n\t Client.prototype.__runPreconditions = function (notice) {\n\t var _this = this;\n\t var preConditionError = null;\n\t if (!notice) {\n\t this.logger.debug('failed to build error report');\n\t preConditionError = new Error('failed to build error report');\n\t }\n\t if (this.config.reportData === false) {\n\t this.logger.debug('skipping error report: honeybadger.js is disabled', notice);\n\t preConditionError = new Error('honeybadger.js is disabled');\n\t }\n\t if (this.__developmentMode()) {\n\t this.logger.log('honeybadger.js is in development mode; the following error report will be sent in production.', notice);\n\t preConditionError = new Error('honeybadger.js is in development mode');\n\t }\n\t if (!this.config.apiKey) {\n\t this.logger.warn('could not send error report: no API key has been configured', notice);\n\t preConditionError = new Error('missing API key');\n\t }\n\t var beforeNotifyResult = (0, util_1$1.runBeforeNotifyHandlers)(notice, this.__beforeNotifyHandlers);\n\t if (!preConditionError && !beforeNotifyResult.result) {\n\t this.logger.debug('skipping error report: one or more beforeNotify handlers returned false', notice);\n\t preConditionError = new Error('beforeNotify handlers returned false');\n\t }\n\t if (beforeNotifyResult.results.length && beforeNotifyResult.results.some(function (result) { return result instanceof Promise; })) {\n\t return Promise.allSettled(beforeNotifyResult.results)\n\t .then(function (results) {\n\t if (!preConditionError && (results.some(function (result) { return result.status === 'rejected' || result.value === false; }))) {\n\t _this.logger.debug('skipping error report: one or more beforeNotify handlers returned false', notice);\n\t preConditionError = new Error('beforeNotify handlers (async) returned false');\n\t }\n\t if (preConditionError) {\n\t return preConditionError;\n\t }\n\t });\n\t }\n\t return preConditionError;\n\t };\n\t Client.prototype.__send = function (notice, originalBacktrace) {\n\t var _this = this;\n\t if (this.config.breadcrumbsEnabled) {\n\t this.addBreadcrumb('Honeybadger Notice', {\n\t category: 'notice',\n\t metadata: {\n\t message: notice.message,\n\t name: notice.name,\n\t stack: notice.stack\n\t }\n\t });\n\t notice.__breadcrumbs = this.__store.getContents('breadcrumbs');\n\t }\n\t else {\n\t notice.__breadcrumbs = [];\n\t }\n\t return (0, util_1$1.getSourceForBacktrace)(originalBacktrace, this.__getSourceFileHandler)\n\t .then(function (sourcePerTrace) { return __awaiter$1(_this, void 0, void 0, function () {\n\t var payload;\n\t return __generator$1(this, function (_a) {\n\t sourcePerTrace.forEach(function (source, index) {\n\t notice.backtrace[index].source = source;\n\t });\n\t payload = this.__buildPayload(notice);\n\t return [2 /*return*/, this.__transport\n\t .send({\n\t headers: {\n\t 'X-API-Key': this.config.apiKey,\n\t 'Content-Type': 'application/json',\n\t 'Accept': 'text/json, application/json'\n\t },\n\t method: 'POST',\n\t endpoint: (0, util_1$1.endpoint)(this.config.endpoint, '/v1/notices/js'),\n\t maxObjectDepth: this.config.maxObjectDepth,\n\t logger: this.logger,\n\t }, payload)];\n\t });\n\t }); })\n\t .then(function (res) {\n\t if (res.statusCode !== 201) {\n\t (0, util_1$1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, new Error(\"Bad HTTP response: \".concat(res.statusCode)));\n\t _this.logger.warn(\"Error report failed: unknown response from server. code=\".concat(res.statusCode));\n\t return false;\n\t }\n\t var uuid = JSON.parse(res.body).id;\n\t (0, util_1$1.runAfterNotifyHandlers)((0, util_1$1.merge)(notice, {\n\t id: uuid\n\t }), _this.__afterNotifyHandlers);\n\t _this.logger.info(\"Error report sent \\u26A1 https://app.honeybadger.io/notice/\".concat(uuid));\n\t return true;\n\t })\n\t .catch(function (err) {\n\t _this.logger.error('Error report failed: an unknown error occurred.', \"message=\".concat(err.message));\n\t (0, util_1$1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, err);\n\t return false;\n\t });\n\t };\n\t return Client;\n\t}());\n\tclient.Client = Client;\n\n\tvar types = {};\n\n\tObject.defineProperty(types, \"__esModule\", { value: true });\n\n\t(function (exports) {\n\t\tvar __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n\t\t if (k2 === undefined) k2 = k;\n\t\t var desc = Object.getOwnPropertyDescriptor(m, k);\n\t\t if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n\t\t desc = { enumerable: true, get: function() { return m[k]; } };\n\t\t }\n\t\t Object.defineProperty(o, k2, desc);\n\t\t}) : (function(o, m, k, k2) {\n\t\t if (k2 === undefined) k2 = k;\n\t\t o[k2] = m[k];\n\t\t}));\n\t\tvar __setModuleDefault = (commonjsGlobal && commonjsGlobal.__setModuleDefault) || (Object.create ? (function(o, v) {\n\t\t Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n\t\t}) : function(o, v) {\n\t\t o[\"default\"] = v;\n\t\t});\n\t\tvar __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m, exports) {\n\t\t for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n\t\t};\n\t\tvar __importStar = (commonjsGlobal && commonjsGlobal.__importStar) || function (mod) {\n\t\t if (mod && mod.__esModule) return mod;\n\t\t var result = {};\n\t\t if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n\t\t __setModuleDefault(result, mod);\n\t\t return result;\n\t\t};\n\t\tvar __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n\t\t return (mod && mod.__esModule) ? mod : { \"default\": mod };\n\t\t};\n\t\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t\texports.Plugins = exports.Util = exports.Types = exports.Client = void 0;\n\t\tvar events_1 = __importDefault(events);\n\t\tvar client_1 = client;\n\t\tObject.defineProperty(exports, \"Client\", { enumerable: true, get: function () { return client_1.Client; } });\n\t\t__exportStar(store, exports);\n\t\texports.Types = __importStar(types);\n\t\texports.Util = __importStar(util$1);\n\t\texports.Plugins = {\n\t\t events: events_1.default\n\t\t};\n\t\t\n\t} (src));\n\n\tvar util = {};\n\n\tObject.defineProperty(util, \"__esModule\", { value: true });\n\tutil.preferCatch = util.encodeCookie = util.decodeCookie = util.localURLPathname = util.parseURL = util.nativeFetch = util.stringTextOfElement = util.stringSelectorOfElement = util.stringNameOfElement = void 0;\n\tvar core_1$7 = src;\n\tvar globalThisOrWindow$7 = core_1$7.Util.globalThisOrWindow;\n\t/**\n\t * Converts an HTMLElement into a human-readable string.\n\t * @param {!HTMLElement} element\n\t * @return {string}\n\t */\n\tfunction stringNameOfElement(element) {\n\t if (!element || !element.tagName) {\n\t return '';\n\t }\n\t var name = element.tagName.toLowerCase();\n\t // Ignore the root element in selectors and events.\n\t if (name === 'html') {\n\t return '';\n\t }\n\t if (element.id) {\n\t name += \"#\".concat(element.id);\n\t }\n\t var stringClassNames = element.getAttribute('class');\n\t if (stringClassNames) {\n\t stringClassNames.split(/\\s+/).forEach(function (className) {\n\t name += \".\".concat(className);\n\t });\n\t }\n\t ['alt', 'name', 'title', 'type'].forEach(function (attrName) {\n\t var attr = element.getAttribute(attrName);\n\t if (attr) {\n\t name += \"[\".concat(attrName, \"=\\\"\").concat(attr, \"\\\"]\");\n\t }\n\t });\n\t var siblings = getSiblings(element);\n\t if (siblings.length > 1) {\n\t name += \":nth-child(\".concat(Array.prototype.indexOf.call(siblings, element) + 1, \")\");\n\t }\n\t return name;\n\t}\n\tutil.stringNameOfElement = stringNameOfElement;\n\tfunction stringSelectorOfElement(element) {\n\t var name = stringNameOfElement(element);\n\t if (element.parentNode && element.parentNode.tagName) {\n\t var parentName = stringSelectorOfElement(element.parentNode);\n\t if (parentName.length > 0) {\n\t return \"\".concat(parentName, \" > \").concat(name);\n\t }\n\t }\n\t return name;\n\t}\n\tutil.stringSelectorOfElement = stringSelectorOfElement;\n\tfunction stringTextOfElement(element) {\n\t var text = element.textContent || element.innerText || '';\n\t if (!text && (element.type === 'submit' || element.type === 'button')) {\n\t text = element.value;\n\t }\n\t return truncate(text.trim(), 300);\n\t}\n\tutil.stringTextOfElement = stringTextOfElement;\n\tfunction nativeFetch() {\n\t var global = globalThisOrWindow$7();\n\t if (!global.fetch) {\n\t return false;\n\t }\n\t if (isNative(global.fetch)) {\n\t return true;\n\t }\n\t if (typeof document === 'undefined') {\n\t return false;\n\t }\n\t // If fetch isn't native, it may be wrapped by someone else. Try to get\n\t // a pristine function from an iframe.\n\t try {\n\t var sandbox = document.createElement('iframe');\n\t sandbox.style.display = 'none';\n\t document.head.appendChild(sandbox);\n\t var result = sandbox.contentWindow.fetch && isNative(sandbox.contentWindow.fetch);\n\t document.head.removeChild(sandbox);\n\t return result;\n\t }\n\t catch (err) {\n\t if (console && console.warn) {\n\t console.warn('failed to detect native fetch via iframe: ' + err);\n\t }\n\t }\n\t return false;\n\t}\n\tutil.nativeFetch = nativeFetch;\n\tfunction isNative(func) {\n\t return func.toString().indexOf('native') !== -1;\n\t}\n\tfunction parseURL(url) {\n\t // Regexp: https://tools.ietf.org/html/rfc3986#appendix-B\n\t var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/) || {};\n\t return {\n\t protocol: match[2],\n\t host: match[4],\n\t pathname: match[5]\n\t };\n\t}\n\tutil.parseURL = parseURL;\n\tfunction localURLPathname(url) {\n\t var parsed = parseURL(url);\n\t var parsedDocURL = parseURL(document.URL);\n\t // URL must be relative\n\t if (!parsed.host || !parsed.protocol) {\n\t return parsed.pathname;\n\t }\n\t // Same domain\n\t if (parsed.protocol === parsedDocURL.protocol && parsed.host === parsedDocURL.host) {\n\t return parsed.pathname;\n\t }\n\t // x-domain\n\t return \"\".concat(parsed.protocol, \"://\").concat(parsed.host).concat(parsed.pathname);\n\t}\n\tutil.localURLPathname = localURLPathname;\n\tfunction decodeCookie(string) {\n\t var result = {};\n\t string.split(/[;,]\\s?/).forEach(function (pair) {\n\t var _a = pair.split('=', 2), key = _a[0], value = _a[1];\n\t result[key] = value;\n\t });\n\t return result;\n\t}\n\tutil.decodeCookie = decodeCookie;\n\tfunction encodeCookie(object) {\n\t if (typeof object !== 'object') {\n\t return undefined;\n\t }\n\t var cookies = [];\n\t for (var k in object) {\n\t cookies.push(k + '=' + object[k]);\n\t }\n\t return cookies.join(';');\n\t}\n\tutil.encodeCookie = encodeCookie;\n\t// Helpers\n\tfunction getSiblings(element) {\n\t try {\n\t var nodes = element.parentNode.childNodes;\n\t var siblings_1 = [];\n\t Array.prototype.forEach.call(nodes, function (node) {\n\t if (node.tagName && node.tagName === element.tagName) {\n\t siblings_1.push(node);\n\t }\n\t });\n\t return siblings_1;\n\t }\n\t catch (e) {\n\t return [];\n\t }\n\t}\n\tfunction truncate(string, length) {\n\t if (string.length > length) {\n\t string = string.substr(0, length) + '...';\n\t }\n\t return string;\n\t}\n\t// Used to decide which error handling method to use when wrapping async\n\t// handlers: try/catch, or `window.onerror`. When available, `window.onerror`\n\t// will provide more information in modern browsers.\n\tutil.preferCatch = (function () {\n\t var preferCatch = true;\n\t // In case we're in an environment without access to \"window\", lets make sure theres a window.\n\t if (typeof window === 'undefined')\n\t return preferCatch;\n\t // IE < 10\n\t if (!window.atob) {\n\t preferCatch = false;\n\t }\n\t // Modern browsers support the full ErrorEvent API\n\t // See https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n\t if (window.ErrorEvent) {\n\t try {\n\t if ((new window.ErrorEvent('')).colno === 0) {\n\t preferCatch = false;\n\t }\n\t // eslint-disable-next-line no-empty\n\t }\n\t catch (_e) { }\n\t }\n\t return preferCatch;\n\t})();\n\n\tvar onerror = {};\n\n\tObject.defineProperty(onerror, \"__esModule\", { value: true });\n\tonerror.onError = onerror.ignoreNextOnError = void 0;\n\t/* eslint-disable prefer-rest-params */\n\tvar core_1$6 = src;\n\tvar instrument$4 = core_1$6.Util.instrument, makeNotice = core_1$6.Util.makeNotice, globalThisOrWindow$6 = core_1$6.Util.globalThisOrWindow;\n\tvar ignoreOnError = 0;\n\tvar currentTimeout;\n\tfunction ignoreNextOnError() {\n\t ignoreOnError += 1;\n\t clearTimeout(currentTimeout);\n\t currentTimeout = setTimeout(function () {\n\t ignoreOnError = 0;\n\t });\n\t}\n\tonerror.ignoreNextOnError = ignoreNextOnError;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tfunction onError(_window) {\n\t if (_window === void 0) { _window = globalThisOrWindow$6(); }\n\t return {\n\t load: function (client) {\n\t instrument$4(_window, 'onerror', function (original) {\n\t var onerror = function (msg, url, line, col, err) {\n\t client.logger.debug('window.onerror callback invoked', arguments);\n\t if (ignoreOnError > 0) {\n\t client.logger.debug('Ignoring window.onerror (error likely reported earlier)', arguments);\n\t ignoreOnError -= 1;\n\t return;\n\t }\n\t // See https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onerror#Notes\n\t if (line === 0 && /Script error\\.?/.test(msg)) {\n\t if (client.config.enableUncaught) {\n\t // Log only if the user wants to report uncaught errors\n\t client.logger.warn('Ignoring cross-domain script error: enable CORS to track these types of errors', arguments);\n\t }\n\t return;\n\t }\n\t var notice = makeNotice(err);\n\t if (!notice.name) {\n\t notice.name = 'window.onerror';\n\t }\n\t if (!notice.message) {\n\t notice.message = msg;\n\t }\n\t if (!notice.stack) {\n\t // Simulate v8 stack\n\t notice.stack = [notice.message, '\\n at ? (', url || 'unknown', ':', line || 0, ':', col || 0, ')'].join('');\n\t }\n\t client.addBreadcrumb((notice.name === 'window.onerror' || !notice.name) ? 'window.onerror' : \"window.onerror: \".concat(notice.name), {\n\t category: 'error',\n\t metadata: {\n\t name: notice.name,\n\t message: notice.message,\n\t stack: notice.stack\n\t }\n\t });\n\t if (client.config.enableUncaught) {\n\t client.notify(notice);\n\t }\n\t };\n\t return function (msg, url, line, col, err) {\n\t onerror(msg, url, line, col, err);\n\t if (typeof original === 'function') {\n\t return original.apply(_window, arguments);\n\t }\n\t return false;\n\t };\n\t });\n\t }\n\t };\n\t}\n\tonerror.onError = onError;\n\n\tvar onunhandledrejection = {};\n\n\tObject.defineProperty(onunhandledrejection, \"__esModule\", { value: true });\n\t/* eslint-disable prefer-rest-params */\n\tvar core_1$5 = src;\n\tvar instrument$3 = core_1$5.Util.instrument, globalThisOrWindow$5 = core_1$5.Util.globalThisOrWindow;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tfunction default_1$3(_window) {\n\t if (_window === void 0) { _window = globalThisOrWindow$5(); }\n\t return {\n\t load: function (client) {\n\t if (!client.config.enableUnhandledRejection) {\n\t return;\n\t }\n\t instrument$3(_window, 'onunhandledrejection', function (original) {\n\t // See https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event\n\t function onunhandledrejection(promiseRejectionEvent) {\n\t var _a;\n\t client.logger.debug('window.onunhandledrejection callback invoked', arguments);\n\t if (!client.config.enableUnhandledRejection) {\n\t return;\n\t }\n\t var reason = promiseRejectionEvent.reason;\n\t if (reason instanceof Error) {\n\t // simulate v8 stack\n\t // const fileName = reason.fileName || 'unknown'\n\t // const lineNumber = reason.lineNumber || 0\n\t var fileName = 'unknown';\n\t var lineNumber = 0;\n\t var stackFallback = \"\".concat(reason.message, \"\\n at ? (\").concat(fileName, \":\").concat(lineNumber, \")\");\n\t var stack = reason.stack || stackFallback;\n\t var err = {\n\t name: reason.name,\n\t message: \"UnhandledPromiseRejectionWarning: \".concat(reason),\n\t stack: stack\n\t };\n\t client.addBreadcrumb(\"window.onunhandledrejection: \".concat(err.name), {\n\t category: 'error',\n\t metadata: err\n\t });\n\t client.notify(err);\n\t return;\n\t }\n\t var message = typeof reason === 'string' ? reason : ((_a = JSON.stringify(reason)) !== null && _a !== void 0 ? _a : 'Unspecified reason');\n\t client.notify({\n\t name: 'window.onunhandledrejection',\n\t message: \"UnhandledPromiseRejectionWarning: \".concat(message)\n\t });\n\t }\n\t return function (promiseRejectionEvent) {\n\t onunhandledrejection(promiseRejectionEvent);\n\t if (typeof original === 'function') {\n\t original.apply(this, arguments);\n\t }\n\t };\n\t });\n\t }\n\t };\n\t}\n\tonunhandledrejection.default = default_1$3;\n\n\tvar breadcrumbs = {};\n\n\tObject.defineProperty(breadcrumbs, \"__esModule\", { value: true });\n\t/* eslint-disable prefer-rest-params */\n\tvar core_1$4 = src;\n\tvar util_1 = util;\n\tvar sanitize$1 = core_1$4.Util.sanitize, instrument$2 = core_1$4.Util.instrument, instrumentConsole = core_1$4.Util.instrumentConsole, globalThisOrWindow$4 = core_1$4.Util.globalThisOrWindow;\n\tfunction default_1$2(_window) {\n\t if (_window === void 0) { _window = globalThisOrWindow$4(); }\n\t return {\n\t load: function (client) {\n\t function breadcrumbsEnabled(type) {\n\t if (client.config.breadcrumbsEnabled === true) {\n\t return true;\n\t }\n\t if (type) {\n\t return client.config.breadcrumbsEnabled[type] === true;\n\t }\n\t return client.config.breadcrumbsEnabled !== false;\n\t }\n\t // Breadcrumbs: instrument console\n\t (function () {\n\t if (!breadcrumbsEnabled('console')) {\n\t return;\n\t }\n\t function inspectArray(obj) {\n\t if (!Array.isArray(obj)) {\n\t return '';\n\t }\n\t return obj.map(function (value) {\n\t try {\n\t return String(value);\n\t }\n\t catch (e) {\n\t return '[unknown]';\n\t }\n\t }).join(' ');\n\t }\n\t instrumentConsole(_window, function (level, args) {\n\t var message = inspectArray(args);\n\t var opts = {\n\t category: 'log',\n\t metadata: {\n\t level: level,\n\t arguments: sanitize$1(args, 3)\n\t }\n\t };\n\t client.addBreadcrumb(message, opts);\n\t });\n\t })();\n\t // Breadcrumbs: instrument click events\n\t (function () {\n\t if (!breadcrumbsEnabled('dom')) {\n\t return;\n\t }\n\t if (typeof _window.addEventListener !== 'function') {\n\t return;\n\t }\n\t _window.addEventListener('click', function (event) {\n\t var message, selector, text;\n\t try {\n\t message = (0, util_1.stringNameOfElement)(event.target);\n\t selector = (0, util_1.stringSelectorOfElement)(event.target);\n\t text = (0, util_1.stringTextOfElement)(event.target);\n\t }\n\t catch (e) {\n\t message = 'UI Click';\n\t selector = '[unknown]';\n\t text = '[unknown]';\n\t }\n\t // There's nothing to display\n\t if (message.length === 0) {\n\t return;\n\t }\n\t client.addBreadcrumb(message, {\n\t category: 'ui.click',\n\t metadata: {\n\t selector: selector,\n\t text: text,\n\t event: event\n\t }\n\t });\n\t }, _window.location ? true : false); // In CloudFlare workers useCapture must be false. window.location is a hacky way to detect it.\n\t })();\n\t // Breadcrumbs: instrument XMLHttpRequest\n\t (function () {\n\t if (!breadcrumbsEnabled('network')) {\n\t return;\n\t }\n\t // Some environments may not support XMLHttpRequest.\n\t if (typeof XMLHttpRequest === 'undefined') {\n\t return;\n\t }\n\t // -- On xhr.open: capture initial metadata\n\t instrument$2(XMLHttpRequest.prototype, 'open', function (original) {\n\t return function () {\n\t // eslint-disable-next-line @typescript-eslint/no-this-alias\n\t var xhr = this;\n\t var rawUrl = arguments[1];\n\t // in case of url being URL object (which is valid input) we need to stringify it\n\t var url = typeof rawUrl === 'string' ? rawUrl : String(rawUrl);\n\t var method = typeof arguments[0] === 'string' ? arguments[0].toUpperCase() : arguments[0];\n\t var message = \"\".concat(method, \" \").concat((0, util_1.localURLPathname)(url));\n\t this.__hb_xhr = {\n\t type: 'xhr',\n\t method: method,\n\t url: url,\n\t message: message\n\t };\n\t if (typeof original === 'function') {\n\t original.apply(xhr, arguments);\n\t }\n\t };\n\t });\n\t // -- On xhr.send: set up xhr.onreadystatechange to report breadcrumb\n\t instrument$2(XMLHttpRequest.prototype, 'send', function (original) {\n\t return function () {\n\t // eslint-disable-next-line @typescript-eslint/no-this-alias\n\t var xhr = this;\n\t function onreadystatechangeHandler() {\n\t if (xhr.readyState === 4) {\n\t var message = void 0;\n\t if (xhr.__hb_xhr) {\n\t xhr.__hb_xhr.status_code = xhr.status;\n\t message = xhr.__hb_xhr.message;\n\t delete xhr.__hb_xhr.message;\n\t }\n\t client.addBreadcrumb(message || 'XMLHttpRequest', {\n\t category: 'request',\n\t metadata: xhr.__hb_xhr\n\t });\n\t }\n\t }\n\t if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n\t instrument$2(xhr, 'onreadystatechange', function (original) {\n\t return function () {\n\t onreadystatechangeHandler();\n\t if (typeof original === 'function') {\n\t // eslint-disable-next-line prefer-rest-params\n\t original.apply(this, arguments);\n\t }\n\t };\n\t });\n\t }\n\t else {\n\t xhr.onreadystatechange = onreadystatechangeHandler;\n\t }\n\t if (typeof original === 'function') {\n\t // eslint-disable-next-line prefer-rest-params\n\t original.apply(xhr, arguments);\n\t }\n\t };\n\t });\n\t })();\n\t // Breadcrumbs: instrument fetch\n\t (function () {\n\t if (!breadcrumbsEnabled('network')) {\n\t return;\n\t }\n\t if (!(0, util_1.nativeFetch)()) {\n\t // Polyfills use XHR.\n\t return;\n\t }\n\t instrument$2(_window, 'fetch', function (original) {\n\t return function () {\n\t // eslint-disable-next-line prefer-rest-params\n\t var input = arguments[0];\n\t var method = 'GET';\n\t var url;\n\t if (typeof input === 'string') {\n\t url = input;\n\t }\n\t else if ('Request' in _window && input instanceof Request) {\n\t url = input.url;\n\t if (input.method) {\n\t method = input.method;\n\t }\n\t }\n\t else {\n\t url = String(input);\n\t }\n\t if (arguments[1] && arguments[1].method) {\n\t method = arguments[1].method;\n\t }\n\t if (typeof method === 'string') {\n\t method = method.toUpperCase();\n\t }\n\t // localURLPathname cant be constructed for CF workers due to reliance on \"document\".\n\t var message = \"\".concat(method, \" \").concat(typeof document === 'undefined' ? url : (0, util_1.localURLPathname)(url));\n\t var metadata = {\n\t type: 'fetch',\n\t method: method,\n\t url: url\n\t };\n\t return original\n\t .apply(this, arguments)\n\t .then(function (response) {\n\t metadata['status_code'] = response.status;\n\t client.addBreadcrumb(message, {\n\t category: 'request',\n\t metadata: metadata\n\t });\n\t return response;\n\t })\n\t .catch(function (error) {\n\t client.addBreadcrumb('fetch error', {\n\t category: 'error',\n\t metadata: metadata\n\t });\n\t throw error;\n\t });\n\t };\n\t });\n\t })();\n\t // Breadcrumbs: instrument navigation\n\t (function () {\n\t if (!breadcrumbsEnabled('navigation')) {\n\t return;\n\t }\n\t if (_window.location == null) {\n\t // Most likely in a CF worker, we should be listening to fetch requests instead.\n\t return;\n\t }\n\t // The last known href of the current page\n\t var lastHref = _window.location.href;\n\t function recordUrlChange(from, to) {\n\t lastHref = to;\n\t client.addBreadcrumb('Page changed', {\n\t category: 'navigation',\n\t metadata: {\n\t from: from,\n\t to: to\n\t }\n\t });\n\t }\n\t if (typeof addEventListener === 'function') {\n\t addEventListener('popstate', function (_event) {\n\t recordUrlChange(lastHref, _window.location.href);\n\t });\n\t }\n\t if (typeof _window.history === 'undefined') {\n\t return;\n\t }\n\t // https://developer.mozilla.org/en-US/docs/Web/API/History/pushState\n\t // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n\t function historyWrapper(original) {\n\t return function () {\n\t var url = arguments.length > 2 ? arguments[2] : undefined;\n\t if (url) {\n\t recordUrlChange(lastHref, String(url));\n\t }\n\t return original.apply(this, arguments);\n\t };\n\t }\n\t instrument$2(_window.history, 'pushState', historyWrapper);\n\t instrument$2(_window.history, 'replaceState', historyWrapper);\n\t })();\n\t }\n\t };\n\t}\n\tbreadcrumbs.default = default_1$2;\n\n\tvar timers = {};\n\n\tObject.defineProperty(timers, \"__esModule\", { value: true });\n\t/* eslint-disable prefer-rest-params */\n\tvar core_1$3 = src;\n\tvar instrument$1 = core_1$3.Util.instrument, globalThisOrWindow$3 = core_1$3.Util.globalThisOrWindow;\n\tfunction default_1$1(_window) {\n\t if (_window === void 0) { _window = globalThisOrWindow$3(); }\n\t return {\n\t load: function (client) {\n\t // Wrap timers\n\t (function () {\n\t function instrumentTimer(wrapOpts) {\n\t return function (original) {\n\t // See https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout\n\t return function (func, delay) {\n\t if (typeof func === 'function') {\n\t var args_1 = Array.prototype.slice.call(arguments, 2);\n\t func = client.__wrap(func, wrapOpts);\n\t return original(function () {\n\t func.apply(void 0, args_1);\n\t }, delay);\n\t }\n\t else {\n\t return original(func, delay);\n\t }\n\t };\n\t };\n\t }\n\t instrument$1(_window, 'setTimeout', instrumentTimer({ component: 'setTimeout' }));\n\t instrument$1(_window, 'setInterval', instrumentTimer({ component: 'setInterval' }));\n\t })();\n\t }\n\t };\n\t}\n\ttimers.default = default_1$1;\n\n\tvar event_listeners = {};\n\n\tObject.defineProperty(event_listeners, \"__esModule\", { value: true });\n\tvar core_1$2 = src;\n\tvar instrument = core_1$2.Util.instrument, globalThisOrWindow$2 = core_1$2.Util.globalThisOrWindow;\n\tfunction default_1(_window) {\n\t if (_window === void 0) { _window = globalThisOrWindow$2(); }\n\t return {\n\t load: function (client) {\n\t // Wrap event listeners\n\t // Event targets borrowed from bugsnag-js:\n\t // See https://github.com/bugsnag/bugsnag-js/blob/d55af916a4d3c7757f979d887f9533fe1a04cc93/src/bugsnag.js#L542\n\t var targets = ['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'];\n\t targets.forEach(function (prop) {\n\t var prototype = _window[prop] && _window[prop].prototype;\n\t if (prototype && Object.prototype.hasOwnProperty.call(prototype, 'addEventListener')) {\n\t instrument(prototype, 'addEventListener', function (original) {\n\t var wrapOpts = { component: \"\".concat(prop, \".prototype.addEventListener\") };\n\t // See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n\t return function (type, listener, useCapture, wantsUntrusted) {\n\t try {\n\t if (listener && listener.handleEvent != null) {\n\t listener.handleEvent = client.__wrap(listener.handleEvent, wrapOpts);\n\t }\n\t }\n\t catch (e) {\n\t // Ignore 'Permission denied to access property \"handleEvent\"' errors.\n\t client.logger.error(e);\n\t }\n\t return original.call(this, type, client.__wrap(listener, wrapOpts), useCapture, wantsUntrusted);\n\t };\n\t });\n\t instrument(prototype, 'removeEventListener', function (original) {\n\t return function (type, listener, useCapture, wantsUntrusted) {\n\t original.call(this, type, listener, useCapture, wantsUntrusted);\n\t return original.call(this, type, client.__wrap(listener), useCapture, wantsUntrusted);\n\t };\n\t });\n\t }\n\t });\n\t }\n\t };\n\t}\n\tevent_listeners.default = default_1;\n\n\tvar transport = {};\n\n\tvar __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {\n\t function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n\t return new (P || (P = Promise))(function (resolve, reject) {\n\t function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n\t function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n\t function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n\t step((generator = generator.apply(thisArg, _arguments || [])).next());\n\t });\n\t};\n\tvar __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {\n\t var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n\t return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n\t function verb(n) { return function (v) { return step([n, v]); }; }\n\t function step(op) {\n\t if (f) throw new TypeError(\"Generator is already executing.\");\n\t while (_) try {\n\t if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n\t if (y = 0, t) op = [op[0] & 2, t.value];\n\t switch (op[0]) {\n\t case 0: case 1: t = op; break;\n\t case 4: _.label++; return { value: op[1], done: false };\n\t case 5: _.label++; y = op[1]; op = [0]; continue;\n\t case 7: op = _.ops.pop(); _.trys.pop(); continue;\n\t default:\n\t if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n\t if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n\t if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n\t if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n\t if (t[2]) _.ops.pop();\n\t _.trys.pop(); continue;\n\t }\n\t op = body.call(thisArg, _);\n\t } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n\t if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n\t }\n\t};\n\tObject.defineProperty(transport, \"__esModule\", { value: true });\n\ttransport.BrowserTransport = void 0;\n\tvar core_1$1 = src;\n\tvar sanitize = core_1$1.Util.sanitize, globalThisOrWindow$1 = core_1$1.Util.globalThisOrWindow;\n\t/**\n\t * Helper function to get typesafe Object.entries()\n\t * https://twitter.com/mattpocockuk/status/1502264005251018754?lang=en\n\t */\n\tfunction objectEntries(obj) {\n\t return Object.entries(obj);\n\t}\n\tvar BrowserTransport = /** @class */ (function () {\n\t function BrowserTransport(headers) {\n\t if (headers === void 0) { headers = {}; }\n\t this.headers = {};\n\t this.headers = headers;\n\t }\n\t BrowserTransport.prototype.defaultHeaders = function () {\n\t return this.headers;\n\t };\n\t BrowserTransport.prototype.send = function (options, payload) {\n\t return __awaiter(this, void 0, void 0, function () {\n\t var headerArray, headers, requestInit, response, body;\n\t return __generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t headerArray = options.headers ? objectEntries(options.headers) : [];\n\t headers = this.defaultHeaders();\n\t headerArray.forEach(function (_a) {\n\t var key = _a[0], value = _a[1];\n\t if (key != null && value != null) {\n\t headers[String(key)] = String(value);\n\t }\n\t });\n\t requestInit = {\n\t method: options.method,\n\t headers: headers\n\t };\n\t // GET methods cannot have a body.\n\t if (options.method === 'POST' && payload) {\n\t requestInit.body = typeof payload === 'string' ? payload : JSON.stringify(sanitize(payload, options.maxObjectDepth));\n\t }\n\t return [4 /*yield*/, globalThisOrWindow$1().fetch(options.endpoint, requestInit)];\n\t case 1:\n\t response = _a.sent();\n\t return [4 /*yield*/, response.text()];\n\t case 2:\n\t body = _a.sent();\n\t return [2 /*return*/, Promise.resolve({ statusCode: response.status, body: body })];\n\t }\n\t });\n\t });\n\t };\n\t return BrowserTransport;\n\t}());\n\ttransport.BrowserTransport = BrowserTransport;\n\n\tvar feedbackForm = {};\n\n\tvar __assign = (commonjsGlobal && commonjsGlobal.__assign) || function () {\n\t __assign = Object.assign || function(t) {\n\t for (var s, i = 1, n = arguments.length; i < n; i++) {\n\t s = arguments[i];\n\t for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n\t t[p] = s[p];\n\t }\n\t return t;\n\t };\n\t return __assign.apply(this, arguments);\n\t};\n\tObject.defineProperty(feedbackForm, \"__esModule\", { value: true });\n\tfeedbackForm.BrowserFeedbackForm = void 0;\n\tvar core_1 = src;\n\tvar globalThisOrWindow = core_1.Util.globalThisOrWindow;\n\tvar BrowserFeedbackForm = /** @class */ (function () {\n\t function BrowserFeedbackForm(config, logger, scriptUrl) {\n\t this.config = config;\n\t this.logger = logger;\n\t this.scriptUrl = scriptUrl;\n\t }\n\t /* ROLLUP_STRIP_CODE_CHROME_EXTENSION_START */\n\t BrowserFeedbackForm.prototype.appendUserFeedbackTag = function (window, options) {\n\t if (options === void 0) { options = {}; }\n\t var script = window.document.createElement('script');\n\t script.setAttribute('src', this.scriptUrl);\n\t script.setAttribute('async', 'true');\n\t if (options.onLoad) {\n\t script.onload = options.onLoad;\n\t }\n\t (commonjsGlobal.document.head || commonjsGlobal.document.body).appendChild(script);\n\t };\n\t BrowserFeedbackForm.prototype.isUserFeedbackUrlAlreadyVisible = function () {\n\t var global = globalThisOrWindow();\n\t var feedbackScriptUrl = this.scriptUrl;\n\t for (var i = 0; i < global.document.scripts.length; i++) {\n\t var script = global.document.scripts[i];\n\t if (script.src === feedbackScriptUrl) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t /* ROLLUP_STRIP_CODE_CHROME_EXTENSION_END */\n\t BrowserFeedbackForm.prototype.show = function (lastNoticeId, options) {\n\t if (options === void 0) { options = {}; }\n\t if (typeof (this.appendUserFeedbackTag) !== 'function') {\n\t this.logger.debug('Feedback form is not available in this environment');\n\t return;\n\t }\n\t if (!this.config || !this.config.apiKey) {\n\t this.logger.debug('Client not initialized');\n\t return;\n\t }\n\t if (!lastNoticeId) {\n\t this.logger.debug(\"Can't show user feedback form without a notice already reported\");\n\t return;\n\t }\n\t var global = globalThisOrWindow();\n\t if (typeof global.document === 'undefined') {\n\t this.logger.debug('global.document is undefined. Cannot attach script');\n\t return;\n\t }\n\t if (this.isUserFeedbackUrlAlreadyVisible()) {\n\t this.logger.debug('User feedback form is already visible');\n\t return;\n\t }\n\t global['honeybadgerUserFeedbackOptions'] = __assign(__assign({}, options), { apiKey: this.config.apiKey, endpoint: this.config.userFeedbackEndpoint, noticeId: lastNoticeId });\n\t this.appendUserFeedbackTag(global, options);\n\t };\n\t return BrowserFeedbackForm;\n\t}());\n\tfeedbackForm.BrowserFeedbackForm = BrowserFeedbackForm;\n\n\t(function (exports) {\n\t\tvar __extends = (commonjsGlobal && commonjsGlobal.__extends) || (function () {\n\t\t var extendStatics = function (d, b) {\n\t\t extendStatics = Object.setPrototypeOf ||\n\t\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n\t\t function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n\t\t return extendStatics(d, b);\n\t\t };\n\t\t return function (d, b) {\n\t\t if (typeof b !== \"function\" && b !== null)\n\t\t throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\t\t extendStatics(d, b);\n\t\t function __() { this.constructor = d; }\n\t\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n\t\t };\n\t\t})();\n\t\tvar __assign = (commonjsGlobal && commonjsGlobal.__assign) || function () {\n\t\t __assign = Object.assign || function(t) {\n\t\t for (var s, i = 1, n = arguments.length; i < n; i++) {\n\t\t s = arguments[i];\n\t\t for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n\t\t t[p] = s[p];\n\t\t }\n\t\t return t;\n\t\t };\n\t\t return __assign.apply(this, arguments);\n\t\t};\n\t\tvar __awaiter = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {\n\t\t function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n\t\t return new (P || (P = Promise))(function (resolve, reject) {\n\t\t function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n\t\t function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n\t\t function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n\t\t step((generator = generator.apply(thisArg, _arguments || [])).next());\n\t\t });\n\t\t};\n\t\tvar __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {\n\t\t var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n\t\t return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n\t\t function verb(n) { return function (v) { return step([n, v]); }; }\n\t\t function step(op) {\n\t\t if (f) throw new TypeError(\"Generator is already executing.\");\n\t\t while (_) try {\n\t\t if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n\t\t if (y = 0, t) op = [op[0] & 2, t.value];\n\t\t switch (op[0]) {\n\t\t case 0: case 1: t = op; break;\n\t\t case 4: _.label++; return { value: op[1], done: false };\n\t\t case 5: _.label++; y = op[1]; op = [0]; continue;\n\t\t case 7: op = _.ops.pop(); _.trys.pop(); continue;\n\t\t default:\n\t\t if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n\t\t if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n\t\t if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n\t\t if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n\t\t if (t[2]) _.ops.pop();\n\t\t _.trys.pop(); continue;\n\t\t }\n\t\t op = body.call(thisArg, _);\n\t\t } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n\t\t if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n\t\t }\n\t\t};\n\t\tvar __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n\t\t return (mod && mod.__esModule) ? mod : { \"default\": mod };\n\t\t};\n\t\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t\texports.Types = exports.getUserFeedbackScriptUrl = void 0;\n\t\tvar core_1 = src;\n\t\tvar util_1 = util;\n\t\tvar onerror_1 = onerror;\n\t\tvar onunhandledrejection_1 = __importDefault(onunhandledrejection);\n\t\tvar breadcrumbs_1 = __importDefault(breadcrumbs);\n\t\tvar timers_1 = __importDefault(timers);\n\t\tvar event_listeners_1 = __importDefault(event_listeners);\n\t\tvar transport_1 = transport;\n\t\tvar feedback_form_1 = feedbackForm;\n\t\tvar merge = core_1.Util.merge, filter = core_1.Util.filter, objectIsExtensible = core_1.Util.objectIsExtensible, globalThisOrWindow = core_1.Util.globalThisOrWindow;\n\t\tvar getProjectRoot = function () {\n\t\t var global = globalThisOrWindow();\n\t\t var projectRoot = '';\n\t\t // Cloudflare workers do not have access to location API.\n\t\t if (global.location != null) {\n\t\t projectRoot = global.location.protocol + '//' + global.location.host;\n\t\t }\n\t\t return projectRoot;\n\t\t};\n\t\tvar getUserFeedbackScriptUrl = function (version) {\n\t\t var majorMinorVersion = version.split('.').slice(0, 2).join('.');\n\t\t return \"https://js.honeybadger.io/v\".concat(majorMinorVersion, \"/honeybadger-feedback-form.js\");\n\t\t};\n\t\texports.getUserFeedbackScriptUrl = getUserFeedbackScriptUrl;\n\t\tvar Honeybadger = /** @class */ (function (_super) {\n\t\t __extends(Honeybadger, _super);\n\t\t function Honeybadger(opts) {\n\t\t if (opts === void 0) { opts = {}; }\n\t\t var _this = _super.call(this, __assign({ userFeedbackEndpoint: 'https://api.honeybadger.io/v2/feedback', async: true, maxErrors: null, projectRoot: getProjectRoot() }, opts), new transport_1.BrowserTransport({\n\t\t 'User-Agent': userAgent(),\n\t\t })) || this;\n\t\t /** @internal */\n\t\t _this.__errorsSent = 0;\n\t\t /** @internal */\n\t\t _this.__lastWrapErr = undefined;\n\t\t /** @internal */\n\t\t _this.__lastNoticeId = undefined;\n\t\t /** @internal */\n\t\t _this.__beforeNotifyHandlers = [\n\t\t function (notice) {\n\t\t if (_this.__exceedsMaxErrors()) {\n\t\t _this.logger.debug('Dropping notice: max errors exceeded', notice);\n\t\t return false;\n\t\t }\n\t\t if (notice && !notice.url && typeof document !== 'undefined') {\n\t\t notice.url = document.URL;\n\t\t }\n\t\t _this.__incrementErrorsCount();\n\t\t return true;\n\t\t }\n\t\t ];\n\t\t _this.__afterNotifyHandlers = [\n\t\t function (_error, notice) {\n\t\t if (notice) {\n\t\t _this.__lastNoticeId = notice.id;\n\t\t }\n\t\t }\n\t\t ];\n\t\t return _this;\n\t\t }\n\t\t Honeybadger.prototype.configure = function (opts) {\n\t\t if (opts === void 0) { opts = {}; }\n\t\t return _super.prototype.configure.call(this, opts);\n\t\t };\n\t\t Honeybadger.prototype.resetMaxErrors = function () {\n\t\t return (this.__errorsSent = 0);\n\t\t };\n\t\t Honeybadger.prototype.factory = function (opts) {\n\t\t // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t var clone = new Honeybadger(opts);\n\t\t clone.setNotifier(this.getNotifier());\n\t\t return clone;\n\t\t };\n\t\t Honeybadger.prototype.checkIn = function (_id) {\n\t\t throw new Error('Honeybadger.checkIn() is not supported on the browser');\n\t\t };\n\t\t Honeybadger.prototype.showUserFeedbackForm = function (options) {\n\t\t if (options === void 0) { options = {}; }\n\t\t return __awaiter(this, void 0, void 0, function () {\n\t\t var form;\n\t\t return __generator(this, function (_a) {\n\t\t form = new feedback_form_1.BrowserFeedbackForm(this.config, this.logger, this.getUserFeedbackSubmitUrl());\n\t\t form.show(this.__lastNoticeId, options);\n\t\t return [2 /*return*/];\n\t\t });\n\t\t });\n\t\t };\n\t\t Honeybadger.prototype.getUserFeedbackSubmitUrl = function () {\n\t\t return (0, exports.getUserFeedbackScriptUrl)(this.getVersion());\n\t\t };\n\t\t /** @internal */\n\t\t Honeybadger.prototype.__buildPayload = function (notice) {\n\t\t var cgiData = {\n\t\t HTTP_USER_AGENT: undefined,\n\t\t HTTP_REFERER: undefined,\n\t\t HTTP_COOKIE: undefined\n\t\t };\n\t\t if (typeof navigator !== 'undefined' && navigator.userAgent) {\n\t\t cgiData.HTTP_USER_AGENT = navigator.userAgent;\n\t\t }\n\t\t if (typeof document !== 'undefined' && document.referrer.match(/\\S/)) {\n\t\t cgiData.HTTP_REFERER = document.referrer;\n\t\t }\n\t\t var cookiesObject;\n\t\t if (typeof notice.cookies === 'string') {\n\t\t cookiesObject = (0, util_1.decodeCookie)(notice.cookies);\n\t\t }\n\t\t else {\n\t\t cookiesObject = notice.cookies;\n\t\t }\n\t\t if (cookiesObject) {\n\t\t cgiData.HTTP_COOKIE = (0, util_1.encodeCookie)(filter(cookiesObject, this.config.filters));\n\t\t }\n\t\t var payload = _super.prototype.__buildPayload.call(this, notice);\n\t\t payload.request.cgi_data = merge(cgiData, payload.request.cgi_data);\n\t\t return payload;\n\t\t };\n\t\t /**\n\t\t * wrap always returns the same function so that callbacks can be removed via\n\t\t * removeEventListener.\n\t\t * @internal\n\t\t */\n\t\t Honeybadger.prototype.__wrap = function (f, opts) {\n\t\t if (opts === void 0) { opts = {}; }\n\t\t var func = f;\n\t\t if (!opts) {\n\t\t opts = {};\n\t\t }\n\t\t try {\n\t\t if (typeof func !== 'function') {\n\t\t return func;\n\t\t }\n\t\t if (!objectIsExtensible(func)) {\n\t\t return func;\n\t\t }\n\t\t if (!func.___hb) {\n\t\t // eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\t var client_1 = this;\n\t\t func.___hb = function () {\n\t\t if (util_1.preferCatch) {\n\t\t try {\n\t\t // eslint-disable-next-line prefer-rest-params\n\t\t return func.apply(this, arguments);\n\t\t }\n\t\t catch (err) {\n\t\t if (client_1.__lastWrapErr === err) {\n\t\t throw (err);\n\t\t }\n\t\t client_1.__lastWrapErr = err;\n\t\t (0, onerror_1.ignoreNextOnError)();\n\t\t client_1.addBreadcrumb(opts.component ? \"\".concat(opts.component, \": \").concat(err.name) : err.name, {\n\t\t category: 'error',\n\t\t metadata: {\n\t\t message: err.message,\n\t\t name: err.name,\n\t\t stack: err.stack\n\t\t }\n\t\t });\n\t\t if (client_1.config.enableUncaught) {\n\t\t client_1.notify(err);\n\t\t }\n\t\t throw (err);\n\t\t }\n\t\t }\n\t\t else {\n\t\t // eslint-disable-next-line prefer-rest-params\n\t\t return func.apply(this, arguments);\n\t\t }\n\t\t };\n\t\t }\n\t\t func.___hb.___hb = func.___hb;\n\t\t return func.___hb;\n\t\t }\n\t\t catch (_e) {\n\t\t return func;\n\t\t }\n\t\t };\n\t\t /** @internal */\n\t\t Honeybadger.prototype.__incrementErrorsCount = function () {\n\t\t return this.__errorsSent++;\n\t\t };\n\t\t /** @internal */\n\t\t Honeybadger.prototype.__exceedsMaxErrors = function () {\n\t\t return this.config.maxErrors && this.__errorsSent >= this.config.maxErrors;\n\t\t };\n\t\t return Honeybadger;\n\t\t}(core_1.Client));\n\t\tvar NOTIFIER = {\n\t\t name: '@honeybadger-io/js',\n\t\t url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/js',\n\t\t version: '6.11.0'\n\t\t};\n\t\tvar userAgent = function () {\n\t\t if (typeof navigator !== 'undefined') {\n\t\t return \"Honeybadger JS Browser Client \".concat(NOTIFIER.version, \"; \").concat(navigator.userAgent);\n\t\t }\n\t\t return \"Honeybadger JS Browser Client \".concat(NOTIFIER.version, \"; n/a; n/a\");\n\t\t};\n\t\tvar singleton = new Honeybadger({\n\t\t __plugins: [\n\t\t (0, onerror_1.onError)(),\n\t\t (0, onunhandledrejection_1.default)(),\n\t\t (0, timers_1.default)(),\n\t\t (0, event_listeners_1.default)(),\n\t\t (0, breadcrumbs_1.default)(),\n\t\t core_1.Plugins.events(),\n\t\t ]\n\t\t});\n\t\tsingleton.setNotifier(NOTIFIER);\n\t\tvar core_2 = src;\n\t\tObject.defineProperty(exports, \"Types\", { enumerable: true, get: function () { return core_2.Types; } });\n\t\texports.default = singleton;\n\t\t\n\t} (browser$1));\n\n\tvar browser = /*@__PURE__*/getDefaultExportFromCjs(browser$1);\n\n\treturn browser;\n\n}));\n//# sourceMappingURL=honeybadger.js.map\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Packages\nimport throttle from 'underscore/modules/throttle.js';\n\n/**\n * This manages all of the scenes registered to it and fires off the\n * appropriate callbacks for each scene depending on scroll position.\n */\nexport class ScrollController {\n constructor() {\n this.sceneRegistry = [];\n this.sceneIdCounter = 0;\n this.windowHeight = window.innerHeight;\n this.running = false;\n\n window.addEventListener('resize', throttle(() => {\n this.updateSceneData();\n }, 100));\n\n window.addEventListener('scroll-scene-resized', this.updateSceneData);\n }\n\n start() {\n if (!this.running) {\n this.running = true;\n this.animationLoop();\n }\n }\n\n stop() {\n this.running = false;\n }\n\n animationLoop() {\n if (this.running && this.sceneRegistry.length > 0) {\n requestAnimationFrame(() => {\n this.handleScrollUpdates();\n });\n }\n }\n\n // Update values for each in sceneRegistry\n updateSceneData = () => {\n this.windowHeight = window.innerHeight;\n this.sceneRegistry.forEach((registered) => {\n registered.data = registered.scene.getData();\n });\n };\n\n // Add scene(s) to the ScrollController.\n // Accepts a single scene or array of multiple scenes.\n addScene(sceneInput) {\n const scenes = sceneInput.length ? sceneInput : [sceneInput];\n\n const newRegistrations = scenes.map((scene) => {\n // The data we retrieve from ScrollScene.getData() provides the\n // controller with the bounds of the scene.\n const sceneData = {\n scene: scene,\n data: scene.getData(),\n id: this.generateSceneId(),\n };\n\n // TODO what if someone pushes an already existing scene?\n this.sceneRegistry.push(sceneData);\n return sceneData;\n });\n\n this.start();\n\n return newRegistrations;\n }\n\n removeScene(sceneInput) {\n const scenes = sceneInput.length ? sceneInput : [sceneInput];\n const sceneIds = scenes.map((s) => s.id);\n const remainingScenes = [];\n const deletedScenes = [];\n\n this.sceneRegistry.forEach((registeredScene) => {\n if (sceneIds.includes(registeredScene.id)) {\n deletedScenes.push(registeredScene);\n } else {\n remainingScenes.push(registeredScene);\n }\n });\n\n this.sceneRegistry = remainingScenes;\n return deletedScenes;\n }\n\n generateSceneId() {\n this.sceneIdCounter += 1;\n return this.sceneIdCounter;\n }\n\n // Run this function on each requestAnimationFrame to update with the\n // provided scroll behavior for the user's position on the page.\n handleScrollUpdates() {\n let currentScroll = window.scrollY;\n\n // Clamp currentScroll to 0 minimum to make Safari and Chrome more consistent\n if (currentScroll < 0) currentScroll = 0;\n\n this.sceneRegistry.forEach((registered) => {\n const { data, scene } = registered;\n\n // Where the scene is currently relative to the registered scene\n const scrollProgress = (currentScroll - data.startPoint) / data.distance;\n\n // Clamp progress to [0,1] to prevent from firing too often\n const clampedProgress =\n scrollProgress < 0 ? 0 : scrollProgress > 1 ? 1 : scrollProgress;\n\n // Apply the easing function\n const easedProgress = scene.ease(clampedProgress);\n\n if (\n currentScroll >= data.topLoadPoint &&\n currentScroll <= data.bottomLoadPoint\n ) {\n scene._onLoad(easedProgress);\n } else {\n scene._onUnload(easedProgress);\n }\n\n scene._onProgress(easedProgress);\n\n // If the element is onscreen\n if (\n currentScroll >= data.visibilityPoint &&\n currentScroll <= data.bottom\n ) {\n scene._onElementEnter(easedProgress);\n\n // If scene is in progress\n if (\n currentScroll >= data.startPoint &&\n currentScroll <= data.endPoint\n ) {\n scene._onSceneBegin(easedProgress);\n }\n } else {\n // If the element leaves the viewport\n scene._onElementLeave(easedProgress);\n }\n\n // If outside bounds of scene\n if (currentScroll < data.startPoint || currentScroll > data.endPoint) {\n scene._onSceneEnd(easedProgress);\n }\n });\n\n this.animationLoop();\n }\n}\n","// packages\nimport defaults from 'underscore/modules/defaults.js';\n\nconst DEFAULT_EASING_FUNCTION = (t) => t;\n\n/*\n * ScrollScene\n *\n * This creates an individual scene, which progresses based on\n * the DOM element's position relative to the viewport.\n *\n */\nexport class ScrollScene {\n constructor(elementOrId, options = {}) {\n // Options include:\n // sceneStart, sceneEnd (Number)\n // This is the position relative to the elementID's start or end\n // position when the scene should begin or end. It's measured in\n // viewport height, where 1 is a full viewport's height.\n //\n // The default values (1,1) indicate that the scene begins once the top\n // of the element reaches the top of the viewport and ends once the\n // bottom of the reaches the bottom of the viewport.\n //\n // Some other examples:\n //\n // (0, 1) - Begins at one pixel of visibility and ends when all are\n // visible.\n // (0, 0) - Begins at one pixel and ends once the last pixel is gone.\n // (0.5, 1) - Begins when element is halfway on screen and ends when it\n // is fully on screen\n //\n // This certainly could be more intuitive!\n const fullOptions = defaults(options, {\n sceneStart: 1,\n sceneEnd: 1,\n easingFunction: DEFAULT_EASING_FUNCTION,\n });\n\n let sceneElement;\n\n if (typeof elementOrId === 'string') {\n sceneElement = document.getElementById(elementOrId.replace('#', ''));\n } else {\n sceneElement = elementOrId;\n }\n\n this.sceneElement = sceneElement;\n this.states = {};\n this.listeners = {};\n this.options = fullOptions;\n }\n\n // Get position attributes for the scene. This is called by the controller\n // on every resize.\n getData() {\n const bounds = this.sceneElement.getBoundingClientRect();\n const sceneData = {};\n\n sceneData.top = bounds.top + window.scrollY;\n sceneData.height = bounds.height;\n sceneData.bottom = sceneData.top + sceneData.height;\n\n // Where the scene's DOM element enters the viewport\n sceneData.visibilityPoint = sceneData.top - window.innerHeight;\n\n // Where the scene begins relative to the document\n sceneData.startPoint =\n sceneData.visibilityPoint + window.innerHeight * this.options.sceneStart;\n\n // Where the scene ends relative to the document\n sceneData.endPoint =\n sceneData.bottom - window.innerHeight * this.options.sceneEnd;\n\n // Total scroll distance of the scene\n sceneData.distance = sceneData.endPoint - sceneData.startPoint;\n\n // Point at which the element should start loading any needed assets\n const loadMargin = 2 * window.innerHeight;\n sceneData.topLoadPoint = sceneData.startPoint - loadMargin;\n sceneData.bottomLoadPoint = sceneData.endPoint + loadMargin;\n\n return sceneData;\n }\n\n ease(t) {\n return this.options.easingFunction(t);\n }\n\n // Register scroll events where the user has provided callbacks.\n // Supported events: start, end, progress, visible, notvisible\n on(eventName, callback) {\n this.listeners[eventName] = callback;\n return this;\n }\n\n // Helper function to call an event callback with arbitrary number of arguments\n _fireIfUserDefined(eventName, ...args) {\n if (this.listeners[eventName]) {\n this.listeners[eventName](...args);\n }\n }\n\n // Noop functions for subclass use\n progress() {}\n start() {}\n end() {}\n visible() {}\n notvisible() {}\n load() {}\n unload() {}\n\n _onProgress(progress) {\n if (this.states['last-progress'] !== progress) {\n this.states['last-progress'] = progress;\n this.progress(progress);\n this._fireIfUserDefined('progress', progress);\n }\n }\n\n _onSceneBegin(progress) {\n if (this.states['scene-started'] !== 'started') {\n this.states['scene-started'] = 'started';\n this.start(progress);\n this._fireIfUserDefined('start', progress);\n }\n }\n\n _onSceneEnd(progress) {\n if (this.states['scene-started'] !== 'ended') {\n this.states['scene-started'] = 'ended';\n this.end(progress);\n this._fireIfUserDefined('end', progress);\n }\n }\n\n _onElementEnter(progress) {\n if (this.states['visible'] !== 'visible') {\n this.states['visible'] = 'visible';\n this.visible(progress);\n this._fireIfUserDefined('visible', progress);\n }\n }\n\n _onElementLeave(progress) {\n if (this.states['visible'] !== 'notvisible') {\n this.states['visible'] = 'notvisible';\n this.notvisible(progress);\n this._fireIfUserDefined('notvisible', progress);\n }\n }\n\n _onLoad(progress) {\n if (this.states['loaded'] !== 'loaded') {\n this.states['loaded'] = 'loaded';\n this.load(progress);\n this._fireIfUserDefined('load', progress);\n }\n }\n\n _onUnload(progress) {\n if (this.states['loaded'] && this.states['loaded'] !== 'unloaded') {\n this.states['loaded'] = 'unloaded';\n this.load(progress);\n this._fireIfUserDefined('unload', progress);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","// Current version.\nexport var VERSION = '1.13.6';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import restArguments from './restArguments.js';\nimport now from './now.js';\n\n// When a sequence of calls of the returned function ends, the argument\n// function is triggered. The end of a sequence is defined by the `wait`\n// parameter. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n"],"names":["isFunction","nodelist","document","childNodes","Int8Array","obj","restArguments","func","startIndex","length","Math","max","arguments","rest","Array","index","call","this","args","apply","Date","now","getTime","wait","setTimeout","has","key","createAssigner","keysFunc","defaults","Object","source","keys","l","i","nanoid","size","id","bytes","crypto","getRandomValues","Uint8Array","collectNonEnumProps","hash","contains","push","emulatedSet","nonEnumIdx","constructor","proto","prototype","prop","module","exports","commonjsGlobal","globalThis","window","g","self","getDefaultExportFromCjs","x","__esModule","hasOwnProperty","getAugmentedNamespace","n","f","default","a","defineProperty","value","forEach","k","d","getOwnPropertyDescriptor","get","enumerable","browser$1","src","events","util$1","UNKNOWN_FUNCTION","parse","stackString","split","reduce","stack","line","parseResult","parseChrome","parseWinjs","parseGecko","parseNode","parseJSC","chromeRe","chromeEvalRe","parts","exec","isNative","indexOf","isEval","submatch","file","methodName","lineNumber","column","winjsRe","geckoRe","geckoEvalRe","javaScriptCoreRe","nodeRe","require$$0$1","freeze","__proto__","__createBinding","create","o","m","k2","undefined","desc","writable","configurable","__setModuleDefault","v","__importStar","mod","result","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","__generator","body","y","t","_","label","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","logDeprecatedMethod","globalThisOrWindow","isBrowserConfig","clone","formatCGIData","filterUrl","filter","generateStackTrace","endpoint","instrumentConsole","instrument","isErrorObject","makeNotice","logger","sanitize","shallowClone","runAfterNotifyHandlers","runBeforeNotifyHandlers","getSourceForBacktrace","getCauses","calculateBacktraceShift","DEFAULT_BACKTRACE_SHIFT","makeBacktrace","objectIsExtensible","objectIsEmpty","mergeNotice","merge","stackTraceParser","obj1","obj2","notice1","notice2","context","isExtensible","filterHbSourceCode","console","backtrace","map","method","number","splice","err","debug","isFrameFromHbSourceCode","frame","hasHbFile","hasHbMethod","toLowerCase","shift","nextFrame","notice","cause","causes","class","name","message","getSourceFileHandler","trace","fileContent","_a","getSourceCodeSnippet","handlers","results","len","handlerResult","handler","error","afterNotify","maxDepth","seenObjects","seen","canSerialize","typeOfObj","test","serialize","depth","toString","isArray","safeSerialize","ret","concat","client","log","_i","config","unshift","info","warn","thing","String","Error","object","replacement","original","__hb_original","_e","_consoleAlreadyInstrumented","listeners","_window","level","slice","listener","Function","base","path","trim","replace","maxStackSize","curr","callee","RegExp","$1","caller","join","filters","is","newObj","filterMatch","type","klass","url","query","pair","vars","prefix","formattedVars","formattedKey","toUpperCase","JSON","stringify","fileData","sourceRadius","lines","end","async","_deprecatedMethodCalls","oldMethod","newMethod","callCountThreshold","msg","util_1$4","default_1$4","shouldReloadOnConfigure","load","sendEventsToInsights","eventsEnabled","data","severity","event","store","GlobalStore","util_1$3","contents","breadcrumbsLimit","available","getContents","setContext","addBreadcrumb","breadcrumb","breadcrumbs","clear","run","callback","throttled_events_logger","NdJson","item","require$$0","CONFIG","apiKey","environment","hostname","projectRoot","component","action","revision","reportData","breadcrumbsEnabled","maxBreadcrumbs","maxObjectDepth","developmentEnvironments","tags","enableUncaught","enableUnhandledRejection","afterUncaught","__plugins","__assign$2","__assign","assign","s","p","__awaiter$2","__generator$2","ThrottledEventsLogger","json_nd_1","util_1$2","defaults_1$1","transport","queue","isProcessing","originalLogger","configure","opts","payload","processQueue","flushAsync","send","_this","catch","eventsData","makeHttpRequest","headers","_b","_c","_d","__assign$1","__awaiter$1","__generator$1","Client","util_1$1","store_1","throttled_events_logger_1","defaults_1","TAG_SEPARATOR","NOT_BLANK","__pluginsLoaded","__store","__beforeNotifyHandlers","__afterNotifyHandlers","__notifier","version","__initStore","__transport","__eventsLogger","getVersion","getNotifier","setNotifier","notifier","loadPlugins","plugin","beforeNotify","resetContext","notify","noticeable","extra","sourceCodeData","preConditionsResult","__runPreconditions","__send","_err","notifyAsync","partialNotice","originalAfterNotify","noticeTags","__constructTags","contextTags","configTags","uniqueTags","metadata","category","timestamp","toISOString","logEvent","event_type","ts","__getBreadcrumbs","__getContext","__developmentMode","includes","__buildPayload","cgiData","enabled","trail","__breadcrumbs","fingerprint","request","cgi_data","params","session","server","project_root","environment_name","time","toUTCString","details","tag","preConditionError","beforeNotifyResult","some","allSettled","status","originalBacktrace","__getSourceFileHandler","sourcePerTrace","res","statusCode","uuid","types","__exportStar","__importDefault","Plugins","Util","Types","events_1","client_1","util","preferCatch","encodeCookie","decodeCookie","localURLPathname","parseURL","nativeFetch","stringTextOfElement","stringSelectorOfElement","stringNameOfElement","globalThisOrWindow$7","element","tagName","stringClassNames","getAttribute","className","attrName","attr","siblings","getSiblings","parentNode","parentName","text","textContent","innerText","truncate","global","fetch","sandbox","createElement","style","display","head","appendChild","contentWindow","removeChild","match","protocol","host","pathname","parsed","parsedDocURL","URL","string","cookies","nodes","siblings_1","node","substr","atob","ErrorEvent","colno","onerror","onError","ignoreNextOnError","currentTimeout","core_1$6","instrument$4","globalThisOrWindow$6","ignoreOnError","clearTimeout","col","onunhandledrejection","core_1$5","instrument$3","globalThisOrWindow$5","default_1$3","promiseRejectionEvent","reason","fileName","stackFallback","core_1$4","util_1","sanitize$1","instrument$2","globalThisOrWindow$4","default_1$2","inspectArray","addEventListener","selector","target","location","XMLHttpRequest","xhr","rawUrl","__hb_xhr","onreadystatechangeHandler","readyState","status_code","onreadystatechange","input","Request","response","lastHref","href","_event","recordUrlChange","history","historyWrapper","from","to","timers","core_1$3","instrument$1","globalThisOrWindow$3","default_1$1","instrumentTimer","wrapOpts","delay","args_1","__wrap","event_listeners","core_1$2","globalThisOrWindow$2","default_1","useCapture","wantsUntrusted","handleEvent","BrowserTransport","core_1$1","globalThisOrWindow$1","objectEntries","entries","defaultHeaders","options","headerArray","requestInit","feedbackForm","BrowserFeedbackForm","scriptUrl","appendUserFeedbackTag","script","setAttribute","onLoad","onload","isUserFeedbackUrlAlreadyVisible","feedbackScriptUrl","scripts","show","lastNoticeId","userFeedbackEndpoint","noticeId","extendStatics","__extends","b","setPrototypeOf","__","getUserFeedbackScriptUrl","core_1","onerror_1","onunhandledrejection_1","breadcrumbs_1","timers_1","event_listeners_1","transport_1","feedback_form_1","getProjectRoot","majorMinorVersion","Honeybadger","_super","maxErrors","userAgent","__errorsSent","__lastWrapErr","__lastNoticeId","__exceedsMaxErrors","__incrementErrorsCount","_error","resetMaxErrors","factory","checkIn","_id","showUserFeedbackForm","getUserFeedbackSubmitUrl","cookiesObject","HTTP_USER_AGENT","HTTP_REFERER","HTTP_COOKIE","navigator","referrer","___hb","NOTIFIER","singleton","core_2","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesAllowlist","search","tel","email","password","date","month","week","datetime","isValidFocusTarget","el","nodeName","classList","focusTriggersKeyboardModality","readOnly","isContentEditable","addFocusVisibleClass","add","removeFocusVisibleClass","hasAttribute","remove","removeAttribute","onKeyDown","metaKey","altKey","ctrlKey","activeElement","onPointerDown","onFocus","onBlur","onVisibilityChange","visibilityState","addInitialPointerMoveListeners","onInitialPointerMove","removeInitialPointerMoveListeners","removeEventListener","nodeType","Node","DOCUMENT_FRAGMENT_NODE","DOCUMENT_NODE","documentElement","CustomEvent","createEvent","initCustomEvent","dispatchEvent","isObject","ScrollController","sceneRegistry","sceneIdCounter","windowHeight","innerHeight","running","throttle","updateSceneData","start","animationLoop","stop","requestAnimationFrame","handleScrollUpdates","registered","scene","getData","addScene","sceneInput","newRegistrations","sceneData","generateSceneId","removeScene","sceneIds","remainingScenes","deletedScenes","registeredScene","currentScroll","scrollY","scrollProgress","startPoint","distance","clampedProgress","easedProgress","ease","topLoadPoint","bottomLoadPoint","_onLoad","_onUnload","_onProgress","visibilityPoint","bottom","_onElementEnter","endPoint","_onSceneBegin","_onElementLeave","_onSceneEnd","DEFAULT_EASING_FUNCTION","ScrollScene","elementOrId","fullOptions","sceneStart","sceneEnd","easingFunction","sceneElement","getElementById","states","bounds","getBoundingClientRect","top","height","loadMargin","on","eventName","_fireIfUserDefined","progress","visible","notvisible","unload","allKeys","timeout","previous","later","leading","throttled","_now","remaining","trailing","cancel","VERSION","root","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","isNaN","_isFinite","isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","pow","tagTester","debounce","immediate","passed","debounced","_args"],"sourceRoot":""}