{"version":3,"file":"js/7528-30e14200add6ce86e879.js","mappings":"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","sources":["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/@themarshallproject/scrolling/lib/scroll-service.js","webpack://endrun/./node_modules/@themarshallproject/scrolling/lib/scroll-scene.js","webpack://endrun/./node_modules/nanoid/index.browser.js","webpack://endrun/./node_modules/underscore/modules/_collectNonEnumProps.js","webpack://endrun/./node_modules/underscore/modules/_createAssigner.js","webpack://endrun/./node_modules/underscore/modules/_has.js","webpack://endrun/./node_modules/underscore/modules/_setup.js","webpack://endrun/./node_modules/underscore/modules/_tagTester.js","webpack://endrun/./node_modules/underscore/modules/allKeys.js","webpack://endrun/./node_modules/underscore/modules/debounce.js","webpack://endrun/./node_modules/underscore/modules/defaults.js","webpack://endrun/./node_modules/underscore/modules/delay.js","webpack://endrun/./node_modules/underscore/modules/isFunction.js","webpack://endrun/./node_modules/underscore/modules/isObject.js","webpack://endrun/./node_modules/underscore/modules/now.js","webpack://endrun/./node_modules/underscore/modules/restArguments.js","webpack://endrun/./node_modules/underscore/modules/throttle.js"],"sourcesContent":["(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","// 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","export { 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.log(alphabet.length - 1) / Math.LN2)) - 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\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, random)\nexport let nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\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","// 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","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","// 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 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 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","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';\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 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","// 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","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\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","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"],"names":["module","exports","commonjsGlobal","globalThis","window","g","self","getDefaultExportFromCjs","x","__esModule","Object","prototype","hasOwnProperty","call","getAugmentedNamespace","n","f","default","a","apply","this","arguments","defineProperty","value","keys","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","push","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","length","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","obj","isExtensible","filterHbSourceCode","console","backtrace","map","method","number","splice","err","debug","isFrameFromHbSourceCode","frame","hasHbFile","hasHbMethod","toLowerCase","shift","i","nextFrame","notice","cause","causes","class","name","message","getSourceFileHandler","index","trace","fileContent","_a","getSourceCodeSnippet","handlers","len","handler","error","afterNotify","maxDepth","seenObjects","seen","canSerialize","typeOfObj","test","serialize","depth","toString","Array","isArray","safeSerialize","ret","concat","log","args","_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","key","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","source","payload","__buildPayload","send","headers","res","statusCode","uuid","id","catch","notifyAsync","partialNotice","originalAfterNotify","noticeTags","__constructTags","contextTags","configTags","uniqueTags","item","timestamp","Date","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","document","createElement","style","display","head","appendChild","contentWindow","removeChild","func","parseURL","match","protocol","host","pathname","localURLPathname","parsed","parsedDocURL","URL","decodeCookie","string","encodeCookie","cookies","nodes","childNodes","siblings_1","node","substr","preferCatch","atob","ErrorEvent","colno","onerror","onError","ignoreNextOnError","currentTimeout","core_1$5","util_1$5","instrument$4","ignoreOnError","clearTimeout","setTimeout","_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","prop","listener","useCapture","wantsUntrusted","handleEvent","BrowserTransport","util_1","objectEntries","entries","options","headerArray","requestInit","extendStatics","__extends","b","setPrototypeOf","__","constructor","__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","contains","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","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","defaults","sceneStart","sceneEnd","easingFunction","sceneElement","getElementById","states","listeners","bounds","getBoundingClientRect","top","height","loadMargin","on","eventName","_fireIfUserDefined","progress","visible","notvisible","unload","nanoid","size","crypto","getRandomValues","Uint8Array","byte","collectNonEnumProps","hash","l","emulatedSet","nonEnumIdx","proto","createAssigner","keysFunc","has","VERSION","root","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","isNaN","_isFinite","isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","Math","pow","tagTester","allKeys","debounce","wait","immediate","timeout","previous","later","passed","debounced","_args","cancel","isFunction","nodelist","Int8Array","isObject","now","getTime","restArguments","startIndex","max","rest","leading","throttled","_now","remaining","trailing"],"sourceRoot":""}