{"version":3,"file":"js/7995-51e76b1cd222b65135de.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 client = {};\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 = /*@__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.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = 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\tvar stackTraceParser = __importStar(require$$0);\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 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 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 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 if (handler(notice) === false) {\n\t\t result = false;\n\t\t }\n\t\t }\n\t\t return result;\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\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\n\t} (util$1));\n\n\tvar store = {};\n\n\tObject.defineProperty(store, \"__esModule\", { value: true });\n\tstore.GlobalStore = void 0;\n\tvar util_1$7 = 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$7.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 __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(client, \"__esModule\", { value: true });\n\tclient.Client = void 0;\n\tvar util_1$6 = util$1;\n\tvar store_1 = store;\n\tvar notifier = {\n\t name: 'honeybadger-js',\n\t url: 'https://github.com/honeybadger-io/honeybadger-js',\n\t version: '5.2.0'\n\t};\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.__pluginsExecuted = false;\n\t this.__store = null;\n\t this.__beforeNotifyHandlers = [];\n\t this.__afterNotifyHandlers = [];\n\t this.config = __assign({ apiKey: null, endpoint: 'https://api.honeybadger.io', environment: null, hostname: null, projectRoot: null, component: null, action: null, revision: null, reportData: null, breadcrumbsEnabled: true, maxBreadcrumbs: 40, maxObjectDepth: 8, logger: console, developmentEnvironments: ['dev', 'development', 'test'], debug: false, tags: null, enableUncaught: true, enableUnhandledRejection: true, afterUncaught: function () { return true; }, filters: ['creditcard', 'password'], __plugins: [] }, opts);\n\t this.__initStore();\n\t this.__transport = transport;\n\t this.logger = (0, util_1$6.logger)(this);\n\t }\n\t Client.prototype.getVersion = function () {\n\t return notifier.version;\n\t };\n\t Client.prototype.configure = function (opts) {\n\t var _this = this;\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 if (!this.__pluginsExecuted) {\n\t this.__pluginsExecuted = true;\n\t this.config.__plugins.forEach(function (plugin) { return plugin.load(_this); });\n\t }\n\t return this;\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 preConditionError = null;\n\t var notice = this.makeNotice(noticeable, name, extra);\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 (!preConditionError && 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 (!preConditionError && 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 (!preConditionError && !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 // 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$6.shallowClone)(trace); }) : null;\n\t var beforeNotifyResult = (0, util_1$6.runBeforeNotifyHandlers)(notice, this.__beforeNotifyHandlers);\n\t if (!preConditionError && !beforeNotifyResult) {\n\t this.logger.debug('skipping error report: beforeNotify handlers returned false', notice);\n\t preConditionError = new Error('beforeNotify handlers returned false');\n\t }\n\t if (preConditionError) {\n\t (0, util_1$6.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, preConditionError);\n\t return false;\n\t }\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 var breadcrumbs = this.__store.getContents('breadcrumbs');\n\t notice.__breadcrumbs = this.config.breadcrumbsEnabled ? breadcrumbs : [];\n\t (0, util_1$6.getSourceForBacktrace)(sourceCodeData, this.__getSourceFileHandler)\n\t .then(function (sourcePerTrace) {\n\t sourcePerTrace.forEach(function (source, index) {\n\t notice.backtrace[index].source = source;\n\t });\n\t var payload = _this.__buildPayload(notice);\n\t _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$6.endpoint)(_this.config.endpoint, '/v1/notices/js'),\n\t maxObjectDepth: _this.config.maxObjectDepth,\n\t logger: _this.logger,\n\t }, payload)\n\t .then(function (res) {\n\t if (res.statusCode !== 201) {\n\t (0, util_1$6.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;\n\t }\n\t var uuid = JSON.parse(res.body).id;\n\t (0, util_1$6.runAfterNotifyHandlers)((0, util_1$6.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 })\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$6.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, err);\n\t });\n\t });\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$6.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$6.mergeNotice)(notice, name);\n\t }\n\t if (typeof extra === 'object' && extra !== null) {\n\t notice = (0, util_1$6.mergeNotice)(notice, extra);\n\t }\n\t if ((0, util_1$6.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$6.merge)(notice, {\n\t name: notice.name || 'Error',\n\t context: (0, util_1$6.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$6.generateStackTrace)();\n\t notice.backtrace = (0, util_1$6.makeBacktrace)(notice.stack, true, this.logger);\n\t }\n\t else {\n\t notice.backtrace = (0, util_1$6.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$6.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 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$6.filter)(notice.headers, this.config.filters) || {};\n\t var cgiData = (0, util_1$6.filter)(__assign(__assign({}, notice.cgiData), (0, util_1$6.formatCGIData)(headers, 'HTTP_')), this.config.filters);\n\t return {\n\t notifier: 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$6.getCauses)(notice, this.logger),\n\t },\n\t request: {\n\t url: (0, util_1$6.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$6.filter)(notice.params, this.config.filters) || {},\n\t session: (0, util_1$6.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 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\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t\texports.Util = exports.Types = exports.Client = void 0;\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\t\n\t} (src));\n\n\tvar util = {};\n\n\tObject.defineProperty(util, \"__esModule\", { value: true });\n\tutil.globalThisOrWindow = util.preferCatch = util.encodeCookie = util.decodeCookie = util.localURLPathname = util.parseURL = util.nativeFetch = util.stringTextOfElement = util.stringSelectorOfElement = util.stringNameOfElement = void 0;\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();\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 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\t/** globalThis has fairly good support. But just in case, lets check its defined.\n\t * @see {https://caniuse.com/?search=globalThis}\n\t */\n\tfunction globalThisOrWindow() {\n\t if (typeof globalThis !== 'undefined') {\n\t return globalThis;\n\t }\n\t if (typeof self !== 'undefined') {\n\t return self;\n\t }\n\t return window;\n\t}\n\tutil.globalThisOrWindow = globalThisOrWindow;\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$5 = src;\n\tvar util_1$5 = util;\n\tvar instrument$4 = core_1$5.Util.instrument, makeNotice = core_1$5.Util.makeNotice;\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 = (0, util_1$5.globalThisOrWindow)(); }\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$4 = src;\n\tvar util_1$4 = util;\n\tvar instrument$3 = core_1$4.Util.instrument;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tfunction default_1$3(_window) {\n\t if (_window === void 0) { _window = (0, util_1$4.globalThisOrWindow)(); }\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$3 = src;\n\tvar util_1$3 = util;\n\tvar sanitize$1 = core_1$3.Util.sanitize, instrument$2 = core_1$3.Util.instrument;\n\tfunction default_1$2(_window) {\n\t if (_window === void 0) { _window = (0, util_1$3.globalThisOrWindow)(); }\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 ['debug', 'info', 'warn', 'error', 'log'].forEach(function (level) {\n\t instrument$2(_window.console, level, function (original) {\n\t return function () {\n\t var args = Array.prototype.slice.call(arguments);\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 if (typeof original === 'function') {\n\t Function.prototype.apply.call(original, _window.console, arguments);\n\t }\n\t };\n\t });\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 _window.addEventListener('click', function (event) {\n\t var message, selector, text;\n\t try {\n\t message = (0, util_1$3.stringNameOfElement)(event.target);\n\t selector = (0, util_1$3.stringSelectorOfElement)(event.target);\n\t text = (0, util_1$3.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.locaiton 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 // -- 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 url = arguments[1];\n\t var method = typeof arguments[0] === 'string' ? arguments[0].toUpperCase() : arguments[0];\n\t var message = \"\".concat(method, \" \").concat((0, util_1$3.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$3.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$3.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 // 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$2 = src;\n\tvar util_1$2 = util;\n\tvar instrument$1 = core_1$2.Util.instrument;\n\tfunction default_1$1(_window) {\n\t if (_window === void 0) { _window = (0, util_1$2.globalThisOrWindow)(); }\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$1 = src;\n\tvar util_1$1 = util;\n\tvar instrument = core_1$1.Util.instrument;\n\tfunction default_1(_window) {\n\t if (_window === void 0) { _window = (0, util_1$1.globalThisOrWindow)(); }\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 = src;\n\tvar util_1 = util;\n\tvar sanitize = core_1.Util.sanitize;\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() {\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 = {};\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') {\n\t requestInit.body = payload ? JSON.stringify(sanitize(payload, options.maxObjectDepth)) : undefined;\n\t }\n\t return [4 /*yield*/, (0, util_1.globalThisOrWindow)().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\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 merge = core_1.Util.merge, filter = core_1.Util.filter, objectIsExtensible = core_1.Util.objectIsExtensible;\n\t\tvar getProjectRoot = function () {\n\t\t var global = (0, util_1.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()) || 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 return true;\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 return new Honeybadger(opts);\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 global, script;\n\t\t return __generator(this, function (_a) {\n\t\t if (!this.config || !this.config.apiKey) {\n\t\t this.logger.debug('Client not initialized');\n\t\t return [2 /*return*/];\n\t\t }\n\t\t if (!this.__lastNoticeId) {\n\t\t this.logger.debug(\"Can't show user feedback form without a notice already reported\");\n\t\t return [2 /*return*/];\n\t\t }\n\t\t global = (0, util_1.globalThisOrWindow)();\n\t\t if (typeof global.document === 'undefined') {\n\t\t this.logger.debug('global.document is undefined. Cannot attach script');\n\t\t return [2 /*return*/];\n\t\t }\n\t\t if (this.isUserFeedbackScriptUrlAlreadyVisible()) {\n\t\t this.logger.debug('User feedback form is already visible');\n\t\t return [2 /*return*/];\n\t\t }\n\t\t global['honeybadgerUserFeedbackOptions'] = __assign(__assign({}, options), { apiKey: this.config.apiKey, endpoint: this.config.userFeedbackEndpoint, noticeId: this.__lastNoticeId });\n\t\t script = global.document.createElement('script');\n\t\t script.setAttribute('src', this.getUserFeedbackSubmitUrl());\n\t\t script.setAttribute('async', 'true');\n\t\t if (options.onLoad) {\n\t\t script.onload = options.onLoad;\n\t\t }\n\t\t (global.document.head || global.document.body).appendChild(script);\n\t\t return [2 /*return*/];\n\t\t });\n\t\t });\n\t\t };\n\t\t Honeybadger.prototype.isUserFeedbackScriptUrlAlreadyVisible = function () {\n\t\t var global = (0, util_1.globalThisOrWindow)();\n\t\t var feedbackScriptUrl = this.getUserFeedbackSubmitUrl();\n\t\t for (var i = 0; i < global.document.scripts.length; i++) {\n\t\t var script = global.document.scripts[i];\n\t\t if (script.src === feedbackScriptUrl) {\n\t\t return true;\n\t\t }\n\t\t }\n\t\t return false;\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 cgiData.HTTP_USER_AGENT = navigator.userAgent;\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 core_2 = src;\n\t\tObject.defineProperty(exports, \"Types\", { enumerable: true, get: function () { return core_2.Types; } });\n\t\texports.default = 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 ]\n\t\t});\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","client","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","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","isBrowserConfig","clone","formatCGIData","filterUrl","filter","generateStackTrace","endpoint","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","len","handler","error","afterNotify","maxDepth","seenObjects","seen","canSerialize","typeOfObj","test","serialize","depth","toString","isArray","safeSerialize","ret","concat","log","_i","config","unshift","info","warn","thing","String","Error","object","replacement","original","__hb_original","_e","base","path","trim","replace","maxStackSize","curr","callee","RegExp","$1","caller","join","filters","is","newObj","filterMatch","type","klass","slice","url","query","pair","vars","prefix","formattedVars","formattedKey","toUpperCase","JSON","stringify","fileData","sourceRadius","lines","end","async","store","GlobalStore","util_1$7","contents","breadcrumbsLimit","available","getContents","setContext","addBreadcrumb","breadcrumb","breadcrumbs","clear","run","callback","__assign","assign","s","p","Client","util_1$6","store_1","notifier","version","TAG_SEPARATOR","NOT_BLANK","opts","transport","__pluginsExecuted","__store","__beforeNotifyHandlers","__afterNotifyHandlers","apiKey","environment","hostname","projectRoot","component","action","revision","reportData","breadcrumbsEnabled","maxBreadcrumbs","maxObjectDepth","developmentEnvironments","tags","enableUncaught","enableUnhandledRejection","afterUncaught","__plugins","__initStore","__transport","getVersion","configure","_this","plugin","load","beforeNotify","resetContext","notify","noticeable","extra","preConditionError","__developmentMode","sourceCodeData","beforeNotifyResult","category","metadata","__breadcrumbs","__getSourceFileHandler","sourcePerTrace","payload","__buildPayload","send","headers","res","statusCode","uuid","catch","notifyAsync","partialNotice","originalAfterNotify","noticeTags","__constructTags","contextTags","configTags","uniqueTags","item","timestamp","toISOString","__getBreadcrumbs","__getContext","includes","cgiData","enabled","trail","fingerprint","request","cgi_data","params","session","server","project_root","environment_name","time","toUTCString","details","tag","types","__exportStar","Util","Types","client_1","util","stringNameOfElement","element","tagName","stringClassNames","getAttribute","className","attrName","attr","siblings","getSiblings","stringSelectorOfElement","parentNode","parentName","stringTextOfElement","text","textContent","innerText","truncate","nativeFetch","global","globalThisOrWindow","fetch","sandbox","createElement","style","display","head","appendChild","contentWindow","removeChild","parseURL","match","protocol","host","pathname","localURLPathname","parsed","parsedDocURL","URL","decodeCookie","string","encodeCookie","cookies","nodes","siblings_1","node","substr","preferCatch","atob","ErrorEvent","colno","onerror","onError","ignoreNextOnError","currentTimeout","core_1$5","util_1$5","instrument$4","ignoreOnError","clearTimeout","_window","msg","col","onunhandledrejection","util_1$4","instrument$3","default_1$3","promiseRejectionEvent","reason","fileName","stackFallback","core_1$3","util_1$3","sanitize$1","instrument$2","default_1$2","inspectArray","level","Function","addEventListener","event","selector","target","location","XMLHttpRequest","xhr","__hb_xhr","onreadystatechangeHandler","readyState","status_code","status","onreadystatechange","input","Request","response","lastHref","href","_event","recordUrlChange","history","historyWrapper","from","to","timers","util_1$2","instrument$1","default_1$1","instrumentTimer","wrapOpts","delay","args_1","__wrap","event_listeners","util_1$1","default_1","listener","useCapture","wantsUntrusted","handleEvent","BrowserTransport","util_1","objectEntries","entries","options","headerArray","requestInit","extendStatics","__extends","b","setPrototypeOf","__","__importDefault","getUserFeedbackScriptUrl","core_1","onerror_1","onunhandledrejection_1","breadcrumbs_1","timers_1","event_listeners_1","transport_1","getProjectRoot","majorMinorVersion","Honeybadger","_super","userFeedbackEndpoint","maxErrors","__errorsSent","__lastWrapErr","__lastNoticeId","__exceedsMaxErrors","__incrementErrorsCount","_error","resetMaxErrors","factory","checkIn","_id","showUserFeedbackForm","script","isUserFeedbackScriptUrlAlreadyVisible","noticeId","setAttribute","getUserFeedbackSubmitUrl","onLoad","onload","feedbackScriptUrl","scripts","cookiesObject","HTTP_USER_AGENT","HTTP_REFERER","HTTP_COOKIE","navigator","userAgent","referrer","___hb","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","data","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","listeners","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":""}