@shgysk8zer0/polyfills 0.4.13 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/all.min.js +10 -10
- package/all.min.js.map +1 -1
- package/assets/url-pattern.js +1 -1
- package/browser.min.js +10 -10
- package/browser.min.js.map +1 -1
- package/node.cjs +2 -2
- package/node.min.js +2 -2
- package/node.min.js.map +1 -1
- package/package.json +4 -3
package/browser.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.min.js","sources":["assets/dedent.js","globalThis.js","string.js","deprefixer.js","object.js","map.js","array.js","utils.js","symbols.js","assets/url-pattern.js","function.js","url.js","number.js","iterator.js","math.js","streams.js","secure-context.js","assets/utility.js","assets/Lock.js","assets/LockManager.js","assets/error.js","locks.js","abort.js","share.js","appBadge.js","navigator.js","performance.js","errors.js","match-media.js","promise.js","assets/TextEncoder.js","assets/TextDecoder.js","textEncoder.js","crypto.js","assets/CookieStore.js","node_modules/@aegisjsproject/trusted-types/trusted-types.js","animation.js","node_modules/@aegisjsproject/trusted-types/harden.js","assets/adoptedStylesheets.js","methods/dom.js","CSSStyleSheet.js","Document.js","ShadowRoot.js","aom.js","node_modules/@aegisjsproject/sanitizer/namespaces.js","node_modules/@aegisjsproject/sanitizer/config-utils.js","node_modules/@aegisjsproject/sanitizer/config/global.js","node_modules/@aegisjsproject/sanitizer/config/html.js","node_modules/@aegisjsproject/sanitizer/config/svg.js","node_modules/@aegisjsproject/sanitizer/config/mathml.js","node_modules/@aegisjsproject/sanitizer/config/base.js","node_modules/@aegisjsproject/sanitizer/config/complete.js","node_modules/@aegisjsproject/sanitizer/sanitize.js","node_modules/@aegisjsproject/sanitizer/trust.js","command.js","node_modules/@aegisjsproject/sanitizer/polyfill.js","element.js","set.js","weakMap.js","window.js","assets/Scheduler.js","scheduler.js","elementInternals.js","Record.js","blob.js","request.js","response.js","Tuple.js","JSON.js","regexp.js","close-watcher.js"],"sourcesContent":["function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar dedent_umd$1 = {exports: {}};\n\nvar dedent_umd = dedent_umd$1.exports;\n\nvar hasRequiredDedent_umd;\n\nfunction requireDedent_umd () {\n\tif (hasRequiredDedent_umd) return dedent_umd$1.exports;\n\thasRequiredDedent_umd = 1;\n\t(function (module, exports) {\n\t\t(function (global, factory) {\n\t\t module.exports = factory() ;\n\t\t})(dedent_umd, (function () {\n\t\t const cache = new WeakMap();\n\t\t const newline = /(\\n|\\r\\n?|\\u2028|\\u2029)/g;\n\t\t const leadingWhitespace = /^\\s*/;\n\t\t const nonWhitespace = /\\S/;\n\t\t const slice = Array.prototype.slice;\n\t\t const zero = '0'.charCodeAt(0);\n\t\t const nine = '9'.charCodeAt(0);\n\t\t const lowerA = 'a'.charCodeAt(0);\n\t\t const lowerF = 'f'.charCodeAt(0);\n\t\t const upperA = 'A'.charCodeAt(0);\n\t\t const upperF = 'F'.charCodeAt(0);\n\t\t function dedent(arg) {\n\t\t if (typeof arg === 'string') {\n\t\t return process([arg])[0];\n\t\t }\n\t\t if (typeof arg === 'function') {\n\t\t return function () {\n\t\t const args = slice.call(arguments);\n\t\t args[0] = processTemplateStringsArray(args[0]);\n\t\t return arg.apply(this, args);\n\t\t };\n\t\t }\n\t\t const strings = processTemplateStringsArray(arg);\n\t\t // TODO: This is just `String.cooked`: https://tc39.es/proposal-string-cooked/\n\t\t let s = getCooked(strings, 0);\n\t\t for (let i = 1; i < strings.length; i++) {\n\t\t s += arguments[i] + getCooked(strings, i);\n\t\t }\n\t\t return s;\n\t\t }\n\t\t function getCooked(strings, index) {\n\t\t const str = strings[index];\n\t\t if (str === undefined)\n\t\t throw new TypeError(`invalid cooked string at index ${index}`);\n\t\t return str;\n\t\t }\n\t\t function processTemplateStringsArray(strings) {\n\t\t const cached = cache.get(strings);\n\t\t if (cached)\n\t\t return cached;\n\t\t const raw = process(strings.raw);\n\t\t const cooked = raw.map(cook);\n\t\t Object.defineProperty(cooked, 'raw', {\n\t\t value: Object.freeze(raw),\n\t\t });\n\t\t Object.freeze(cooked);\n\t\t cache.set(strings, cooked);\n\t\t return cooked;\n\t\t }\n\t\t function process(strings) {\n\t\t // splitQuasis is an array of arrays. The inner array is contains text content lines on the\n\t\t // even indices, and the newline char that ends the text content line on the odd indices.\n\t\t // In the first array, the inner array's 0 index is the opening line of the template literal.\n\t\t // In all other arrays, the inner array's 0 index is the continuation of the line directly after a\n\t\t // template expression.\n\t\t //\n\t\t // Eg, in the following case:\n\t\t //\n\t\t // ```\n\t\t // String.dedent`\n\t\t // first\n\t\t // ${expression} second\n\t\t // third\n\t\t // `\n\t\t // ```\n\t\t //\n\t\t // We expect the following splitQuasis:\n\t\t //\n\t\t // ```\n\t\t // [\n\t\t // [\"\", \"\\n\", \" first\", \"\\n\", \" \"],\n\t\t // [\" second\", \"\\n\", \" third\", \"\\n\", \"\"],\n\t\t // ]\n\t\t // ```\n\t\t const splitQuasis = strings.map((quasi) => quasi.split(newline));\n\t\t let common;\n\t\t for (let i = 0; i < splitQuasis.length; i++) {\n\t\t const lines = splitQuasis[i];\n\t\t // The first split is the static text starting at the opening line until the first template\n\t\t // expression (or the end of the template if there are no expressions).\n\t\t const firstSplit = i === 0;\n\t\t // The last split is all the static text after the final template expression until the closing\n\t\t // line. If there are no template expressions, then the first split is also the last split.\n\t\t const lastSplit = i + 1 === splitQuasis.length;\n\t\t // The opening line must be empty (it very likely is) and it must not contain a template\n\t\t // expression. The opening line's trailing newline char is removed.\n\t\t if (firstSplit) {\n\t\t // Length > 1 ensures there is a newline, and there is not a template expression.\n\t\t if (lines.length === 1 || lines[0].length > 0) {\n\t\t throw new Error('invalid content on opening line');\n\t\t }\n\t\t // Clear the captured newline char.\n\t\t lines[1] = '';\n\t\t }\n\t\t // The closing line may only contain whitespace and must not contain a template expression. The\n\t\t // closing line and its preceding newline are removed.\n\t\t if (lastSplit) {\n\t\t // Length > 1 ensures there is a newline, and there is not a template expression.\n\t\t if (lines.length === 1 || nonWhitespace.test(lines[lines.length - 1])) {\n\t\t throw new Error('invalid content on closing line');\n\t\t }\n\t\t // Clear the captured newline char, and the whitespace on the closing line.\n\t\t lines[lines.length - 2] = '';\n\t\t lines[lines.length - 1] = '';\n\t\t }\n\t\t // In the first spit, the index 0 is the opening line (which must be empty by now), and in all\n\t\t // other splits, its the content trailing the template expression (and so can't be part of\n\t\t // leading whitespace).\n\t\t // Every odd index is the captured newline char, so we'll skip and only process evens.\n\t\t for (let j = 2; j < lines.length; j += 2) {\n\t\t const text = lines[j];\n\t\t // If we are on the last line of this split, and we are not processing the last split (which\n\t\t // is after all template expressions), then this line contains a template expression.\n\t\t const lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit;\n\t\t // leadingWhitespace is guaranteed to match something, but it could be 0 chars.\n\t\t const leading = leadingWhitespace.exec(text)[0];\n\t\t // Empty lines do not affect the common indentation, and whitespace only lines are emptied\n\t\t // (and also don't affect the comon indentation).\n\t\t if (!lineContainsTemplateExpression && leading.length === text.length) {\n\t\t lines[j] = '';\n\t\t continue;\n\t\t }\n\t\t common = commonStart(leading, common);\n\t\t }\n\t\t }\n\t\t const min = common ? common.length : 0;\n\t\t return splitQuasis.map((lines) => {\n\t\t let quasi = lines[0];\n\t\t for (let i = 1; i < lines.length; i += 2) {\n\t\t const newline = lines[i];\n\t\t const text = lines[i + 1];\n\t\t quasi += newline + text.slice(min);\n\t\t }\n\t\t return quasi;\n\t\t });\n\t\t }\n\t\t function commonStart(a, b) {\n\t\t if (b === undefined || a === b)\n\t\t return a;\n\t\t let i = 0;\n\t\t for (const len = Math.min(a.length, b.length); i < len; i++) {\n\t\t if (a[i] !== b[i])\n\t\t break;\n\t\t }\n\t\t return a.slice(0, i);\n\t\t }\n\t\t function cook(raw) {\n\t\t let out = '';\n\t\t let start = 0;\n\t\t // We need to find every backslash escape sequence, and cook the escape into a real char.\n\t\t let i = 0;\n\t\t while ((i = raw.indexOf('\\\\', i)) > -1) {\n\t\t out += raw.slice(start, i);\n\t\t // If the backslash is the last char of the string, then it was an invalid sequence.\n\t\t // This can't actually happen in a tagged template literal, but could happen if you manually\n\t\t // invoked the tag with an array.\n\t\t if (++i === raw.length)\n\t\t return undefined;\n\t\t const next = raw[i++];\n\t\t switch (next) {\n\t\t // Escaped control codes need to be individually processed.\n\t\t case 'b':\n\t\t out += '\\b';\n\t\t break;\n\t\t case 't':\n\t\t out += '\\t';\n\t\t break;\n\t\t case 'n':\n\t\t out += '\\n';\n\t\t break;\n\t\t case 'v':\n\t\t out += '\\v';\n\t\t break;\n\t\t case 'f':\n\t\t out += '\\f';\n\t\t break;\n\t\t case 'r':\n\t\t out += '\\r';\n\t\t break;\n\t\t // Escaped line terminators just skip the char.\n\t\t case '\\r':\n\t\t // Treat `\\r\\n` as a single terminator.\n\t\t if (i < raw.length && raw[i] === '\\n')\n\t\t ++i;\n\t\t // fall through\n\t\t case '\\n':\n\t\t case '\\u2028':\n\t\t case '\\u2029':\n\t\t break;\n\t\t // `\\0` is a null control char, but `\\0` followed by another digit is an illegal octal escape.\n\t\t case '0':\n\t\t if (isDigit(raw, i))\n\t\t return undefined;\n\t\t out += '\\0';\n\t\t break;\n\t\t // Hex escapes must contain 2 hex chars.\n\t\t case 'x': {\n\t\t const n = parseHex(raw, i, i + 2);\n\t\t if (n === -1)\n\t\t return undefined;\n\t\t i += 2;\n\t\t out += String.fromCharCode(n);\n\t\t break;\n\t\t }\n\t\t // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`.\n\t\t // The hex value must not overflow 0x10ffff.\n\t\t case 'u': {\n\t\t let n;\n\t\t if (i < raw.length && raw[i] === '{') {\n\t\t const end = raw.indexOf('}', ++i);\n\t\t if (end === -1)\n\t\t return undefined;\n\t\t n = parseHex(raw, i, end);\n\t\t i = end + 1;\n\t\t }\n\t\t else {\n\t\t n = parseHex(raw, i, i + 4);\n\t\t i += 4;\n\t\t }\n\t\t if (n === -1 || n > 0x10ffff)\n\t\t return undefined;\n\t\t out += String.fromCodePoint(n);\n\t\t break;\n\t\t }\n\t\t default:\n\t\t if (isDigit(next, 0))\n\t\t return undefined;\n\t\t out += next;\n\t\t }\n\t\t start = i;\n\t\t }\n\t\t return out + raw.slice(start);\n\t\t }\n\t\t function isDigit(str, index) {\n\t\t const c = str.charCodeAt(index);\n\t\t return c >= zero && c <= nine;\n\t\t }\n\t\t function parseHex(str, index, end) {\n\t\t if (end >= str.length)\n\t\t return -1;\n\t\t let n = 0;\n\t\t for (; index < end; index++) {\n\t\t const c = hexToInt(str.charCodeAt(index));\n\t\t if (c === -1)\n\t\t return -1;\n\t\t n = n * 16 + c;\n\t\t }\n\t\t return n;\n\t\t }\n\t\t function hexToInt(c) {\n\t\t if (c >= zero && c <= nine)\n\t\t return c - zero;\n\t\t if (c >= lowerA && c <= lowerF)\n\t\t return c - lowerA + 10;\n\t\t if (c >= upperA && c <= upperF)\n\t\t return c - upperA + 10;\n\t\t return -1;\n\t\t }\n\n\t\t return dedent;\n\n\t\t}));\n\t\t\n\t} (dedent_umd$1));\n\treturn dedent_umd$1.exports;\n}\n\n/* eslint-env node */\n\nvar dedent$1;\nvar hasRequiredDedent;\n\nfunction requireDedent () {\n\tif (hasRequiredDedent) return dedent$1;\n\thasRequiredDedent = 1;\n\t// This exists just to re-export dedent as a module in the codebase\n\tdedent$1 = requireDedent_umd();\n\treturn dedent$1;\n}\n\nvar dedentExports = requireDedent();\nvar dedent = /*@__PURE__*/getDefaultExportFromCjs(dedentExports);\n\nexport { dedent as default };\n","(function() {\n\t'use strict';\n\n\tif (typeof globalThis === 'undefined') {\n\t\t/* global global: true */\n\t\tif (typeof window !== 'undefined') {\n\t\t\tObject.defineProperty(Window.prototype, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: window,\n\t\t\t});\n\t\t} else if (typeof global !== 'undefined') {\n\t\t\tObject.defineProperty(global, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: global,\n\t\t\t});\n\t\t} else if (typeof self !== 'undefined') {\n\t\t\tObject.defineProperty(self, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: self,\n\t\t\t});\n\t\t} else {\n\t\t\tObject.defineProperty(this, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: this,\n\t\t\t});\n\t\t}\n\t}\n})();\n","import dedent from './assets/dedent.js';\n\nif (! (String.dedent instanceof Function)) {\n\tString.dedent = dedent;\n}\n","if (! ('crypto' in window) && 'msCrypto' in window) {\n\tglobalThis.crypto = globalThis.msCrypto;\n}\n\nif (!('Notification' in window)) {\n\tglobalThis.Notification = globalThis.notifications || globalThis.webkitNotifications || globalThis.oNotifications || globalThis.msNotifications || false;\n}\n\nif (!('doNotTrack' in navigator)) {\n\tnavigator.doNotTrack = globalThis.doNotTrack || navigator.msDoNotTrack || 'unspecified';\n}\n\nif (!('indexedDB' in window)) {\n\tglobalThis.indexedDB = globalThis.indexedDB || globalThis.mozIndexedDB || globalThis.webkitIndexedDB || globalThis.msIndexedDB || false;\n}\n\nif (!('hidden' in document)) {\n\tdocument.hidden = document.webkitHidden || document.msHidden || document.mozHidden || false;\n}\n\nif (!('visibilityState' in document)) {\n\tdocument.visibilityState = document.webkitVisibilityState || document.msVisibilityState || document.mozVisibilityState || 'visible';\n}\n\nif (!('fullscreenElement' in document)) {\n\tdocument.fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || false;\n}\n\nif (!('requestAnimationFrame' in window)) {\n\tglobalThis.requestAnimationFrame = globalThis.mozRequestAnimationFrame || globalThis.webkitRequestAnimationFrame || globalThis.msRequestAnimationFrame || false;\n}\n\nif (!('exitFullscreen' in Document.prototype)) {\n\tDocument.prototype.exitFullscreen = document.mozCancelFullScreen || document.webkitCancelFullScreen || document.msCancelFullScreen || false;\n}\n\nif (!('requestFullscreen' in HTMLElement.prototype)) {\n\tHTMLElement.prototype.requestFullscreen = HTMLElement.prototype.requestFullScreen || HTMLElement.prototype.mozRequestFullScreen || HTMLElement.prototype.webkitRequestFullScreen || false;\n}\n\nif (!('fullscreen' in Document.prototype)) {\n\tObject.defineProperty(Document.prototype, 'fullscreen', {\n\t\tget:() => document.fullscreenElement instanceof Element,\n\t});\n}\n","if (! (Object.groupBy instanceof Function)) {\n\tObject.groupBy = function(items, callbackFn) {\n\t\treturn Array.from(items).reduce((groups, element, index) => {\n\t\t\tconst key = callbackFn.call(groups, element, index);\n\n\t\t\tif (! groups.hasOwnProperty(key)) {\n\t\t\t\tgroups[key] = [element];\n\t\t\t} else {\n\t\t\t\tgroups[key].push(element);\n\t\t\t}\n\n\t\t\treturn groups;\n\t\t}, {});\n\t};\n}\n","/**\n * @see https://github.com/tc39/proposal-upsert\n */\nif (! (Map.prototype.getOrInsert instanceof Function)) {\n\tMap.prototype.getOrInsert = function getOrInsert(key, defaultValue) {\n\t\tif (this.has(key)) {\n\t\t return this.get(key);\n\t\t} else {\n\t\t\tthis.set(key, defaultValue);\n\t\t\treturn defaultValue;\n\t\t}\n\t };\n\n\t Map.prototype.getOrInsertComputed = function getOrInsertComputed(key, callbackFunction) {\n\t\tif (this.has(key)) {\n\t\t return this.get(key);\n\t\t} else {\n\t\t\tconst val = callbackFunction(key);\n\t\t\tthis.set(key, val);\n\t\t\treturn val;\n\n\t\t}\n\t };\n}\n\nif (! (WeakMap.prototype.getOrInsert instanceof Function)) {\n\tWeakMap.prototype.getOrInsert = function getOrInsert(key, defaultValue) {\n\t\treturn Map.prototype.getOrInsert.call(this, key, defaultValue);\n\t};\n\n\tWeakMap.prototype.getOrInsertComputed = function getOrInsertComputed(key, callbackFunction) {\n\t\treturn WeakMap.prototype.getOrInsertComputed.call(this, key, callbackFunction);\n\t};\n}\n\nif (! (Map.groupBy instanceof Function)) {\n\tMap.groupBy = function groupTo(items, callbackFn) {\n\t\treturn Array.from(items).reduce((map, element, index) => {\n\t\t\tmap.emplace(callbackFn.call(map, element, index), {\n\t\t\t\tinsert: () => [element],\n\t\t\t\tupdate: existing => {\n\t\t\t\t\texisting.push(element);\n\t\t\t\t\treturn existing;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn map;\n\t\t}, new Map());\n\t};\n}\n\n/**\n * @deprecated The proposal is removing `emplace()` and using `getOrInsert()` instead.\n */\nif (! (Map.prototype.emplace instanceof Function)) {\n\tMap.prototype.emplace = function emplace(key, { insert, update } = {}) {\n\t\tconsole.warn('`Map.prototype.emplace()` has been removed from the proposal and will be removed in the future.');\n\n\t\tconst has = this.has(key);\n\n\t\tif (has && update instanceof Function) {\n\t\t\tconst existing = this.get(key);\n\t\t\tconst value = update.call(this, existing, key, this);\n\n\t\t\tif (value !== existing) {\n\t\t\t\tthis.set(key, value);\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} else if (has) {\n\t\t\treturn this.get(key);\n\t\t} else if (insert instanceof Function) {\n\t\t\tconst value = insert.call(this, key, this);\n\t\t\tthis.set(key, value);\n\t\t\treturn value;\n\t\t} else {\n\t\t\tthrow new Error('Key is not found and no `insert()` given');\n\t\t}\n\t};\n}\n","/**\n * @SEE https://github.com/tc39/proposal-relative-indexing-method#polyfill\n * @SEE https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\n */\n\nconst SHIM_TARGETS = [Array, String, globalThis.Int8Array, globalThis.Uint8Array,\n\tglobalThis.Uint8ClampedArray, globalThis.Int16Array, globalThis.Uint16Array,\n\tglobalThis.Int32Array, globalThis.Uint32Array, globalThis.Float32Array,\n\tglobalThis.Float64Array, globalThis.BigInt64Array, globalThis.BigUint64Array,\n];\n\nif (! (Array.prototype.flat instanceof Function)) {\n\tArray.prototype.flat = function(depth = 1) {\n\t\tconst result = [];\n\t\tdepth = Math.min(Number.MAX_SAFE_INTEGER, Math.max(0, depth));\n\n\t\tconst flattenFn = (item, depth) => {\n\t\t\tif (Array.isArray(item) && depth >= 0) {\n\t\t\t\titem.forEach(i => flattenFn(i, depth - 1));\n\t\t\t} else {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t};\n\n\t\tflattenFn(this, Number.isNaN(depth) ? 0 : depth);\n\t\treturn result;\n\t};\n}\n\nif (! (Array.prototype.flatMap instanceof Function)) {\n\tArray.prototype.flatMap = function(cb, thisArg) {\n\t\treturn this.map(cb, thisArg).flat(1);\n\t};\n}\n\nif (! (Array.prototype.findLast instanceof Function)) {\n\tArray.prototype.findLast = function(callback, thisArg) {\n\t\tlet found = undefined;\n\n\t\tthis.forEach((item, index, arr) => {\n\t\t\tif (callback.call(thisArg, item, index, arr)) {\n\t\t\t\tfound = item;\n\t\t\t}\n\t\t}, thisArg);\n\n\t\treturn found;\n\t};\n}\n\nif(! ('lastIndex' in Array.prototype)) {\n\tObject.defineProperty(Array.prototype, 'lastIndex', {\n\t\tenumerable: false,\n\t\tconfigurable: false,\n\t\tget: function() {\n\t\t\treturn Math.max(0, this.length - 1);\n\t\t}\n\t});\n}\n\nif(! ('lastItem' in Array.prototype)) {\n\tObject.defineProperty(Array.prototype, 'lastItem', {\n\t\tenumerable: false,\n\t\tconfigurable: false,\n\t\tget: function() {\n\t\t\treturn this[this.lastIndex];\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[this.lastIndex] = val;\n\t\t}\n\t});\n}\n\nif (! (Array.prototype.findLastIndex instanceof Function)) {\n\tArray.prototype.findLastIndex = function(callback, thisArg) {\n\t\tlet found = -1;\n\n\t\tthis.forEach((item, index, arr) => {\n\t\t\tif (callback.call(thisArg, item, index, arr)) {\n\t\t\t\tfound = index;\n\t\t\t}\n\t\t}, thisArg);\n\n\t\treturn found;\n\t};\n}\n\nif (! (Array.prototype.at instanceof Function)) {\n\tconst at = function at(n) {\n\t\tn = Math.trunc(n) || 0;\n\t\tif (n < 0) n += this.length;\n\t\tif (n < 0 || n >= this.length) return undefined;\n\t\treturn this[n];\n\t};\n\n\tfor (const C of SHIM_TARGETS) {\n\t\tif (typeof C !== 'undefined') {\n\t\t\tObject.defineProperty(C.prototype, 'at', {\n\t\t\t\tvalue: at,\n\t\t\t\twritable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t}\n\t}\n}\n\n/**\n * @deprecated [moved to `Object.groupBy()`]\n * @see https://github.com/tc39/proposal-array-grouping\n */\nif (! (Array.prototype.group instanceof Function) && Object.groupBy instanceof Function) {\n\tArray.prototype.group = function group(callback) {\n\t\tconsole.warn('`Array.group()` is deprecated. Please use `Object.groupBy()` instead.');\n\t\treturn Object.groupBy(this, callback);\n\t};\n}\n\n/**\n * @deprecated [moved to `Object.groupBy()`]\n */\nif (! (Array.prototype.groupBy instanceof Function) && Object.groupBy instanceof Function) {\n\tArray.prototype.groupBy = function groupBy(callback) {\n\t\tconsole.warn('`Array.goupBy()` is deprecated. Please use `Object.groupBy()` instead.');\n\t\treturn Object.groupBy(this, callback);\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-array-grouping\n * @deprecated [moved to `Map.groupBy()`]\n * @requires `Map.prototype.emplace`\n */\nif (! (Array.prototype.groupToMap instanceof Function) && (Map.groupBy instanceof Function)) {\n\tArray.prototype.groupToMap = function groupToMap(callback) {\n\t\tconsole.warn('`Array.groupToMap()` is deprecated. Please use `Map.groupBy()` instead.');\n\t\treturn Map.groupBy(this, callback);\n\t};\n}\n\n/**\n * @deprecated [moved to `Map.groupBy()`]\n */\nif (Map.groupBy instanceof Function) {\n\tArray.prototype.groupByToMap = function groupByToMap(callback) {\n\t\tconsole.warn('`Array.groupByToMap()` is deprecated. Please use `Map.groupBy()` instead.');\n\t\treturn Map.groupBy(this, callback);\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-array-from-async\n */\nif (! (Array.fromAsync instanceof Function)) {\n\tArray.fromAsync = async function fromAsync(items, mapFn, thisArg = globalThis) {\n\t\tlet arr = [];\n\n\t\tfor await (const item of items) {\n\t\t\tarr.push(await item);\n\t\t}\n\n\t\treturn Array.from(arr, mapFn, thisArg);\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-array-equality/\n */\nif (! (Array.prototype.equals instanceof Function)) {\n\tArray.prototype.equals = function equals(arr) {\n\t\tif (this === arr) {\n\t\t\treturn true;\n\t\t} else if (! Array.isArray(arr)) {\n\t\t\treturn false;\n\t\t} else if (this.length !== arr.length) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn this.every((item, i) => {\n\t\t\t\tconst val = arr[i];\n\t\t\t\tif (Array.isArray(item)) {\n\t\t\t\t\treturn Array.isArray(val) && item.equals(val);\n\t\t\t\t} else {\n\t\t\t\t\treturn Object.is(item, val);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n}\n/**\n * @see https://github.com/tc39/proposal-array-unique\n */\nif (! (Array.prototype.uniqueBy instanceof Function)) {\n\tArray.prototype.uniqueBy = function uniqueBy(arg) {\n\t\tswitch (typeof arg) {\n\t\t\tcase 'undefined':\n\t\t\t\treturn [...new Set(this)];\n\n\t\t\tcase 'string':\n\t\t\tcase 'number':\n\t\t\tcase 'symbol':\n\t\t\t\treturn this.uniqueBy(entry => entry[arg]);\n\n\t\t\tcase 'function': {\n\t\t\t\tconst found = new Set(); //Cannot use `WeakSet` in case of primative values\n\n\t\t\t\treturn this.filter((...args) => {\n\t\t\t\t\tconst key = arg.apply(this, args);\n\n\t\t\t\t\tif (found.has(key)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfound.add(key);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tthrow new TypeError('Not a valid argument for uniqueBy');\n\t\t}\n\t};\n}\n\n/**\n * Change Array by copy proposal\n * @Note: Not clear if should use `structedClone` or `[...this]` for copies\n * @see https://github.com/tc39/proposal-change-array-by-copy\n */\nif (! (Array.prototype.toReversed instanceof Function)) {\n\tArray.prototype.toReversed = function toReversed() {\n\t\treturn [...this].reverse();\n\t};\n}\n\nif (! (Array.prototype.toSorted instanceof Function)) {\n\tArray.prototype.toSorted = function toSorted(cmpFn) {\n\t\treturn [...this].sort(cmpFn);\n\t};\n}\n\nif (! (Array.prototype.toSpliced instanceof Function)) {\n\tArray.prototype.toSpliced = function toSpliced(start, deleteCount, ...items) {\n\t\tconst cpy = [...this];\n\t\tcpy.splice(start, deleteCount, ...items);\n\t\treturn cpy;\n\t};\n}\n\nif (! (Array.prototype.with instanceof Function)) {\n\tArray.prototype.with = function (index, value) {\n\t\tconst cpy = [...this];\n\t\tcpy[index] = value;\n\t\treturn cpy;\n\t};\n}\n\nif (! (Array.isTemplateObject instanceof Function)) {\n\tArray.isTemplateObject = function(target) {\n\t\tif (! (\n\t\t\tArray.isArray(target) && Array.isArray(target.raw)\n\t\t\t&& Object.isFrozen(target) && Object.isFrozen(target.raw)\n\t\t)) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn target.length !== 0 && target.length === target.raw.length;\n\t\t}\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-arraybuffer-base64\n */\nif (! (Uint8Array.prototype.toHex instanceof Function)) {\n\tUint8Array.prototype.toHex = function toHex() {\n\t\treturn Array.from(\n\t\t\tthis,\n\t\t\tbyte => byte.toString(16).padStart(2, '0')\n\t\t).join('');\n\t};\n}\n\nif (! (Uint8Array.prototype.toBase64 instanceof Function)) {\n\tUint8Array.prototype.toBase64 = function toBase64({ alphabet = 'base64' } = {}) {\n\t\tif (alphabet === 'base64') {\n\t\t\t// @todo Figure out encoding specifics\n\t\t\t//return btoa(String.fromCodePoint(...this));\n\t\t\tconst chunkSize = 0x8000; // 32,768 bytes per chunk\n\t\t\tlet str = '';\n\n\t\t\tfor (let i = 0; i < this.length; i += chunkSize) {\n\t\t\t\tconst chunk = this.subarray(i, i + chunkSize);\n\t\t\t\tstr += String.fromCharCode.apply(null, chunk);\n\t\t\t}\n\n\t\t\treturn btoa(str);\n\t\t} else if (alphabet === 'base64url') {\n\t\t\treturn this.toBase64({ alphabet: 'base64' }).replaceAll('+', '-').replaceAll('/', '_');\n\t\t} else {\n\t\t\tthrow new TypeError('expected alphabet to be either \"base64\" or \"base64url');\n\t\t}\n\t};\n}\n\nif (! (Uint8Array.fromHex instanceof Function)) {\n\tUint8Array.fromHex = function fromHex(str) {\n\t\tif (typeof str !== 'string') {\n\t\t\tthrow new TypeError('expected input to be a string');\n\t\t} else if (! (str.length & 1) === 0) {\n\t\t\tthrow new SyntaxError('string should be an even number of characters');\n\t\t} else {\n\t\t\treturn Uint8Array.from(\n\t\t\t\tglobalThis.Iterator.range(0, str.length, { step: 2 }),\n\t\t\t\ti => parseInt(str.substring(i, i + 2), 16)\n\t\t\t);\n\t\t}\n\t};\n}\n\nif (! (Uint8Array.fromBase64 instanceof Function)) {\n\tUint8Array.fromBase64 = function fromBase64(str, {\n\t\talphabet = 'base64',\n\t\tlastChunkHandling = 'loose',\n\t} = {}) {\n\t\tif (typeof str !== 'string') {\n\t\t\tthrow new TypeError('expected input to be a string');\n\t\t} else if (! ['base64', 'base64url'].includes(alphabet)) {\n\t\t\tthrow new TypeError('expected alphabet to be either \"base64\" or \"base64url');\n\t\t} else if (! ['loose', 'strict', 'stop-before-partial'].includes(lastChunkHandling)) {\n\t\t\tthrow new TypeError(`Invalid \\`lastChunkHandling\\`: \"${lastChunkHandling}\".`);\n\t\t} else if (alphabet === 'base64') {\n\t\t\tconst lastChunkLength = str.length % 4;\n\n\t\t\tif (lastChunkLength === 1) {\n\t\t\t\tthrow new TypeError('Invalid string length.');\n\t\t\t} else if (lastChunkLength !== 0) {\n\t\t\t\tswitch(lastChunkHandling) {\n\t\t\t\t\tcase 'strict':\n\t\t\t\t\t\tthrow new SyntaxError('Missing padding.');\n\n\t\t\t\t\tcase 'loose':\n\t\t\t\t\t\treturn Uint8Array.fromBase64(str.padEnd(str.length + (4 - lastChunkLength), '='), {\n\t\t\t\t\t\t\talphabet: 'base64',\n\t\t\t\t\t\t\tlastChunkHandling: 'strict',\n\t\t\t\t\t\t});\n\n\t\t\t\t\tcase 'stop-before-partial':\n\t\t\t\t\t\treturn Uint8Array.fromBase64(str.slice(0, str.length - lastChunkLength), {\n\t\t\t\t\t\t\talphabet: 'base64',\n\t\t\t\t\t\t\tlastChunkHandling: 'strict',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t// Already checked for valid `lastChunkHandling`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// return new TextEncoder().encode(atob(str));\n\t\t\t\treturn Uint8Array.from(atob(str), char => char.charCodeAt(0));\n\t\t\t}\n\t\t} else {\n\t\t\treturn Uint8Array.fromBase64(\n\t\t\t\tstr.replaceAll('-', '+').replaceAll('_', '/'),\n\t\t\t\t{ alphabet: 'base64', }\n\t\t\t);\n\t\t}\n\t};\n}\n\n// @todo Implement Uint8Array.fromBase64Into & Uint8Array.fromHexInto\n// if (! (Uint8Array.fromBase64Into instanceof Function)) {\n// \tUint8Array.fromBase64Into = function fromBase64Into(str, target) {\n// \t\tconst { read, written } = new TextEncoder().encodeInto(atob(str), target);\n// \t\treturn { read, written, target };\n// \t};\n// }\n","export function polyfillMethod(parent, name, value, {\n\twritable = true,\n\tenumerable = true,\n\tconfigurable = true,\n} = {}) {\n\tif (! (parent[name] instanceof Function)) {\n\t\tObject.defineProperty(parent, name, { value, writable, enumerable, configurable });\n\t}\n}\n\nexport function polyfillGetterSetter(parent, name, {\n\tget,\n\tset,\n\tenumerable = true,\n\tconfigurable = true,\n} = {}) {\n\tif (! parent.hasOwnProperty(name)) {\n\t\tObject.defineProperty(parent, name, { get, set, enumerable, configurable });\n\t}\n}\n\nexport function overwriteMethod(parent, name, func) {\n\tconst { value, enumerable, configurable, writable } = Object.getOwnPropertyDescriptor(parent, name);\n\tconst newMethod = func(value);\n\n\tif (! (newMethod instanceof Function)) {\n\t\tthrow new TypeError(`Error overwriting ${name}. The func MUST be a function that accepts the original as an argument and return a function.`);\n\t} else {\n\t\tObject.defineProperty(parent, name, { value: newMethod, enumerable, configurable, writable });\n\t}\n}\n","import { polyfillMethod } from './utils.js';\n\nif ('Symbol' in globalThis) {\n\tconst known = new Set(\n\t\tReflect.ownKeys(Symbol)\n\t\t\t.filter(item => typeof Symbol[item] === 'symbol')\n\t\t\t.map(key => Symbol[key])\n\t);\n\n\tif (typeof Symbol.toStringTag === 'undefined') {\n\t\tSymbol.toStringTag = Symbol('Symbol.toStringTag');\n\t}\n\n\tif (typeof Symbol.iterator === 'undefined') {\n\t\tSymbol.iterator = Symbol('Symbol.iterator');\n\t}\n\n\tpolyfillMethod(Symbol, 'isRegistered', function(symbol) {\n\t\treturn typeof symbol === 'symbol' && typeof Symbol.keyFor(symbol) === 'string';\n\t});\n\n\tpolyfillMethod(Symbol, 'isWellKnown', function(symbol) {\n\t\treturn known.has(symbol);\n\t});\n}\n","function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar urlpattern;\nvar hasRequiredUrlpattern;\n\nfunction requireUrlpattern () {\n\tif (hasRequiredUrlpattern) return urlpattern;\n\thasRequiredUrlpattern = 1;\nvar U=Object.defineProperty;var Re=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var Oe=Object.prototype.hasOwnProperty;var a=(e,t)=>U(e,\"name\",{value:t,configurable:!0});var ke=(e,t)=>{for(var r in t)U(e,r,{get:t[r],enumerable:!0});},Te=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Ee(t))!Oe.call(e,o)&&o!==r&&U(e,o,{get:()=>t[o],enumerable:!(n=Re(t,o))||n.enumerable});return e};var Ae=e=>Te(U({},\"__esModule\",{value:!0}),e);var He={};ke(He,{URLPattern:()=>M});urlpattern=Ae(He);var P=class{type=3;name=\"\";prefix=\"\";value=\"\";suffix=\"\";modifier=3;constructor(t,r,n,o,l,f){this.type=t,this.name=r,this.prefix=n,this.value=o,this.suffix=l,this.modifier=f;}hasCustomName(){return this.name!==\"\"&&typeof this.name!=\"number\"}};a(P,\"Part\");var ye=/[$_\\p{ID_Start}]/u,we=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,F=\".*\";function Ce(e,t){return (t?/^[\\x00-\\xFF]*$/:/^[\\x00-\\x7F]*$/).test(e)}a(Ce,\"isASCII\");function W(e,t=!1){let r=[],n=0;for(;n<e.length;){let o=e[n],l=a(function(f){if(!t)throw new TypeError(f);r.push({type:\"INVALID_CHAR\",index:n,value:e[n++]});},\"ErrorOrInvalid\");if(o===\"*\"){r.push({type:\"ASTERISK\",index:n,value:e[n++]});continue}if(o===\"+\"||o===\"?\"){r.push({type:\"OTHER_MODIFIER\",index:n,value:e[n++]});continue}if(o===\"\\\\\"){r.push({type:\"ESCAPED_CHAR\",index:n++,value:e[n++]});continue}if(o===\"{\"){r.push({type:\"OPEN\",index:n,value:e[n++]});continue}if(o===\"}\"){r.push({type:\"CLOSE\",index:n,value:e[n++]});continue}if(o===\":\"){let f=\"\",s=n+1;for(;s<e.length;){let i=e.substr(s,1);if(s===n+1&&ye.test(i)||s!==n+1&&we.test(i)){f+=e[s++];continue}break}if(!f){l(`Missing parameter name at ${n}`);continue}r.push({type:\"NAME\",index:n,value:f}),n=s;continue}if(o===\"(\"){let f=1,s=\"\",i=n+1,c=!1;if(e[i]===\"?\"){l(`Pattern cannot start with \"?\" at ${i}`);continue}for(;i<e.length;){if(!Ce(e[i],!1)){l(`Invalid character '${e[i]}' at ${i}.`),c=!0;break}if(e[i]===\"\\\\\"){s+=e[i++]+e[i++];continue}if(e[i]===\")\"){if(f--,f===0){i++;break}}else if(e[i]===\"(\"&&(f++,e[i+1]!==\"?\")){l(`Capturing groups are not allowed at ${i}`),c=!0;break}s+=e[i++];}if(c)continue;if(f){l(`Unbalanced pattern at ${n}`);continue}if(!s){l(`Missing pattern at ${n}`);continue}r.push({type:\"REGEX\",index:n,value:s}),n=i;continue}r.push({type:\"CHAR\",index:n,value:e[n++]});}return r.push({type:\"END\",index:n,value:\"\"}),r}a(W,\"lexer\");function _(e,t={}){let r=W(e);t.delimiter??=\"/#?\",t.prefixes??=\"./\";let n=`[^${x(t.delimiter)}]+?`,o=[],l=0,f=0,i=new Set,c=a(u=>{if(f<r.length&&r[f].type===u)return r[f++].value},\"tryConsume\"),h=a(()=>c(\"OTHER_MODIFIER\")??c(\"ASTERISK\"),\"tryConsumeModifier\"),p=a(u=>{let d=c(u);if(d!==void 0)return d;let{type:g,index:y}=r[f];throw new TypeError(`Unexpected ${g} at ${y}, expected ${u}`)},\"mustConsume\"),A=a(()=>{let u=\"\",d;for(;d=c(\"CHAR\")??c(\"ESCAPED_CHAR\");)u+=d;return u},\"consumeText\"),be=a(u=>u,\"DefaultEncodePart\"),N=t.encodePart||be,H=\"\",v=a(u=>{H+=u;},\"appendToPendingFixedValue\"),D=a(()=>{H.length&&(o.push(new P(3,\"\",\"\",N(H),\"\",3)),H=\"\");},\"maybeAddPartFromPendingFixedValue\"),Z=a((u,d,g,y,B)=>{let m=3;switch(B){case\"?\":m=1;break;case\"*\":m=0;break;case\"+\":m=2;break}if(!d&&!g&&m===3){v(u);return}if(D(),!d&&!g){if(!u)return;o.push(new P(3,\"\",\"\",N(u),\"\",m));return}let S;g?g===\"*\"?S=F:S=g:S=n;let k=2;S===n?(k=1,S=\"\"):S===F&&(k=0,S=\"\");let E;if(d?E=d:g&&(E=l++),i.has(E))throw new TypeError(`Duplicate name '${E}'.`);i.add(E),o.push(new P(k,E,N(u),S,N(y),m));},\"addPart\");for(;f<r.length;){let u=c(\"CHAR\"),d=c(\"NAME\"),g=c(\"REGEX\");if(!d&&!g&&(g=c(\"ASTERISK\")),d||g){let m=u??\"\";t.prefixes.indexOf(m)===-1&&(v(m),m=\"\"),D();let S=h();Z(m,d,g,\"\",S);continue}let y=u??c(\"ESCAPED_CHAR\");if(y){v(y);continue}if(c(\"OPEN\")){let m=A(),S=c(\"NAME\"),k=c(\"REGEX\");!S&&!k&&(k=c(\"ASTERISK\"));let E=A();p(\"CLOSE\");let Pe=h();Z(m,S,k,E,Pe);continue}D(),p(\"END\");}return o}a(_,\"parse\");function x(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}a(x,\"escapeString\");function q(e){return e&&e.ignoreCase?\"ui\":\"u\"}a(q,\"flags\");function J(e,t,r){return z(_(e,r),t,r)}a(J,\"stringToRegexp\");function T(e){switch(e){case 0:return \"*\";case 1:return \"?\";case 2:return \"+\";case 3:return \"\"}}a(T,\"modifierToString\");function z(e,t,r={}){r.delimiter??=\"/#?\",r.prefixes??=\"./\",r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith=\"\";let n=r.start?\"^\":\"\";for(let s of e){if(s.type===3){s.modifier===3?n+=x(s.value):n+=`(?:${x(s.value)})${T(s.modifier)}`;continue}t&&t.push(s.name);let i=`[^${x(r.delimiter)}]+?`,c=s.value;if(s.type===1?c=i:s.type===0&&(c=F),!s.prefix.length&&!s.suffix.length){s.modifier===3||s.modifier===1?n+=`(${c})${T(s.modifier)}`:n+=`((?:${c})${T(s.modifier)})`;continue}if(s.modifier===3||s.modifier===1){n+=`(?:${x(s.prefix)}(${c})${x(s.suffix)})`,n+=T(s.modifier);continue}n+=`(?:${x(s.prefix)}`,n+=`((?:${c})(?:`,n+=x(s.suffix),n+=x(s.prefix),n+=`(?:${c}))*)${x(s.suffix)})`,s.modifier===0&&(n+=\"?\");}let o=`[${x(r.endsWith)}]|$`,l=`[${x(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${l}?`),r.endsWith.length?n+=`(?=${o})`:n+=\"$\",new RegExp(n,q(r));r.strict||(n+=`(?:${l}(?=${o}))?`);let f=!1;if(e.length){let s=e[e.length-1];s.type===3&&s.modifier===3&&(f=r.delimiter.indexOf(s)>-1);}return f||(n+=`(?=${l}|${o})`),new RegExp(n,q(r))}a(z,\"partsToRegexp\");var b={delimiter:\"\",prefixes:\"\",sensitive:!0,strict:!0},Q={delimiter:\".\",prefixes:\"\",sensitive:!0,strict:!0},ee={delimiter:\"/\",prefixes:\"/\",sensitive:!0,strict:!0};function te(e,t){return e.length?e[0]===\"/\"?!0:!t||e.length<2?!1:(e[0]==\"\\\\\"||e[0]==\"{\")&&e[1]==\"/\":!1}a(te,\"isAbsolutePathname\");function re(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}a(re,\"maybeStripPrefix\");function Le(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}a(Le,\"maybeStripSuffix\");function j(e){return !e||e.length<2?!1:e[0]===\"[\"||(e[0]===\"\\\\\"||e[0]===\"{\")&&e[1]===\"[\"}a(j,\"treatAsIPv6Hostname\");var ne=[\"ftp\",\"file\",\"http\",\"https\",\"ws\",\"wss\"];function $(e){if(!e)return !0;for(let t of ne)if(e.test(t))return !0;return !1}a($,\"isSpecialScheme\");function se(e,t){if(e=re(e,\"#\"),t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):\"\"}a(se,\"canonicalizeHash\");function ie(e,t){if(e=re(e,\"?\"),t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.search=e,r.search?r.search.substring(1,r.search.length):\"\"}a(ie,\"canonicalizeSearch\");function ae(e,t){return t||e===\"\"?e:j(e)?V(e):G(e)}a(ae,\"canonicalizeHostname\");function oe(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.password=e,r.password}a(oe,\"canonicalizePassword\");function ce(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.username=e,r.username}a(ce,\"canonicalizeUsername\");function le(e,t,r){if(r||e===\"\")return e;if(t&&!ne.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]==\"/\";return e=new URL(n?e:\"/-\"+e,\"https://example.com\").pathname,n||(e=e.substring(2,e.length)),e}a(le,\"canonicalizePathname\");function fe(e,t,r){return K(t)===e&&(e=\"\"),r||e===\"\"?e:Y(e)}a(fe,\"canonicalizePort\");function he(e,t){return e=Le(e,\":\"),t||e===\"\"?e:w(e)}a(he,\"canonicalizeProtocol\");function K(e){switch(e){case\"ws\":case\"http\":return \"80\";case\"wws\":case\"https\":return \"443\";case\"ftp\":return \"21\";default:return \"\"}}a(K,\"defaultPortForProtocol\");function w(e){if(e===\"\")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(`Invalid protocol '${e}'.`)}a(w,\"protocolEncodeCallback\");function ue(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.username=e,t.username}a(ue,\"usernameEncodeCallback\");function de(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.password=e,t.password}a(de,\"passwordEncodeCallback\");function G(e){if(e===\"\")return e;if(/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e))throw new TypeError(`Invalid hostname '${e}'`);let t=new URL(\"https://example.com\");return t.hostname=e,t.hostname}a(G,\"hostnameEncodeCallback\");function V(e){if(e===\"\")return e;if(/[^0-9a-fA-F[\\]:]/g.test(e))throw new TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}a(V,\"ipv6HostnameEncodeCallback\");function Y(e){if(e===\"\"||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(`Invalid port '${e}'.`)}a(Y,\"portEncodeCallback\");function pe(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.pathname=e[0]!==\"/\"?\"/-\"+e:e,e[0]!==\"/\"?t.pathname.substring(2,t.pathname.length):t.pathname}a(pe,\"standardURLPathnameEncodeCallback\");function ge(e){return e===\"\"?e:new URL(`data:${e}`).pathname}a(ge,\"pathURLPathnameEncodeCallback\");function me(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.search=e,t.search.substring(1,t.search.length)}a(me,\"searchEncodeCallback\");function Se(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.hash=e,t.hash.substring(1,t.hash.length)}a(Se,\"hashEncodeCallback\");var C=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=!1;constructor(t){this.#i=t;}get result(){return this.#t}parse(){for(this.#n=W(this.#i,!0);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===\"END\"){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())this.#d-=1;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t=7,r=1;this.#E()?(t=2,r=3):this.#g&&(t=2),this.#r(t,r);}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&(this.#p-=1),this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=\"\");}#r(t,r){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;}this.#o!==0&&t!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t)&&(this.#t.hostname??=\"\"),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t)&&(this.#t.pathname??=this.#g?\"/\":\"\"),[1,2,3,4,5,6,7].includes(this.#o)&&t===9&&(this.#t.search??=\"\")),this.#R(t,r);}#R(t,r){this.#o=t,this.#l=this.#e+r,this.#e+=r,this.#s=0;}#b(){this.#e=this.#l,this.#s=0;}#u(t){this.#b(),this.#o=t;}#m(t){return t<0&&(t=this.#n.length-t),t<this.#n.length?this.#n[t]:this.#n[this.#n.length-1]}#a(t,r){let n=this.#m(t);return n.value===r&&(n.type===\"CHAR\"||n.type===\"ESCAPED_CHAR\"||n.type===\"INVALID_CHAR\")}#P(){return this.#a(this.#e,\":\")}#E(){return this.#a(this.#e+1,\"/\")&&this.#a(this.#e+2,\"/\")}#S(){return this.#a(this.#e,\"@\")}#O(){return this.#a(this.#e,\":\")}#k(){return this.#a(this.#e,\":\")}#x(){return this.#a(this.#e,\"/\")}#h(){if(this.#a(this.#e,\"?\"))return !0;if(this.#n[this.#e].value!==\"?\")return !1;let t=this.#m(this.#e-1);return t.type!==\"NAME\"&&t.type!==\"REGEX\"&&t.type!==\"CLOSE\"&&t.type!==\"ASTERISK\"}#f(){return this.#a(this.#e,\"#\")}#T(){return this.#n[this.#e].type==\"OPEN\"}#A(){return this.#n[this.#e].type==\"CLOSE\"}#y(){return this.#a(this.#e,\"[\")}#w(){return this.#a(this.#e,\"]\")}#c(){let t=this.#n[this.#e],r=this.#m(this.#l).index;return this.#i.substring(r,t.index)}#C(){let t={};Object.assign(t,b),t.encodePart=w;let r=J(this.#c(),void 0,t);this.#g=$(r);}};a(C,\"Parser\");var X=[\"protocol\",\"username\",\"password\",\"hostname\",\"port\",\"pathname\",\"search\",\"hash\"],O=\"*\";function xe(e,t){if(typeof e!=\"string\")throw new TypeError(\"parameter 1 is not of type 'string'.\");let r=new URL(e,t);return {protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search!==\"\"?r.search.substring(1,r.search.length):void 0,hash:r.hash!==\"\"?r.hash.substring(1,r.hash.length):void 0}}a(xe,\"extractValues\");function R(e,t){return t?I(e):e}a(R,\"processBaseURLString\");function L(e,t,r){let n;if(typeof t.baseURL==\"string\")try{n=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=R(n.protocol.substring(0,n.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=R(n.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=R(n.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=R(n.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=R(n.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=R(n.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=R(n.search.substring(1,n.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=R(n.hash.substring(1,n.hash.length),r));}catch{throw new TypeError(`invalid baseURL '${t.baseURL}'.`)}if(typeof t.protocol==\"string\"&&(e.protocol=he(t.protocol,r)),typeof t.username==\"string\"&&(e.username=ce(t.username,r)),typeof t.password==\"string\"&&(e.password=oe(t.password,r)),typeof t.hostname==\"string\"&&(e.hostname=ae(t.hostname,r)),typeof t.port==\"string\"&&(e.port=fe(t.port,e.protocol,r)),typeof t.pathname==\"string\"){if(e.pathname=t.pathname,n&&!te(e.pathname,r)){let o=n.pathname.lastIndexOf(\"/\");o>=0&&(e.pathname=R(n.pathname.substring(0,o+1),r)+e.pathname);}e.pathname=le(e.pathname,e.protocol,r);}return typeof t.search==\"string\"&&(e.search=ie(t.search,r)),typeof t.hash==\"string\"&&(e.hash=se(t.hash,r)),e}a(L,\"applyInit\");function I(e){return e.replace(/([+*?:{}()\\\\])/g,\"\\\\$1\")}a(I,\"escapePatternString\");function Ie(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}a(Ie,\"escapeRegexpString\");function Ne(e,t){t.delimiter??=\"/#?\",t.prefixes??=\"./\",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith=\"\";let r=\".*\",n=`[^${Ie(t.delimiter)}]+?`,o=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,l=\"\";for(let f=0;f<e.length;++f){let s=e[f];if(s.type===3){if(s.modifier===3){l+=I(s.value);continue}l+=`{${I(s.value)}}${T(s.modifier)}`;continue}let i=s.hasCustomName(),c=!!s.suffix.length||!!s.prefix.length&&(s.prefix.length!==1||!t.prefixes.includes(s.prefix)),h=f>0?e[f-1]:null,p=f<e.length-1?e[f+1]:null;if(!c&&i&&s.type===1&&s.modifier===3&&p&&!p.prefix.length&&!p.suffix.length)if(p.type===3){let A=p.value.length>0?p.value[0]:\"\";c=o.test(A);}else c=!p.hasCustomName();if(!c&&!s.prefix.length&&h&&h.type===3){let A=h.value[h.value.length-1];c=t.prefixes.includes(A);}c&&(l+=\"{\"),l+=I(s.prefix),i&&(l+=`:${s.name}`),s.type===2?l+=`(${s.value})`:s.type===1?i||(l+=`(${n})`):s.type===0&&(!i&&(!h||h.type===3||h.modifier!==3||c||s.prefix!==\"\")?l+=\"*\":l+=`(${r})`),s.type===1&&i&&s.suffix.length&&o.test(s.suffix[0])&&(l+=\"\\\\\"),l+=I(s.suffix),c&&(l+=\"}\"),s.modifier!==3&&(l+=T(s.modifier));}return l}a(Ne,\"partsToPattern\");var M=class{#i;#n={};#t={};#e={};#s={};#l=!1;constructor(t={},r,n){try{let o;if(typeof r==\"string\"?o=r:n=r,typeof t==\"string\"){let i=new C(t);if(i.parse(),t=i.result,o===void 0&&typeof t.protocol!=\"string\")throw new TypeError(\"A base URL must be provided for a relative constructor string.\");t.baseURL=o;}else {if(!t||typeof t!=\"object\")throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");if(o)throw new TypeError(\"parameter 1 is not of type 'string'.\")}typeof n>\"u\"&&(n={ignoreCase:!1});let l={ignoreCase:n.ignoreCase===!0},f={pathname:O,protocol:O,username:O,password:O,hostname:O,port:O,search:O,hash:O};this.#i=L(f,t,!0),K(this.#i.protocol)===this.#i.port&&(this.#i.port=\"\");let s;for(s of X){if(!(s in this.#i))continue;let i={},c=this.#i[s];switch(this.#t[s]=[],s){case\"protocol\":Object.assign(i,b),i.encodePart=w;break;case\"username\":Object.assign(i,b),i.encodePart=ue;break;case\"password\":Object.assign(i,b),i.encodePart=de;break;case\"hostname\":Object.assign(i,Q),j(c)?i.encodePart=V:i.encodePart=G;break;case\"port\":Object.assign(i,b),i.encodePart=Y;break;case\"pathname\":$(this.#n.protocol)?(Object.assign(i,ee,l),i.encodePart=pe):(Object.assign(i,b,l),i.encodePart=ge);break;case\"search\":Object.assign(i,b,l),i.encodePart=me;break;case\"hash\":Object.assign(i,b,l),i.encodePart=Se;break}try{this.#s[s]=_(c,i),this.#n[s]=z(this.#s[s],this.#t[s],i),this.#e[s]=Ne(this.#s[s],i),this.#l=this.#l||this.#s[s].some(h=>h.type===2);}catch{throw new TypeError(`invalid ${s} pattern '${this.#i[s]}'.`)}}}catch(o){throw new TypeError(`Failed to construct 'URLPattern': ${o.message}`)}}get[Symbol.toStringTag](){return \"URLPattern\"}test(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return !1;try{typeof t==\"object\"?n=L(n,t,!1):n=L(n,xe(t,r),!1);}catch{return !1}let o;for(o of X)if(!this.#n[o].exec(n[o]))return !1;return !0}exec(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return;try{typeof t==\"object\"?n=L(n,t,!1):n=L(n,xe(t,r),!1);}catch{return null}let o={};r?o.inputs=[t,r]:o.inputs=[t];let l;for(l of X){let f=this.#n[l].exec(n[l]);if(!f)return null;let s={};for(let[i,c]of this.#t[l].entries())if(typeof c==\"string\"||typeof c==\"number\"){let h=f[i+1];s[c]=h;}o[l]={input:n[l]??\"\",groups:s};}return o}static compareComponent(t,r,n){let o=a((i,c)=>{for(let h of [\"type\",\"modifier\",\"prefix\",\"value\",\"suffix\"]){if(i[h]<c[h])return -1;if(i[h]===c[h])continue;return 1}return 0},\"comparePart\"),l=new P(3,\"\",\"\",\"\",\"\",3),f=new P(0,\"\",\"\",\"\",\"\",3),s=a((i,c)=>{let h=0;for(;h<Math.min(i.length,c.length);++h){let p=o(i[h],c[h]);if(p)return p}return i.length===c.length?0:o(i[h]??l,c[h]??l)},\"comparePartList\");return !r.#e[t]&&!n.#e[t]?0:r.#e[t]&&!n.#e[t]?s(r.#s[t],[f]):!r.#e[t]&&n.#e[t]?s([f],n.#s[t]):s(r.#s[t],n.#s[t])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}};a(M,\"URLPattern\");\n\treturn urlpattern;\n}\n\nvar urlpatternPolyfill;\nvar hasRequiredUrlpatternPolyfill;\n\nfunction requireUrlpatternPolyfill () {\n\tif (hasRequiredUrlpatternPolyfill) return urlpatternPolyfill;\n\thasRequiredUrlpatternPolyfill = 1;\n\tconst { URLPattern } = requireUrlpattern();\n\n\turlpatternPolyfill = { URLPattern };\n\n\tif (!globalThis.URLPattern) {\n\t globalThis.URLPattern = URLPattern;\n\t}\n\treturn urlpatternPolyfill;\n}\n\n/* eslint-env node */\n\nvar urlPattern$1;\nvar hasRequiredUrlPattern;\n\nfunction requireUrlPattern () {\n\tif (hasRequiredUrlPattern) return urlPattern$1;\n\thasRequiredUrlPattern = 1;\n\t// This exists just to re-export urlpattern-polyfill as a module in the codebase\n\turlPattern$1 = requireUrlpatternPolyfill();\n\treturn urlPattern$1;\n}\n\nvar urlPatternExports = requireUrlPattern();\nvar urlPattern = /*@__PURE__*/getDefaultExportFromCjs(urlPatternExports);\n\nexport { urlPattern as default };\n","(function() {\n\t'use strict';\n\n\tif (! (Function.prototype.once instanceof Function)) {\n\t\tconst funcs = new WeakMap();\n\n\t\t/**\n\t\t * @see https://github.com/tc39/proposal-function-once\n\t\t */\n\t\tFunction.prototype.once = function once(thisArg) {\n\t\t\tconst callback = this;\n\t\t\treturn function(...args) {\n\t\t\t\tif (funcs.has(callback)) {\n\t\t\t\t\treturn funcs.get(callback);\n\t\t\t\t} else if (callback.constructor.name === 'AsyncFunction') {\n\t\t\t\t\tconst retVal = callback.apply(thisArg || callback, args).catch(err => {\n\t\t\t\t\t\tfuncs.delete(callback);\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t});\n\n\t\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\t\treturn retVal;\n\t\t\t\t} else if (callback instanceof Function) {\n\t\t\t\t\tconst retVal = callback.apply(thisArg || callback, args);\n\t\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\t\treturn retVal;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t}\n})();\n","import { polyfillMethod } from './utils.js';\nimport URLPattern from './assets/url-pattern.js';\n\nif (! ('URLPattern' in globalThis)) {\n\tglobalThis.URLPattern = URLPattern;\n}\n\npolyfillMethod(URL, 'parse', (url, base) => {\n\ttry {\n\t\treturn new URL(url, base);\n\t} catch {\n\t\treturn null;\n\t}\n});\n\npolyfillMethod(URL, 'canParse', (url, base) => {\n\ttry {\n\t\treturn new URL(url, base) instanceof URL;\n\t} catch {\n\t\treturn false;\n\t}\n});\n","(function() {\n\t'use strict';\n\n\tif (! (Number.range instanceof Function)) {\n\t\t/**\n\t\t * @see https://github.com/tc39/proposal-Number.range\n\t\t * @deprecated - changed to `Iterator.range`\n\t\t */\n\t\tNumber.range = function range(start, end, step = 1) {\n\t\t\tconsole.warn('`Number.range()` is deprecated. Use `Iterator.range()` instead.');\n\t\t\treturn globalThis.Iterator.range(start, end, { step });\n\t\t};\n\t}\n})();\n","/**\n * @see https://github.com/tc39/proposal-iterator-helpers\n */\n\nconst supported = 'Iterator' in globalThis;\n\nconst IteratorPrototype = supported\n\t? Object.getPrototypeOf(globalThis.Iterator)\n\t: Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));\n\nconst Iterator = supported\n\t? globalThis.Iterator\n\t: (proto => {\n\t\tclass Iterator {\n\t\t\t[Symbol.iterator]() {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\n\t\tObject.setPrototypeOf(Iterator, proto);\n\n\t\treturn Iterator;\n\t})(IteratorPrototype);\n\nif (! (Iterator.range instanceof Function)) {\n\tIterator.range = function range(start, end, option) {\n\t\tif (typeof option === 'number' || typeof option === 'bigint') {\n\t\t\treturn Iterator.range(start, end, { step: option });\n\t\t} else if (typeof option !== 'object' || Object.is(option, null)) {\n\t\t\treturn Iterator.range(start, end, {});\n\t\t} else {\n\t\t\tconst {\n\t\t\t\t// Default to +/-, Number/BigInt based on start & end\n\t\t\t\tstep = typeof start === 'number'\n\t\t\t\t\t? start < end ? 1 : -1\n\t\t\t\t\t: start < end ? 1n : -1n,\n\t\t\t\tinclusive = false,\n\t\t\t} = option;\n\n\t\t\tif (typeof start !== 'number' && typeof start !== 'bigint') {\n\t\t\t\tthrow new TypeError('Start must be a number');\n\t\t\t} else if (Number.isNaN(start)) {\n\t\t\t\tthrow new RangeError('Invalid start');\n\t\t\t} else if (typeof end !== 'number' && typeof end !== 'bigint') {\n\t\t\t\tthrow new TypeError('End must be a number');\n\t\t\t} else if (Number.isNaN(end)) {\n\t\t\t\tthrow new RangeError('Invalid end');\n\t\t\t} else if (typeof step !== 'number' && typeof step !== 'bigint') {\n\t\t\t\tthrow new TypeError('Step must be a number');\n\t\t\t} else if (Number.isNaN(step)) {\n\t\t\t\tthrow new RangeError('Invalid step');\n\t\t\t} else if (step === 0) {\n\t\t\t\tthrow new RangeError('Step must not be 0');\n\t\t\t} else if ((step < 0 && start < end) || (step > 0 && start > end)) {\n\t\t\t\treturn;\n\t\t\t} else if (inclusive) {\n\t\t\t\tlet n = start;\n\t\t\t\tif (step > 0) {\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n <= end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n >= end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet n = start;\n\n\t\t\t\tif (step > 0) {\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n < end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tlet n = start;\n\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n > end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! (IteratorPrototype[Symbol.toStringTag])) {\n\tIteratorPrototype[Symbol.toStringTag] = 'Iterator';\n}\n\nif (! (IteratorPrototype.take instanceof Function)) {\n\tIteratorPrototype.take = function take(limit) {\n\t\tlet n = 0;\n\t\tconst iter = this;\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\tif (n++ >= limit) {\n\t\t\t\t\treturn { done: true };\n\t\t\t\t} else {\n\t\t\t\t\treturn iter.next();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n}\n\nif (! (IteratorPrototype.drop instanceof Function)) {\n\tIteratorPrototype.drop = function drop(limit) {\n\t\tfor (let n = 0; n < limit; n++) {\n\t\t\tconst { done } = this.next();\n\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n}\n\nif (! (IteratorPrototype.toArray instanceof Function)) {\n\tIteratorPrototype.toArray = function toArray() {\n\t\treturn Array.from(this);\n\t};\n}\n\nif (! (IteratorPrototype.forEach instanceof Function)) {\n\tIteratorPrototype.forEach = function forEach(callback) {\n\t\tfor (const item of this) {\n\t\t\tcallback.call(this, item);\n\t\t}\n\t};\n}\n\nif (! (IteratorPrototype.flatMap instanceof Function)) {\n\tIteratorPrototype.flatMap = function flatMap(mapper) {\n\t\tconst iter = this;\n\t\tlet cur = this.next();\n\n\t\tconst getSubIter = ({ value, done = true } = {}) => {\n\t\t\treturn done\n\t\t\t\t? Iterator.from({\n\t\t\t\t\tnext() {\n\t\t\t\t\t\treturn { done: true };\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t: Iterator.from(mapper.call(iter, value));\n\t\t};\n\n\t\tlet sub = getSubIter(cur);\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\tconst { value, done = true } = sub.next();\n\n\t\t\t\tif (cur.done && done) {\n\t\t\t\t\treturn { done: true };\n\t\t\t\t} else if (! done) {\n\t\t\t\t\treturn { value, done };\n\t\t\t\t} else if (! cur.done) {\n\t\t\t\t\tcur = iter.next();\n\t\t\t\t\tsub = getSubIter(cur);\n\t\t\t\t\treturn sub.next();\n\t\t\t\t} else {\n\t\t\t\t\treturn { done: true };\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t};\n}\n\nif (! (IteratorPrototype.map instanceof Function)) {\n\tIteratorPrototype.map = function map(callback) {\n\t\tconst iter = this;\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\tconst { done, value } = iter.next();\n\n\t\t\t\tif (done) {\n\t\t\t\t\treturn { done };\n\t\t\t\t} else {\n\t\t\t\t\treturn { value: callback.call(iter, value), done: false };\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n}\n\nif (! (IteratorPrototype.reduce instanceof Function)) {\n\tIteratorPrototype.reduce = function reduce(callback, initialValue) {\n\t\tlet current = typeof initialValue === 'undefined' ? this.next().value : initialValue;\n\n\t\tfor (const item of this) {\n\t\t\tcurrent = callback.call(this, current, item);\n\t\t}\n\n\t\treturn current;\n\t};\n}\n\nif (! (IteratorPrototype.filter instanceof Function)) {\n\tIteratorPrototype.filter = function filter(callback) {\n\t\tconst iter = this;\n\t\tlet done = false;\n\t\tlet value = undefined;\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\twhile (! done) {\n\t\t\t\t\tconst cur = iter.next();\n\t\t\t\t\tdone = cur.done;\n\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (callback.call(iter, cur.value)) {\n\t\t\t\t\t\tvalue = cur.value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn { done, value };\n\t\t\t}\n\t\t});\n\t};\n}\n\nif (! (IteratorPrototype.some instanceof Function)) {\n\tIteratorPrototype.some = function some(callback) {\n\t\tlet retVal = false;\n\t\tfor (const item of this) {\n\t\t\tif (callback.call(this, item)) {\n\t\t\t\tretVal = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn retVal;\n\t};\n}\n\nif (! (IteratorPrototype.every instanceof Function)) {\n\tIteratorPrototype.every = function every(callback) {\n\t\tlet retVal = true;\n\t\tfor (const item of this) {\n\t\t\tif (! callback.call(this, item)) {\n\t\t\t\tretVal = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn retVal;\n\t};\n}\n\nif (! (IteratorPrototype.find instanceof Function)) {\n\tIteratorPrototype.find = function find(callback) {\n\t\tfor (const item of this) {\n\t\t\tif (callback.call(this, item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! (IteratorPrototype.indexed instanceof Function)) {\n\tIteratorPrototype.indexed = function indexed() {\n\t\tlet n = 0;\n\t\treturn this.map(item => [n++, item]);\n\t};\n}\n\nif (! (IteratorPrototype.chunks instanceof Function)) {\n\tIteratorPrototype.chunks = function(size) {\n\t\tif (! Number.isSafeInteger(size) || size < 1) {\n\t\t\tthrow new TypeError('Size must be a positive integer.');\n\t\t} else {\n\t\t\tconst iter = this;\n\t\t\tlet done = false;\n\n\t\t\treturn Iterator.from({\n\t\t\t\tnext() {\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\treturn { done };\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst items = [];\n\t\t\t\t\t\tlet i = 0;\n\n\t\t\t\t\t\twhile(i++ < size && ! done) {\n\t\t\t\t\t\t\tconst next = iter.next();\n\n\t\t\t\t\t\t\tif (next.done) {\n\t\t\t\t\t\t\t\tdone = true;\n\n\t\t\t\t\t\t\t\tif (typeof next.value !== 'undefined') {\n\t\t\t\t\t\t\t\t\titems.push(next.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titems.push(next.value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn { value: items, done: false };\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n}\n\nif (! (Iterator.from instanceof Function)) {\n\tIterator.from = function from(obj) {\n\t\tif (typeof obj !== 'object' || obj === null) {\n\t\t\tthrow new TypeError('Not an object.');\n\t\t} else if (obj.next instanceof Function) {\n\t\t\tconst iter = Object.create(IteratorPrototype, {\n\t\t\t\t'next': {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\twritable: false,\n\t\t\t\t\tvalue: (...args) => obj.next(...args),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn iter;\n\t\t} else if(obj[Symbol.iterator] instanceof Function) {\n\t\t\treturn Iterator.from(obj[Symbol.iterator]());\n\t\t}\n\t};\n}\n\nif (! supported) {\n\tglobalThis.Iterator = Iterator;\n}\n","if (! Number.hasOwnProperty('isSafeInteger')) {\n\tNumber.MAX_SAFE_INTEGER = 2**53 -1;\n\tNumber.MIN_SAFE_INTEGER = -Number.MAX_SAFE_INTEGER;\n\tNumber.isSafeInteger = num => num <= Number.MAX_SAFE_INTEGER && num >= Number.MIN_SAFE_INTEGER;\n}\n\nif (! Number.hasOwnProperty('EPSILON')) {\n\tNumber.EPSILON = 2**-52;\n}\n\nif (! Math.hasOwnProperty('sign')) {\n\tMath.sign = x => ((x > 0) - (x < 0)) || +x;\n}\n\nif (! Math.hasOwnProperty('trunc')) {\n\tMath.trunc = x => {\n\t\tconst n = x - x%1;\n\t\treturn n===0 && (x<0 || (x===0 && (1/x !== 1/0))) ? -0 : n;\n\t};\n}\n\nif (! Math.hasOwnProperty('expm1')) {\n\tMath.expm1 = x => Math.exp(x) - 1;\n}\n\nif (! Math.hasOwnProperty('hypot')) {\n\tMath.hypot = (...nums) => Math.sqrt(nums.reduce((sum, num) => sum + num**2, 0));\n}\n\nif (! Math.hasOwnProperty('cbrt')) {\n\tMath.cbrt = x => x**(1/3);\n}\n\nif (! Math.hasOwnProperty('log10')) {\n\tMath.log10 = x => Math.log(x) * Math.LOG10E;\n}\n\nif (! Math.hasOwnProperty('log2')) {\n\tMath.log2 = x => Math.log(x) * Math.LOG2E;\n}\n\nif (! Math.hasOwnProperty('log1p')) {\n\tMath.log1p = x => Math.log(1 + x);\n}\n\nif (! Math.hasOwnProperty('fround')) {\n\tMath.fround = (function (array) {\n\t\treturn function(x) {\n\t\t\treturn array[0] = x, array[0];\n\t\t};\n\t})(new Float32Array(1));\n}\n\nif (! (Math.clamp instanceof Function)) {\n\tMath.clamp = function(value, min, max) {\n\t\treturn Math.min(Math.max(value, min), max);\n\t};\n}\n\n/*\n * Question of if it will be `Math.clamp` or `Math.constrain`\n */\nif (! (Math.constrain instanceof Function)) {\n\tMath.constrain = Math.clamp;\n}\n\n/**\n * @see https://github.com/tc39/proposal-math-sum\n */\nif (! (Math.sumPrecise instanceof Function)) {\n\tMath.sumPrecise = function sumPrecise(nums) {\n\t\tlet sum = -0;\n\n\t\tfor (const num of nums) {\n\t\t\tif (! Number.isFinite(num)) {\n\t\t\t\tsum = -0;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tsum += num;\n\t\t\t}\n\t\t}\n\n\t\treturn sum;\n\t};\n}\n\n/**\n * @deprecated\n */\nif(! (Math.sum instanceof Function)) {\n\tMath.sum = function(...nums) {\n\t\tconsole.warn('Math.sum is deprecated. Please use Math.sumPrecise instead.');\n\t\treturn Math.sumPrecise(nums);\n\t};\n}\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(ReadableStream, 'from', function from(anyIterable) {\n\tif (anyIterable[Symbol.iterator] instanceof Function) {\n\t\treturn new ReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\ttry {\n\t\t\t\t\tfor (const chunk of anyIterable) {\n\t\t\t\t\t\tcontroller.enqueue(chunk);\n\t\t\t\t\t}\n\t\t\t\t} catch(err) {\n\t\t\t\t\tcontroller.error(err);\n\t\t\t\t} finally {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else if (anyIterable[Symbol.asyncIterator] instanceof Function) {\n\t\treturn new ReadableStream({\n\t\t\tasync start(controller) {\n\t\t\t\ttry {\n\t\t\t\t\tfor await (const chunk of anyIterable) {\n\t\t\t\t\t\tcontroller.enqueue(chunk);\n\t\t\t\t\t}\n\t\t\t\t} catch(err) {\n\t\t\t\t\tcontroller.error(err);\n\t\t\t\t} finally {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tthrow new TypeError('`ReadableStream.from()` requires an iterable source.');\n\t}\n});\n","(function() {\n\t'use strict';\n\n\tif (! ('isSecureContext' in globalThis)) {\n\t\tconst hostnames = ['localhost', '127.0.0.1'];\n\t\tconst HTTPS = 'https:';\n\t\tconst protocols = [HTTPS, 'file:', 'wss:'];\n\t\tconst hasSecureScripts = (document = globalThis.document) => {\n\t\t\treturn [...document.scripts].every(({ src }) => {\n\t\t\t\tif (src.length === 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tconst { protocol, hostname } = new URL(src, document.baseURI);\n\t\t\t\t\treturn protocol === HTTPS || hostname === location.hostname;\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\tObject.defineProperty(globalThis, 'isSecureContext', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: function isSecureContext() {\n\t\t\t\tif (window.parent !== window) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else if (protocols.includes(location.protocol) || hostnames.includes(location.hostname)) {\n\t\t\t\t\treturn hasSecureScripts();\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n})();\n","const funcs = new WeakMap();\n\nexport const between = (min, val, max) => typeof val === 'number' && val >= min && val <= max;\n\nexport function getDeferred() {\n\tif (Promise.withResolvers instanceof Function) {\n\t\treturn Promise.withResolvers();\n\t} else {\n\t\tconst def = {};\n\t\tdef.promise = new Promise((resolve, reject) => {\n\t\t\tdef.resolve = resolve;\n\t\t\tdef.reject = reject;\n\t\t});\n\n\t\treturn def;\n\t}\n}\n\nexport function isAsyncFunction(what) {\n\treturn what instanceof Function && what.constructor.name === 'AsyncFunction';\n}\n\nexport function isAsync(what) {\n\treturn isAsyncFunction(what) || what instanceof Promise;\n}\n\nexport function isObject(thing) {\n\treturn typeof thing === 'object' && ! Object.is(thing, null) && ! Array.isArray(thing);\n}\n\nexport function getType(thing) {\n\tswitch (typeof thing) {\n\t\tcase 'undefined':\n\t\t\treturn 'Undefined';\n\n\t\tcase 'function':\n\t\t\tif ('prototype' in thing) {\n\t\t\t\treturn getType(thing.prototype);\n\t\t\t} else if ('constructor' in thing) {\n\t\t\t\treturn thing.constructor.name;\n\t\t\t} else {\n\t\t\t\treturn 'Function';\n\t\t\t}\n\n\t\tcase 'object':\n\t\t\tif (Object.is(thing, null)) {\n\t\t\t\treturn 'Null';\n\t\t\t} else if ('constructor' in thing) {\n\t\t\t\treturn thing.constructor.name;\n\t\t\t} else if (Symbol.toStringTag in thing) {\n\t\t\t\treturn thing[Symbol.toStringTag];\n\t\t\t} else if ('prototype' in thing) {\n\t\t\t\treturn getType(thing.prototype);\n\t\t\t} else {\n\t\t\t\tconsole.log(thing);\n\t\t\t\treturn 'Unknown Object';\n\t\t\t}\n\n\t\tcase 'string':\n\t\t\treturn 'String';\n\n\t\tcase 'number':\n\t\t\treturn Number.isNaN(thing) ? 'NaN' : 'Number';\n\n\t\tcase 'bigint':\n\t\t\treturn 'BigInt';\n\n\t\tcase 'boolean':\n\t\t\treturn 'Boolean';\n\n\t\tcase 'symbol':\n\t\t\treturn 'Symbol';\n\n\t\tdefault:\n\t\t\treturn 'Unknown';\n\t}\n}\n\nexport function callOnce(callback, thisArg) {\n\tif (callback.once instanceof Function) {\n\t\treturn callback.once(thisArg);\n\t} else {\n\t\treturn function(...args) {\n\t\t\tif (funcs.has(callback)) {\n\t\t\t\treturn funcs.get(callback);\n\t\t\t} else if (isAsyncFunction(callback)) {\n\t\t\t\tconst retVal = callback.apply(thisArg || this, args).catch(err => {\n\t\t\t\t\tfuncs.delete(callback);\n\t\t\t\t\tthrow err;\n\t\t\t\t});\n\n\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\treturn retVal;\n\t\t\t} else if (callback instanceof Function) {\n\t\t\t\tconst retVal = callback.apply(thisArg || this, args);\n\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\treturn retVal;\n\t\t\t}\n\t\t};\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Lock\n */\nconst protectedData = new WeakMap();\n\nexport class Lock {\n\tconstructor(name, mode = 'exclusive') {\n\t\tif (! ['exclusive', 'shared'].includes(mode)) {\n\t\t\tthrow new TypeError(`'${mode}' (value of 'mode' member of LockOptions) is not a valid value for enumeration LockMode.`);\n\t\t}\n\n\t\tif (typeof name !== 'string') {\n\t\t\tname = name.toString();\n\t\t}\n\n\t\tif (name.startsWith('-')) {\n\t\t\tthrow new DOMException('Names starting with `-` are reserved');\n\t\t}\n\n\t\tprotectedData.set(this, { name, mode });\n\t}\n\n\tget name() {\n\t\treturn protectedData.get(this).name;\n\t}\n\n\tget mode() {\n\t\treturn protectedData.get(this).mode;\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n */\nimport { getDeferred, isAsync } from './utility.js';\nimport { Lock } from './Lock.js';\nconst locks = new Map();\nconst symbols = {\n\tlockKey: Symbol('lock-key'),\n};\n\nexport const nativeSupport = 'locks' in navigator && navigator.locks.request instanceof Function;\nexport async function checkSupport() {\n\treturn await new Promise(resolve => {\n\t\tif ('locks' in navigator && navigator.locks.request instanceof Function) {\n\t\t\tnavigator.locks.query().then(() => resolve(true)).catch(() => resolve(false));\n\t\t} else {\n\t\t\tresolve(false);\n\t\t}\n\t});\n}\n/**\n * Some browsing contexts (iframes) have `navigator.locks` but methods only throw\n */\nexport const actuallySupported = checkSupport();\n\nasync function callFunction(callback, arg = null) {\n\treturn new Promise((resolve, reject) => {\n\t\tif (isAsync(callback)) {\n\t\t\tcallback.call(globalThis, arg).then(resolve, reject);\n\t\t} else {\n\t\t\tqueueMicrotask(() => {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = callback.call(globalThis, arg);\n\t\t\t\t\tresolve(result);\n\t\t\t\t} catch(err) {\n\t\t\t\t\treject(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction shouldPend({ name, mode }) {\n\tswitch(mode) {\n\t\tcase 'exclusive': return getLocks().some(lock => lock.name === name);\n\t\tcase 'shared': return getLocks().some(lock => lock.name === name && lock.mode === 'exclusive');\n\t}\n}\n\nfunction stealLocks(name) {\n\t[...locks.entries()].filter(([lock]) => lock.name === name).forEach(([lock, { reject, controller }]) => {\n\t\trequestIdleCallback(() => {\n\t\t\tcontroller.abort();\n\t\t\tlocks.delete(lock);\n\t\t});\n\t\treject(new DOMException('The lock request is aborted'));\n\t});\n}\n\nasync function whenReleased(lock) {\n\tif (locks.has(lock)) {\n\t\tawait locks.get(lock).promise.catch(console.error);\n\t}\n}\n\nfunction queueTask(name, mode, callback) {\n\tconst { resolve, reject, promise } = getDeferred();\n\tconst controller = new AbortController();\n\tconst lock = new Lock(name, mode);\n\tconst pending = shouldPend(lock);\n\tlocks.set(lock, { resolve, reject, promise, callback, pending, controller });\n\treturn lock;\n}\n\nfunction setPending(lock, pending = true) {\n\tif (locks.has(lock)) {\n\t\tlocks.set(lock, {...locks.get(lock), pending });\n\t}\n}\n\nfunction isPending(lock) {\n\treturn lock instanceof Lock && locks.has(lock) && locks.get(lock).pending;\n}\n\nfunction getLocks(name) {\n\tif (typeof name === 'string') {\n\t\treturn [...locks.keys()].filter(lock => lock.name === name);\n\t} else {\n\t\treturn [...locks.keys()];\n\t}\n}\n\nfunction getHeldLocks(name) {\n\treturn getLocks(name).filter(lock => ! isPending(lock));\n}\n\nfunction getPendingLocks(name) {\n\treturn getLocks(name).filter(lock => isPending(lock));\n}\n\nasync function whenNotBlocked(lock) {\n\tswitch(lock.mode) {\n\t\tcase 'exclusive':\n\t\t\tawait Promise.allSettled(getLocks()\n\t\t\t\t.filter(l => l.name === lock.name && l !== lock).map(whenReleased));\n\t\t\tbreak;\n\t\tcase 'shared':\n\t\t\tawait Promise.allSettled(getLocks()\n\t\t\t\t.filter(l => l.name === lock.name && l.mode === 'exclusive' && l !== lock).map(whenReleased));\n\t\t\tbreak;\n\t}\n}\n\nfunction getLockSignal(lock) {\n\tif (locks.has(lock)) {\n\t\treturn locks.get(lock).controller.signal;\n\t}\n}\n\nasync function executeLock(lock) {\n\tif (locks.has(lock)) {\n\t\tconst { resolve, reject, promise, callback, pending, controller } = locks.get(lock);\n\t\tif (pending) {\n\t\t\tsetPending(lock, false);\n\t\t}\n\n\t\tcallFunction(callback, lock).then(resolve, reject).finally(() => {\n\t\t\tlocks.delete(lock);\n\t\t\trequestIdleCallback(() => controller.abort());\n\t\t});\n\n\t\treturn promise;\n\t}\n}\n\n/**\n * @see https://w3c.github.io/web-locks/\n * @see https://developer.mozilla.org/en-US/docs/Web/API/LockManager\n */\nexport class LockManager {\n\tconstructor(key) {\n\t\tif (key !== symbols.lockKey) {\n\t\t\tthrow new TypeError('Invalid constructor');\n\t\t}\n\t}\n\t/**\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request\n\t * @param {[type]} name [description]\n\t * @param {[type]} args [description]\n\t * @return {Promise} [description]\n\t * static async request(name, callback)\n\t * static async request(name, { mode = 'exclusive', ifAvailable = false, steal = false, signal }, callback)\n\t */\n\tstatic async request(name, ...args) {\n\t\tlet opts = {}, callback;\n\t\tif (args[0] instanceof Function) {\n\t\t\tcallback = args[0];\n\t\t} else if (args[1] instanceof Function) {\n\t\t\t[opts, callback] = args;\n\t\t}\n\n\t\tif (typeof name !== 'string') {\n\t\t\tname = name.toString();\n\t\t}\n\n\t\tconst { mode = 'exclusive', ifAvailable = false, steal = false, signal } = opts;\n\n\t\tif (steal && ifAvailable) {\n\t\t\tthrow new DOMException('LockManager.request: `steal` and `ifAvailable` cannot be used together');\n\t\t} else if (name.startsWith('-')) {\n\t\t\tthrow new DOMException('LockManager.request: Names starting with `-` are reserved');\n\t\t} else if (! ['exclusive', 'shared'].includes(mode)) {\n\t\t\tthrow new TypeError(`LockManager.request: '${mode}' (value of 'mode' member of LockOptions) is not a valid value for enumeration LockMode.`);\n\t\t} else if (signal instanceof AbortSignal && signal.aborted) {\n\t\t\tthrow signal.reason;\n\t\t} else if (mode === 'shared' && steal) {\n\t\t\tthrow new DOMException('LockManager.request: `steal` is only supported for exclusive lock requests');\n\t\t}\n\n\t\tconst held = getHeldLocks(name);\n\t\tconst pending = getPendingLocks(name);\n\t\tconst alreadyLocked = [...held, ...pending].some(lock => lock.name === name);\n\n\t\tif (steal && alreadyLocked) {\n\t\t\tstealLocks(name);\n\t\t}\n\n\t\t/**\n\t\t * If shared & held lock found (none exclusive), then this lock may be held as well\n\t\t * If exclusive & held or pending lock found, this is pending\n\t\t */\n\t\tconst lock = queueTask(name, mode, callback);\n\t\tif (signal instanceof AbortSignal) {\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\tif (locks.has(lock)) {\n\t\t\t\t\tconst { reject, controller } = locks.get(lock);\n\t\t\t\t\tlocks.delete(lock);\n\t\t\t\t\treject(new DOMException('The lock request is aborted'));\n\t\t\t\t\tcontroller.abort();\n\t\t\t\t}\n\t\t\t}, { once: true, signal: getLockSignal(lock) });\n\t\t}\n\n\t\tswitch(mode) {\n\t\t\tcase 'exclusive': {\n\t\t\t\tif (ifAvailable && (held.length !== 0 || pending.length !== 0)) {\n\t\t\t\t\tconst controller = locks.get(lock).controller;\n\t\t\t\t\tlocks.delete(lock);\n\t\t\t\t\treturn await callFunction(callback, null).then(result => {\n\t\t\t\t\t\trequestIdleCallback(() => controller.abort());\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tawait whenNotBlocked(lock);\n\t\t\t\t\treturn await executeLock(lock);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcase 'shared': {\n\t\t\t\tif (! ifAvailable) {\n\t\t\t\t\tawait whenNotBlocked(lock);\n\t\t\t\t\treturn await executeLock(lock);\n\t\t\t\t} else if ([...held, ...pending].some(lock => lock.mode === 'exclusive')) {\n\t\t\t\t\tconst controller = locks.get(lock).controller;\n\t\t\t\t\tlocks.delete(lock);\n\t\t\t\t\treturn await callFunction(callback, null).then(result => {\n\t\t\t\t\t\trequestIdleCallback(() => controller.abort());\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tawait whenNotBlocked(lock);\n\t\t\t\t\treturn await executeLock(lock);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tthrow new TypeError(`LockManager.request: '${mode}' (value of 'mode' member of LockOptions) is not a valid value for enumeration LockMode.`);\n\t\t}\n\t}\n\n\t/**\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/LockManager/query\n\t * @return {Promise} { held: [], pending: [] }\n\t */\n\tstatic async query() {\n\t\treturn {\n\t\t\theld: getHeldLocks().map(({ name, mode }) => ({ name, mode, clientId: null })),\n\t\t\tpending: getPendingLocks().map(({ name, mode }) => ({ name, mode, clientId: null })),\n\t\t};\n\t}\n}\n\nexport async function request(...args) {\n\tif (await actuallySupported) {\n\t\treturn navigator.locks.request(...args);\n\t} else {\n\t\treturn LockManager.request(...args);\n\t}\n}\n\nexport async function query() {\n\tif (await actuallySupported) {\n\t\treturn navigator.locks.query();\n\t} else {\n\t\treturn LockManager.query();\n\t}\n}\n\nexport async function polyfill() {\n\tif (! nativeSupport) {\n\t\tglobalThis.Lock = Lock;\n\t\tglobalThis.LockManager = LockManager;\n\t\tnavigator.locks = LockManager;\n\t} else if (! await actuallySupported) {\n\t\tnavigator.locks.request = (...args) => LockManager.request(...args);\n\t\tnavigator.locks.query = () => LockManager.query();\n\t}\n}\n","export function errorToEvent(error, type = 'error') {\n\tif (error instanceof Error) {\n\t\tconst { message, name, fileName: filename, lineNumber: lineno, columnNumber: colno } = error;\n\t\treturn new ErrorEvent(type, { error, message: `${name}: ${message}`, filename, lineno, colno });\n\t} else {\n\t\tthrow new TypeError('`errorToEvent()` only accepts Errors');\n\t}\n}\n","import { LockManager, actuallySupported, nativeSupport } from './assets/LockManager.js';\nimport { errorToEvent } from './assets/error.js';\nlet polyfilled = false;\n\nconst polyfilledPromise = new Promise(async resolve => {\n\tif (nativeSupport) {\n\t\tif (await actuallySupported) {\n\t\t\tresolve(false);\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tnavigator.locks.request = LockManager.request;\n\t\t\t\tnavigator.locks.query = LockManager.query;\n\t\t\t\tpolyfilled = true;\n\t\t\t\tresolve(true);\n\t\t\t} catch(err) {\n\t\t\t\tglobalThis.dispatchEvent(errorToEvent(err));\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tnavigator.locks = LockManager;\n\t\t\tpolyfilled = true;\n\t\t\tresolve(true);\n\t\t} catch(err) {\n\t\t\tglobalThis.dispatchEvent(errorToEvent(err));\n\t\t\tresolve(false);\n\t\t}\n\t}\n});\n\n\nexport { polyfilled, polyfilledPromise };\n","'use strict';\n\nif (! ('AbortSignal' in globalThis)) {\n\tconst symbols = {\n\t\tsignal: Symbol('signal'),\n\t\taborted: Symbol('aborted'),\n\t\treason: Symbol('reason'),\n\t\tonabort: Symbol('onabort'),\n\t};\n\n\tglobalThis.AbortError = class AbortError extends Error {};\n\n\tglobalThis.AbortSignal = class AbortSignal extends EventTarget {\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tObject.defineProperties(this,{\n\t\t\t\t[symbols.aborted]: {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: false,\n\t\t\t\t},\n\t\t\t\t[symbols.reason]: {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t},\n\t\t\t\t[symbols.onabort]: {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: null,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.addEventListener('abort', event => {\n\t\t\t\tif (this.onabort instanceof Function) {\n\t\t\t\t\tthis.onabort.call(this, event);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tget aborted() {\n\t\t\treturn this[symbols.aborted];\n\t\t}\n\n\t\tget onabort() {\n\t\t\treturn this[symbols.onabort];\n\t\t}\n\n\t\tset onabort(value) {\n\t\t\tif (value instanceof Function) {\n\t\t\t\tthis[symbols.onabort] = value;\n\t\t\t} else {\n\t\t\t\tthis[symbols.onabort] = null;\n\t\t\t}\n\t\t}\n\n\t\tget reason() {\n\t\t\treturn this[symbols.reason];\n\t\t}\n\n\t\tthrowIfAborted() {\n\t\t\tif (this.aborted) {\n\t\t\t\tthrow this.reason;\n\t\t\t}\n\t\t}\n\n\t\tstatic abort(reason = new DOMException('Operation aborted')) {\n\t\t\tconst signal = new AbortSignal();\n\t\t\tsignal[symbols.aborted] = true;\n\t\t\tsignal[symbols.reason] = reason;\n\t\t\treturn signal;\n\t\t}\n\t};\n\n\tglobalThis.AbortController = class AbortController {\n\t\tconstructor() {\n\t\t\tthis[symbols.signal] = new AbortSignal();\n\t\t}\n\n\t\tget signal() {\n\t\t\treturn this[symbols.signal];\n\t\t}\n\n\t\tabort(reason = new DOMException('Operation aborted')) {\n\t\t\tconst signal = this.signal;\n\n\t\t\tif (! signal.aborted) {\n\t\t\t\tsignal[symbols.aborted] = true;\n\t\t\t\tsignal[symbols.reason] = reason;\n\t\t\t\tsignal.dispatchEvent(new Event('abort'));\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! ('reason' in AbortSignal.prototype)) {\n\tconst reasons = new WeakMap();\n\tconst abort = AbortController.prototype.abort;\n\n\tif (AbortSignal.abort instanceof Function) {\n\t\tconst staticAbort = AbortSignal.abort;\n\n\t\tAbortSignal.abort = function(reason = new DOMException('Operation aborted')) {\n\t\t\tconst signal = staticAbort();\n\t\t\treasons.set(signal, reason);\n\t\t\treturn signal;\n\t\t};\n\t} else {\n\t\tAbortSignal.abort = function abort(reason = new DOMException('Operation aborted')) {\n\t\t\tconst controller = new AbortController();\n\t\t\tcontroller.abort(reason);\n\t\t\treturn controller.reason;\n\t\t};\n\t}\n\n\tObject.defineProperty(AbortSignal.prototype, 'reason', {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: function() {\n\t\t\tif (reasons.has(this)) {\n\t\t\t\treturn reasons.get(this);\n\t\t\t} else {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\t});\n\n\tAbortController.prototype.abort = function(reason = new DOMException('Operation aborted')) {\n\t\treasons.set(this.signal, reason);\n\t\tabort.call(this);\n\t};\n}\n\nif (! (AbortSignal.prototype.throwIfAborted instanceof Function)) {\n\tAbortSignal.prototype.throwIfAborted = function() {\n\t\tif (this.aborted) {\n\t\t\tthrow this.reason;\n\t\t}\n\t};\n}\n\nif (! (AbortSignal.timeout instanceof Function)) {\n\tAbortSignal.timeout = function(ms) {\n\t\tif (typeof ms === 'undefined') {\n\t\t\tthrow new TypeError('At least one 1 argument required but only 0 passed');\n\t\t} else if (! Number.isFinite(ms)) {\n\t\t\tthrow new TypeError('Argument 1 is not a finite value, so it is out of range for unsigned long long.');\n\t\t} else if (ms < 0) {\n\t\t\tthrow new TypeError('Argument 1 is out of range for unsigned long long.');\n\t\t} else {\n\t\t\tconst controller = new AbortController();\n\t\t\tsetTimeout(() => controller.abort(new DOMException('The operation timed out.')), ms);\n\t\t\treturn controller.signal;\n\t\t}\n\t};\n}\n\n/**\n * @see https://chromestatus.com/feature/5202879349522432\n * @TODO How do I handle if a signal is already aborted\n * @TODO Should controller abort on a TypeError\n */\nif (! (AbortSignal.any instanceof Function)) {\n\tAbortSignal.any = function(signals) {\n\t\tif (! Array.isArray(signals)) {\n\t\t\tthrow new TypeError('Expected an array of signals');\n\t\t}\n\n\t\tconst controller = new AbortController();\n\n\t\tfor (const signal of signals) {\n\t\t\tif (! (signal instanceof AbortSignal)) {\n\t\t\t\tconst err = new TypeError('`signal` is not an `AbortSignal`');\n\t\t\t\tcontroller.abort(err);\n\t\t\t\tthrow err;\n\t\t\t} else if (signal.aborted) {\n\t\t\t\tcontroller.abort(signal.reason || new DOMException('Operation aborted.'));\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\t\tcontroller.abort(target.reason || new DOMException('Operation aborted.'));\n\t\t\t\t}, { signal: controller.signal });\n\t\t\t}\n\t\t}\n\n\t\treturn controller.signal;\n\t};\n}\n","(function() {\n\t'use strict';\n\n\tif (! (navigator.canShare instanceof Function)) {\n\t\tnavigator.canShare = function({ title, text, url, files } = {}) {\n\t\t\tif (! (navigator.share instanceof Function)) {\n\t\t\t\treturn false;\n\t\t\t} else if (Array.isArray(files) && files.length !== 0) {\n\t\t\t\treturn false;\n\t\t\t} else if ([title, text, url].every(arg => typeof arg === 'undefined')) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn [title, text, url].some(arg => typeof arg === 'string' && arg.length !== 0);\n\t\t\t}\n\t\t};\n\t}\n})();\n","(function() {\n\t'use strict';\n\n\tif (! (navigator.setAppBadge instanceof Function)) {\n\t\tnavigator.setAppBadge = async (n) => {\n\t\t\tif (! Number.isInteger(n)) {\n\t\t\t\tthrow new TypeError('Failed to execute \\'setAppBadge\\' on \\'Navigator\\': Value is not of type \\'unsigned long long\\'');\n\t\t\t} else if (n < 0) {\n\t\t\t\tthrow new TypeError('Failed to execute \\'setAppBadge\\' on \\'Navigator\\': Value is outside the \\'unsigned long long\\' value range.');\n\t\t\t} else if (n === 0) {\n\t\t\t\tif (document.title.startsWith('(')) {\n\t\t\t\t\tdocument.title = document.title.replace(/^\\((\\d{1,2}\\+?)\\)\\s/, '');\n\t\t\t\t}\n\t\t\t} else if (n < 100) {\n\t\t\t\tawait navigator.clearAppBadge();\n\t\t\t\tdocument.title = `(${n}) ${document.title}`;\n\t\t\t} else {\n\t\t\t\tawait navigator.clearAppBadge();\n\t\t\t\tdocument.title = `(99+) ${document.title}`;\n\t\t\t}\n\t\t};\n\t}\n\n\tif (! (navigator.clearAppBadge instanceof Function)) {\n\t\tnavigator.clearAppBadge = () => navigator.setAppBadge(0);\n\t}\n})();\n","import './locks.js';\nimport './share.js';\nimport './appBadge.js';\n\nif (! Navigator.prototype.hasOwnProperty('pdfViewerEnabled')) {\n\tObject.defineProperty(navigator, 'pdfViewerEnabled', {\n\t\tenumerable: true,\n\t\tconfigurable: false,\n\t\twritable: false,\n\t\tvalue: false,\n\t});\n}\n\nif (! (Navigator.prototype.getInstalledRelatedApps instanceof Function)) {\n\tNavigator.prototype.getInstalledRelatedApps = async () => [];\n}\n\nif (! (Navigator.prototype.getGamepads instanceof Function)) {\n\tNavigator.prototype.getGamepads = () => [];\n}\n\nif (! ('hardwareConcurrency' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'hardwareConcurrency', {\n\t\tget: () => 1,\n\t});\n}\n\nif (! ('connection' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'connection', {\n\t\tget: () => Object.create(EventTarget.prototype, {\n\t\t\ttype: { value: 'unknown' },\n\t\t\teffectiveType: { value: '4g' },\n\t\t\trtt: { value: NaN },\n\t\t\tdownlink: { value: NaN },\n\t\t\tdownlinkMax: { value: Infinity },\n\t\t\tsaveData: { value: false },\n\t\t\tonchange: { value: null, writable: true },\n\t\t\tontypechange: { value: null, writable: true },\n\t\t})\n\t});\n} else if (! ('type' in navigator.connection)) {\n\tnavigator.connection.type = 'unknown';\n}\n\nif (! ('doNotTrack' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'doNotTrack', {\n\t\tget: () => 'unspecified',\n\t});\n}\n\nif (! ('globalPrivacyControl' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'globalPrivacyControl', {\n\t\tget: () => false,\n\t});\n}\n","(function() {\n\t'use strict';\n\n\tif (! (globalThis.requestIdleCallback instanceof Function)) {\n\t\tconst isValidTimeout = timeout => Number.isSafeInteger(timeout) && timeout > 0;\n\n\t\tglobalThis.requestIdleCallback = function(callback, { timeout } = {}) {\n\t\t\tconst start = performance.now();\n\t\t\tconst timeRemaining = () => isValidTimeout(timeout)\n\t\t\t\t? Math.max(0, timeout - (performance.now() - start))\n\t\t\t\t: Math.max(0, 600 - (performance.now() - start));\n\n\t\t\treturn setTimeout(() => callback({\n\t\t\t\tdidTimeout: isValidTimeout(timeout) ? timeRemaining() === 0 : false,\n\t\t\t\ttimeRemaining,\n\t\t\t}), 1);\n\t\t};\n\t}\n\n\tif (! (globalThis.cancelIdleCallback instanceof Function)) {\n\t\tglobalThis.cancelIdleCallback = id => clearTimeout(id);\n\t}\n\n\tif (! (globalThis.requestAnimationFrame instanceof Function)) {\n\t\tglobalThis.requestAnimationFrame = callback => setTimeout(() => callback(performance.now()), 1000 / 60);\n\t}\n\n\tif (! (globalThis.cancelAnimationFrame instanceof Function)) {\n\t\tglobalThis.cancelAnimationFrame = id => clearTimeout(id);\n\t}\n\n\tif (! (globalThis.queueMicrotask instanceof Function)) {\n\t\tglobalThis.queueMicrotask = cb => Promise.resolve().then(cb)\n\t\t\t.catch(e => setTimeout(() => { throw e; }));\n\t}\n})();\n","import { errorToEvent } from './assets/error.js';\n\nif (! globalThis.hasOwnProperty('AggregateError')) {\n\tglobalThis.AggregateError = class AggregateError extends Error {\n\t\tconstructor(errors, message) {\n\t\t\tif (typeof message === 'undefined') {\n\t\t\t\tsuper(errors);\n\t\t\t\tthis.errors = [];\n\t\t\t} else {\n\t\t\t\tsuper(message);\n\t\t\t\tthis.errors = errors;\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! (globalThis.reportError instanceof Function)) {\n\tglobalThis.reportError = function reportError(error) {\n\t\tglobalThis.dispatchEvent(errorToEvent(error));\n\t};\n}\n\n\nif (! (Error.isError instanceof Function)) {\n\t// @see https://github.com/tc39/proposal-is-error/blob/main/polyfill.js\n\tconst toStr = Function.bind.call(Function.call, Object.prototype.toString);\n\n\tError.isError = function isError(arg) {\n\t\treturn arg instanceof Error || (typeof arg === 'object' && toStr(arg) === '[object Error]' && arg[Symbol.toStringTag] === undefined);\n\t};\n}\n","(function() {\n\t'use strict';\n\n\tif (! ('MediaQueryListEvent' in globalThis)) {\n\t\t/**\n\t\t * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryListEvent\n\t\t */\n\t\tglobalThis.MediaQueryListEvent = class MediaQueryListEvent extends Event {\n\t\t\tconstructor(type, { media, matches } = {}) {\n\t\t\t\tsuper(type);\n\t\t\t\tObject.defineProperties(this, {\n\t\t\t\t\t'media': {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: false,\n\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\tvalue: media,\n\t\t\t\t\t},\n\t\t\t\t\t'matches': {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: false,\n\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\tvalue: matches,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\n\tif ('MediaQueryList' in globalThis && ! (globalThis.MediaQueryList.prototype.addEventListener instanceof Function)) {\n\t\tconst targets = new WeakMap();\n\n\t\tconst listener = function listener() {\n\t\t\tconst { media, matches } = this;\n\t\t\tthis.dispatchEvent(new MediaQueryListEvent('change', { media, matches }));\n\t\t};\n\n\t\tconst init = function init(mql) {\n\t\t\tif (! targets.has(mql)) {\n\t\t\t\ttargets.set(mql, new EventTarget());\n\t\t\t\tmql.addListener(listener.bind(mql));\n\t\t\t}\n\n\t\t\treturn targets.get(mql);\n\t\t};\n\n\t\tglobalThis.MediaQueryList.prototype.addEventListener = function addEventListener(type, callback, opts) {\n\t\t\tinit(this).addEventListener(type, callback, opts);\n\t\t};\n\n\t\tglobalThis.MediaQueryList.prototype.removeEventListener = function removeEventListner(type, callback, opts) {\n\t\t\tinit(this).removeEventListener(type, callback, opts);\n\t\t};\n\n\t\tglobalThis.MediaQueryList.prototype.dispatchEvent = function dispatchEvent(event) {\n\t\t\tinit(this).dispatchEvent(event);\n\t\t};\n\t}\n})();\n","if ('Promise' in globalThis) {\n\tif (! (Promise.prototype.finally instanceof Function)) {\n\t\tPromise.prototype.finally = function(callback) {\n\t\t\treturn this.then(async val => {\n\t\t\t\tawait callback();\n\t\t\t\treturn val;\n\t\t\t}, async val => {\n\t\t\t\tawait callback();\n\t\t\t\treturn val;\n\t\t\t});\n\t\t};\n\t}\n\n\tif (! (Promise.allSettled instanceof Function)) {\n\t\tPromise.allSettled = function(promises) {\n\t\t\treturn Promise.all(Array.from(promises).map(function(call) {\n\t\t\t\treturn new Promise(function(resolve) {\n\t\t\t\t\tif (! (call instanceof Promise)) {\n\t\t\t\t\t\tcall = Promise.resolve(call);\n\t\t\t\t\t}\n\t\t\t\t\tcall.then(function(value) {\n\t\t\t\t\t\tresolve({ status: 'fulfilled', value: value });\n\t\t\t\t\t}).catch(function(reason) {\n\t\t\t\t\t\tresolve({ status: 'rejected', reason: reason });\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}));\n\t\t};\n\t}\n\n\tif (! (Promise.any instanceof Function)) {\n\t\tPromise.any = (promises) => new Promise((resolve, reject) => {\n\t\t\tlet errors = [];\n\n\t\t\tpromises.forEach(promise => {\n\t\t\t\tpromise.then(resolve).catch(e => {\n\t\t\t\t\terrors.push(e);\n\t\t\t\t\tif (errors.length === promises.length) {\n\t\t\t\t\t\treject(new globalThis.AggregateError(errors, 'No Promise in Promise.any was resolved'));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tif (! (Promise.race instanceof Function)) {\n\t\tPromise.race = (promises) => new Promise((resolve, reject) => {\n\t\t\tpromises.forEach(promise => promise.then(resolve, reject));\n\t\t});\n\t}\n\n\tif (! (Promise.try instanceof Function)) {\n\t\t/**\n\t\t * @see https://github.com/tc39/proposal-promise-try\n\t\t */\n\t\tPromise.try = (callback, ...args) => new Promise(resolve => resolve(callback(...args)));\n\t}\n\n\tif (! (Promise.withResolvers instanceof Function)) {\n\t\tPromise.withResolvers = function() {\n\t\t\tconst def = {};\n\t\t\tdef.promise = new Promise((resolve, reject) => {\n\t\t\t\tdef.resolve = resolve;\n\t\t\t\tdef.reject = reject;\n\t\t\t});\n\n\t\t\treturn def;\n\t\t};\n\t}\n\n\tif (! (Promise.fromEntries instanceof Function)) {\n\t\tPromise.fromEntries = async function fromEntries(entries) {\n\t\t\tconst keys = [];\n\t\t\tconst values = [];\n\n\t\t\tfor (const [key, value] of entries) {\n\t\t\t\tkeys.push(key);\n\t\t\t\tvalues.push(value);\n\t\t\t}\n\n\t\t\treturn await Promise.all(values)\n\t\t\t\t.then(values => Object.fromEntries(values.map((value, i) => [keys[i], value])));\n\t\t};\n\t}\n\n\tif (!(Promise.ownProperties instanceof Function)) {\n\t\tPromise.ownProperties = async function ownProperties(obj) {\n\t\t\treturn await Promise.fromEntries(Object.entries(obj));\n\t\t};\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n */\nexport class TextEncoder {\n\tget encoding() {\n\t\treturn 'utf-8';\n\t}\n\n\tencode(str) {\n\t\t// Identical to char up to 127, then [194, (n)] for n=(128-191),\n\t\t// then [194, (128-191)] for n=(192-255)\n\t\t// and it looks like this holds in intervals of 64\n\t\treturn new Uint8Array(str.split('').flatMap(char => {\n\t\t\tconst code = char.charCodeAt(0);\n\n\t\t\tif (code < 128) {\n\t\t\t\treturn [code];\n\t\t\t} else {\n\t\t\t\tconst pt = 194 + Math.floor((code - 128) / 64);\n\t\t\t\treturn [pt, (code % 64) + 128];\n\t\t\t}\n\t\t}));\n\t}\n\n\tencodeInto(str, ui8arr) {\n\t\tif (! (ui8arr instanceof Uint8Array)) {\n\t\t\tthrow new TypeError('TextEncoder.encodeInto: Argument 2 does not implement interface Uint8Array.');\n\t\t} else {\n\t\t\tconst encoded = this.encode(str);\n\t\t\tconst len = Math.min(ui8arr.length, encoded.length);\n\n\t\t\tif (encoded.length > ui8arr.length) {\n\t\t\t\tui8arr.set(encoded.slice(0, len));\n\t\t\t} else {\n\t\t\t\tui8arr.set(encoded);\n\t\t\t}\n\n\t\t\treturn { read: len, written: len };\n\t\t}\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n */\nimport { between } from './utility.js';\n/**\n *\n * Array of supported encodings\n * @Todo: At least add utf-16\n * @type {Array}\n */\nconst supportedEncodings = ['utf-8', 'utf8'];\n\nexport const BOM = new Uint8Array([0xEF, 0xBB, 0xBF]);\n\nexport class TextDecoder {\n\tconstructor(encoding = 'utf-8', { fatal = false, ignoreBOM = false } = {}) {\n\t\tif (typeof encoding !== 'string') {\n\t\t\tencoding = encoding.toString().toLowerCase();\n\t\t} else {\n\t\t\tencoding = encoding.toLowerCase();\n\t\t}\n\n\t\tif (! supportedEncodings.includes(encoding)) {\n\t\t\tthrow new RangeError(`TextDecoder constructor: The given encoding '${encoding}' is not supported.`);\n\t\t}\n\n\t\tObject.defineProperties(this, {\n\t\t\tencoding: {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: encoding,\n\t\t\t},\n\t\t\tfatal: {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: fatal,\n\t\t\t},\n\t\t\tignoreBOM: {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: ignoreBOM,\n\t\t\t},\n\t\t});\n\t}\n\n\tdecode(data) {\n\t\tswitch(this.encoding) {\n\t\t\tcase 'utf-8':\n\t\t\tcase 'utf8': {\n\t\t\t\tlet prev = NaN;\n\t\t\t\t/**\n\t\t\t\t * For (0,127) we just take the charCode\n\t\t\t\t * For charCode 128+this will be in the form [n=194+, m=(128-191)]\n\t\t\t\t * where n increments after m reaches 191, increments, and rolls back to 128\n\t\t\t\t */\n\t\t\t\treturn data.reduce((str, i, n) => {\n\t\t\t\t\tif (Number.isNaN(prev) && i < 128) {\n\t\t\t\t\t\treturn str + String.fromCharCode(i);\n\t\t\t\t\t} else if (Number.isNaN(prev) && i > 193) {\n\t\t\t\t\t\tprev = i;\n\t\t\t\t\t\treturn str;\n\t\t\t\t\t} else if (prev > 193 && between(128, i, 194)) {\n\t\t\t\t\t\tconst offset = (prev - 194) * 64;\n\t\t\t\t\t\tprev = NaN;\n\t\t\t\t\t\treturn str + String.fromCharCode(offset + i);\n\t\t\t\t\t} else if (this.fatal) {\n\t\t\t\t\t\tthrow new RangeError(`Unhandled character at postion ${n}`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprev = NaN;\n\t\t\t\t\t\treturn str;\n\t\t\t\t\t}\n\t\t\t\t}, '');\n\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tthrow new TypeError(`Unsupported encoding '${this.encoding}'`);\n\t\t}\n\t}\n}\n","import { TextEncoder } from './assets/TextEncoder.js';\nimport { TextDecoder } from './assets/TextDecoder.js';\n\nif (! ('TextEncoder' in globalThis)) {\n\tglobalThis.TextEncoder = TextEncoder;\n}\n\nif (! ('TextDecoder' in globalThis)) {\n\tglobalThis.TextDecoder = TextDecoder;\n}\n\nif (! (globalThis.TextEncoder.prototype.encodeInto instanceof Function)) {\n\tglobalThis.TextEncoder.prototype.encodeInto = function(...args) {\n\t\treturn TextEncoder.prototype.encodeInto.apply(this, args);\n\t};\n}\n","if (crypto in globalThis && ! (crypto.randomUUID instanceof Function)) {\n\tcrypto.randomUUID = function randomUUID() {\n\t\t'use strict';\n\t\treturn ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\n\t\t\t(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\n\t\t);\n\t};\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n * @SEE https://wicg.github.io/cookie-store/\n * @SEE https://wicg.github.io/cookie-store/explainer.html\n * @NOTE: This offers similar methods but is not a substitute and cannot get extended\n * cookie properties, such as expires, etc.\n *\n * @TODO verify spec compliance as best as is possible\n */\n\nexport const nativeSupport = 'cookieStore' in globalThis;\n\nconst symbols = {\n\tconstructor: Symbol('constructor'),\n};\n\nfunction getAllCookies() {\n\tif (document.cookie.length === 0) {\n\t\treturn [];\n\t} else {\n\t\treturn document.cookie.split(';').map(str => {\n\t\t\tconst [name, value = null] = str.split('=');\n\t\t\treturn {\n\t\t\t\tname: decodeURIComponent(name.trim()),\n\t\t\t\tvalue: typeof value === 'string' ? decodeURIComponent(value.trim()) : null,\n\t\t\t\tpath: undefined,\n\t\t\t\texpires: undefined,\n\t\t\t\tdomain: undefined,\n\t\t\t\tsameSite: undefined,\n\t\t\t\tsecure: undefined,\n\t\t\t\tpartitioned: false,\n\t\t\t};\n\t\t});\n\t}\n}\n\nfunction defaultParams({\n\tname,\n\tvalue = null,\n\tdomain = null,\n\tpath = '/',\n\texpires = null,\n\tmaxAge = null,\n\tsameSite = 'lax',\n\tsecure = false,\n\tpartitioned = false,\n}) {\n\treturn { name, value, domain, path, expires, maxAge, sameSite, secure, partitioned };\n}\n\nfunction getter({ name = null, value = null } = {}) {\n\tif (typeof name === 'string') {\n\t\tname = decodeURIComponent(name);\n\t}\n\n\tif (typeof value === 'string') {\n\t\tvalue = decodeURIComponent(value);\n\t}\n\n\tif (typeof name === 'string' && typeof value === 'string') {\n\t\treturn getAllCookies().filter((cookie) =>\n\t\t\tcookie.name === name && cookie.value === value\n\t\t);\n\t} else if (typeof name === 'string') {\n\t\treturn getAllCookies().filter(cookie => cookie.name === name);\n\t} else if (typeof value === 'string') {\n\t\treturn getAllCookies().filter(cookie => cookie.value === value);\n\t} else {\n\t\treturn getAllCookies();\n\t}\n}\n\nfunction setter({\n\tname,\n\tvalue,\n\texpires = null,\n\tmaxAge = null,\n\tpath = '/',\n\tsameSite = 'lax',\n\tdomain = null,\n\tsecure = false,\n\tpartitioned = false,\n}) {\n\tif (Number.isInteger(maxAge)) {\n\t\tsetter({\n\t\t\tname, value, expires: Date.now() + maxAge, path, sameSite, domain, secure, partitioned,\n\t\t});\n\t} else {\n\t\tlet cookie = `${encodeURIComponent(name)}=`;\n\n\t\tif (value) {\n\t\t\tcookie += encodeURIComponent(value);\n\t\t}\n\n\t\tif (Number.isInteger(expires)) {\n\t\t\tcookie += `;expires=${new Date(expires).toUTCString()}`;\n\t\t} else if (expires instanceof Date) {\n\t\t\tcookie += `;expires=${expires.toUTCString()}`;\n\t\t}\n\n\t\tif (typeof path === 'string') {\n\t\t\tcookie += `;path=${path}`;\n\t\t}\n\n\t\tif (typeof domain === 'string') {\n\t\t\tcookie += `;domain=${domain}`;\n\t\t}\n\n\t\tif (typeof sameSite === 'string') {\n\t\t\tcookie += `;sameSite=${sameSite}`;\n\t\t}\n\n\t\tif (secure === true) {\n\t\t\tcookie += ';secure';\n\t\t}\n\n\t\tif (partitioned === true) {\n\t\t\tcookie += ';partitioned';\n\t\t}\n\n\t\tdocument.cookie = cookie;\n\t}\n}\n\nexport class CookieStore extends EventTarget {\n\tconstructor(key) {\n\t\tif (key !== symbols.constructor) {\n\t\t\tthrow new DOMException('Invalid constructor');\n\t\t}\n\n\t\tsuper();\n\n\t\tObject.defineProperty(this, symbols.onchange, {\n\t\t\tenumerable: false,\n\t\t\tconfigurable: false,\n\t\t\twritable: true,\n\t\t\tvalue: null,\n\t\t});\n\t}\n\n\tget onchange() {\n\t\treturn this[symbols.onchange];\n\t}\n\n\tset onchange(callback) {\n\t\tif (this[symbols.onchange] instanceof Function) {\n\t\t\tthis.removeEventListener('change', this[symbols.onchange]);\n\t\t}\n\n\t\tif (callback instanceof Function) {\n\t\t\tthis.addEventListener('change', callback);\n\t\t}\n\t}\n\n\tasync get(args) {\n\t\tconst cookies = await this.getAll(args);\n\n\t\tif (Array.isArray(cookies) && cookies.length !== 0) {\n\t\t\treturn cookies[0];\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync getAll(args) {\n\t\tif (typeof args === 'string') {\n\t\t\treturn getter({ name: args });\n\t\t} else {\n\t\t\treturn getter(args);\n\t\t}\n\t}\n\n\tasync set(...args) {\n\t\tif (args.length === 1 && typeof args[0] === 'object' && typeof args[0].name === 'string') {\n\t\t\tconst cookie = defaultParams(args[0]);\n\t\t\tsetter(cookie);\n\t\t\tconst event = new Event('change');\n\t\t\tevent.changed = [cookie];\n\t\t\tevent.deleted = [];\n\n\t\t\tthis.dispatchEvent(event);\n\t\t} else if (args.length === 2) {\n\t\t\tthis.set({ name: args[0], value: args[1] });\n\t\t} else {\n\t\t\tthrow new Error('Invalid arguments');\n\t\t}\n\t}\n\n\tasync delete(args = {}) {\n\t\tif (typeof args === 'string') {\n\t\t\tthis.delete({ name: args });\n\t\t} else if (typeof args === 'object' && typeof args.name === 'string') {\n\t\t\tconst cookies = await this.getAll(args);\n\n\t\t\tif (cookies.length !== 0) {\n\t\t\t\tconst event = new Event('change');\n\t\t\t\tevent.changed = [];\n\t\t\t\tevent.deleted = new Array(cookies.length);\n\n\t\t\t\tcookies.forEach((cookie, i) => {\n\t\t\t\t\tcookie.path = args.path || '/';\n\t\t\t\t\tcookie.domain = args.domain || null;\n\t\t\t\t\tcookie.secure = args.secure || null;\n\t\t\t\t\tdelete cookie.value;\n\t\t\t\t\tcookie.sameSite = args.sameSite || 'lax';\n\n\t\t\t\t\tevent.deleted[i] = cookie;\n\t\t\t\t\tsetter({...cookie, value: null, expires: 1 });\n\t\t\t\t});\n\n\t\t\t\tthis.dispatchEvent(event);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Failed to execute \\'delete\\' on \\'CookieStore\\': required member name is undefined.');\n\t\t}\n\t}\n}\n\nexport const cookieStore = new CookieStore(symbols.constructor);\n\nexport function polyfill() {\n\tif (! nativeSupport) {\n\t\tglobalThis.cookieStore = cookieStore;\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n","// Polyfill only if not natively supported & if DOM is available\nif ('HTMLElement' in globalThis && ! ('trustedTypes' in globalThis)) {\n\tconst symbols = {\n\t\tkey: Symbol('trust:key'),\n\t};\n\n\tconst EVENT_ATTRS = new Set(Object.keys(HTMLElement.prototype).filter(key => key.startsWith('on')));\n\n\tconst getAllowedPolicies = () => {\n\t\tconst meta = document.head.querySelector('meta[http-equiv=\"Content-Security-Policy\"][content]');\n\n\t\tif (meta instanceof HTMLMetaElement) {\n\t\t\tconst directives = meta.content.trim().split(';').filter(str => str.length !== 0).map(dir => dir.trim());\n\n\t\t\tconst csp = Object.fromEntries(directives.map(directive => {\n\t\t\t\tconst [key, ...rest] = directive.trim().split(' ').filter(part => part.length !== 0);\n\t\t\t\treturn [key, rest];\n\t\t\t}));\n\n\t\t\tconst enforced = Array.isArray(csp['require-trusted-types-for']) && csp['require-trusted-types-for'].includes('\\'script\\'');\n\t\t\tconst allowedPolicies = enforced && Array.isArray(csp['trusted-types'])\n\t\t\t\t? new Set(csp['trusted-types'])\n\t\t\t\t: new Set();\n\n\t\t\tconst allowDuplicates = allowedPolicies.has('\\'allow-duplicates\\'');\n\n\t\t\tif (allowedPolicies.has('\\'none\\'')) {\n\t\t\t\tallowedPolicies.clear();\n\t\t\t} else if (allowDuplicates) {\n\t\t\t\tallowedPolicies.delete('\\'allow-duplicates\\'');\n\t\t\t}\n\t\t\treturn { enforced, allowedPolicies, allowDuplicates };\n\t\t} else if (document.documentElement.dataset.hasOwnProperty('trustedPolicies')) {\n\t\t\tconst allowedPolicies = new Set(document.documentElement.dataset.trustedPolicies.split(' '));\n\t\t\tconst allowDuplicates = allowedPolicies.has('\\'allow-duplicates\\'');\n\t\t\tconst hasNone = allowedPolicies.has('\\'none\\'');\n\n\t\t\tif (allowDuplicates) {\n\t\t\t\tallowedPolicies.delete('\\'allow-duplicates\\'');\n\t\t\t}\n\n\t\t\tif (hasNone) {\n\t\t\t\tallowedPolicies.clear();\n\t\t\t}\n\t\t\treturn { enforced: true, allowedPolicies, allowDuplicates };\n\t\t} else {\n\t\t\treturn { enforced: false, allowedPolicies: new Set(), allowDuplicates: true };\n\t\t}\n\t};\n\n\tclass TrustedTypePolicyFactory {\n\t\t#policies;\n\t\t#allowedPolicies;\n\t\t#enforced;\n\t\t#allowDuplicates;\n\n\t\tconstructor({\n\t\t\tenforced,\n\t\t\tallowedPolicies,\n\t\t\tallowDuplicates,\n\t\t} = {}, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new TypeError('Invalid constructor of TrustedTypePolicyFactory.');\n\t\t\t} else if (! (allowedPolicies instanceof Set)) {\n\t\t\t\tthrow new TypeError('`allowedPolicies` must be a Set.');\n\t\t\t} else {\n\t\t\t\tthis.#allowedPolicies = allowedPolicies;\n\t\t\t\tthis.#enforced = enforced;\n\t\t\t\tthis.#allowDuplicates = allowDuplicates;\n\t\t\t\tthis.#policies = new Map();\n\t\t\t}\n\t\t}\n\n\t\tget defaultPolicy() {\n\t\t\tif (this.#policies.has('default')) {\n\t\t\t\treturn this.#policies.get('default');\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tcreatePolicy(name, {\n\t\t\tcreateHTML,\n\t\t\tcreateScript,\n\t\t\tcreateScriptURL,\n\t\t}) {\n\t\t\tif (! /^[-#a-zA-Z0-9=_/@.%]+$/.test(name.toString())) {\n\t\t\t\tthrow new TypeError(`Failed to execute 'createPolicy' on 'TrustedTypePolicyFactory': Policy: \"${name}\" contains invalid characters.`);\n\t\t\t} else if (this.#enforced && ! this.#allowedPolicies.has(name)) {\n\t\t\t\tthrow new TypeError(`${name} is not an allowed policy.`);\n\t\t\t} else if (! this.#allowDuplicates && this.#policies.has(name)) {\n\t\t\t\tthrow new TypeError(`${name} has already been created and duplicates are not allowed.`);\n\t\t\t} else {\n\t\t\t\tconst policy = new TrustedTypePolicy(name.toString(), {\n\t\t\t\t\tcreateHTML,\n\t\t\t\t\tcreateScript,\n\t\t\t\t\tcreateScriptURL,\n\t\t\t\t}, symbols.key);\n\n\t\t\t\tthis.#policies.set(policy.name, policy);\n\n\t\t\t\treturn policy;\n\t\t\t}\n\t\t}\n\n\t\tgetAttributeType(tagName, attribute, elementNs/*, attrNs*/) {\n\t\t\ttagName = tagName.toLowerCase();\n\t\t\tattribute = attribute.toLowerCase();\n\n\t\t\t/**\n\t\t\t * @Todo handle namespaced attributes\n\t\t\t */\n\t\t\tif (typeof elementNS === 'string' && elementNs.length !== 0) {\n\t\t\t\treturn EVENT_ATTRS.has(attribute) ? 'TrustedScript' : null;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * This is an `on*` attribute\n\t\t\t */\n\t\t\tif (EVENT_ATTRS.has(attribute)) {\n\t\t\t\treturn 'TrustedScript';\n\t\t\t}\n\n\t\t\tswitch(tagName) {\n\t\t\t\tcase 'script': {\n\t\t\t\t\tif (attribute === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcase 'iframe': {\n\t\t\t\t\tif (attribute === 'srcdoc') {\n\t\t\t\t\t\treturn 'TrustedHTML';\n\t\t\t\t\t} else if (attribute === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tgetPropertyType(tagName, property, /*elementNS*/) {\n\t\t\ttagName = tagName.toLowerCase();\n\n\t\t\tif (EVENT_ATTRS.has(property.toLowerCase())) {\n\t\t\t\treturn 'TrustedScript';\n\t\t\t}\n\n\t\t\tswitch(tagName) {\n\t\t\t\tcase 'embed':\n\t\t\t\tcase 'iframe': {\n\t\t\t\t\tif (property === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcase 'script': {\n\t\t\t\t\tif (property === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else if (['text', 'innerText', 'textContent', 'innerHTML'].includes(property)) {\n\t\t\t\t\t\treturn 'TrustedScript';\n\t\t\t\t\t} else if (['outerHTML'].includes(property)) {\n\t\t\t\t\t\treturn 'TrustedHTML';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tdefault: {\n\t\t\t\t\tif (['innerHTML', 'outerHTML'].includes(property)) {\n\t\t\t\t\t\treturn 'TrustedHTML';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tisHTML(thing) {\n\t\t\treturn thing instanceof globalThis.TrustedHTML;\n\t\t}\n\n\t\tisScript(thing) {\n\t\t\treturn thing instanceof globalThis.TrustedScript;\n\t\t}\n\n\t\tisScriptURL(thing) {\n\t\t\treturn thing instanceof globalThis.TrustedScriptURL;\n\t\t}\n\n\t\tget emptyHTML() {\n\t\t\treturn new TrustedHTML('', symbols.key);\n\t\t}\n\n\t\tget emptyScript() {\n\t\t\treturn new TrustedScript('', symbols.key);\n\t\t}\n\n\t\tget [Symbol.for('polyfilled')]() {\n\t\t\treturn true;\n\t\t}\n\n\t\tget [Symbol.for('enforced')]() {\n\t\t\treturn this.#enforced;\n\t\t}\n\t}\n\n\tclass TrustedTypePolicy {\n\t\t#name;\n\t\t#createHTML;\n\t\t#createScript;\n\t\t#createScriptURL;\n\n\t\tconstructor(name, {\n\t\t\tcreateHTML,\n\t\t\tcreateScript,\n\t\t\tcreateScriptURL,\n\t\t}, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new Error(`Invalid construction of ${name} policy.`);\n\t\t\t} else {\n\t\t\t\tthis.#name = name;\n\t\t\t\tthis.#createHTML = createHTML;\n\t\t\t\tthis.#createScript = createScript;\n\t\t\t\tthis.#createScriptURL = createScriptURL;\n\t\t\t}\n\t\t}\n\n\t\tget name() {\n\t\t\treturn this.#name;\n\t\t}\n\n\t\tcreateHTML(input, ...args) {\n\t\t\tif (this.#createHTML instanceof Function) {\n\t\t\t\treturn new TrustedHTML(this.#createHTML(input.toString(), ...args).toString(), symbols.key);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('This policy does not provide `createHTML()`');\n\t\t\t}\n\t\t}\n\n\t\tcreateScript(input, ...args) {\n\t\t\tif (this.#createScript instanceof Function) {\n\t\t\t\treturn new TrustedScript(this.#createScript(input.toString(), ...args).toString(), symbols.key);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('This policy does not provide `createScript()`');\n\t\t\t}\n\t\t}\n\n\t\tcreateScriptURL(input, ...args) {\n\t\t\tif (this.#createScriptURL instanceof Function) {\n\t\t\t\treturn new TrustedScriptURL(this.#createScriptURL(input.toString(), ...args).toString(), symbols.key);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('This policy does not provide `createScriptURL()`');\n\t\t\t}\n\t\t}\n\t}\n\n\tclass TrustedType {\n\t\t#value;\n\n\t\tconstructor(value, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new Error('Invalid constructor of TrustedType.');\n\t\t\t} else {\n\t\t\t\tthis.#value = value;\n\t\t\t}\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this.#value;\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.#value;\n\t\t}\n\t}\n\n\tclass TrustedHTML extends TrustedType {}\n\n\tclass TrustedScript extends TrustedType {}\n\n\tclass TrustedScriptURL extends TrustedType {}\n\n\tglobalThis.TrustedTypePolicyFactory = TrustedTypePolicyFactory;\n\tglobalThis.trustedTypes = new TrustedTypePolicyFactory(getAllowedPolicies(), symbols.key);\n\tglobalThis.TrustedHTML = TrustedHTML;\n\tglobalThis.TrustedScript = TrustedScript;\n\tglobalThis.TrustedScriptURL = TrustedScriptURL;\n}\n","(function() {\n\t'use strict';\n\n\tif (globalThis.hasOwnProperty('Animation') && ! Animation.prototype.hasOwnProperty('finished')) {\n\t\tObject.defineProperty(Animation.prototype, 'finished', {\n\t\t\tget: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (this.playState === 'finished') {\n\t\t\t\t\t\tresolve(this);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.addEventListener('finish', () => resolve(this), { once: true });\n\t\t\t\t\t\tthis.addEventListener('error', event => reject(event), { once: true });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tif (globalThis.hasOwnProperty('Animation') && ! Animation.prototype.hasOwnProperty('ready')) {\n\t\tObject.defineProperty(Animation.prototype, 'ready', {\n\t\t\tget: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (! this.pending) {\n\t\t\t\t\t\tresolve(this);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.addEventListener('ready', () => resolve(this), { once: true });\n\t\t\t\t\t\tthis.addEventListener('error', event => reject(event), { once: true });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n})();\n","/**\n * @copyright 2023-2024 Chris Zuber <admin@kernvalley.us>\n */\n/*eslint strict: [\"error\", \"never\"]*/\nif (('HTMLElement' in globalThis && ! ('trustedTypes' in globalThis)) || (\n\t'HTMLElement' in globalThis\n\t&& globalThis.trustedTypes[Symbol.for('polyfilled')]\n\t&& globalThis.trustedTypes[Symbol.for('enforced')]\n)) {\n\t(function harden() {\n\t\tfunction supported() {\n\t\t\treturn 'trustedTypes' in globalThis;\n\t\t}\n\n\t\tfunction hasDefaultPolicy() {\n\t\t\treturn supported() && ! Object.is(trustedTypes.defaultPolicy, null);\n\t\t}\n\n\t\tfunction isHTML(input) {\n\t\t\treturn supported() && trustedTypes.isHTML(input);\n\t\t}\n\n\t\tfunction isScript(input) {\n\t\t\treturn supported() && trustedTypes.isScript(input);\n\t\t}\n\n\t\tfunction isScriptURL(input) {\n\t\t\treturn supported() && trustedTypes.isScriptURL(input);\n\t\t}\n\n\t\tfunction createHTML(input) {\n\t\t\tif (isHTML(input) || ! supported()) {\n\t\t\t\treturn input;\n\t\t\t} else if (hasDefaultPolicy()) {\n\t\t\t\treturn trustedTypes.defaultPolicy.createHTML(input);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('Attempting to set HTML and no default policy is available.');\n\t\t\t}\n\t\t}\n\n\t\tfunction createScript(input) {\n\t\t\tif (isScript(input) || ! supported()) {\n\t\t\t\treturn input;\n\t\t\t} else if (hasDefaultPolicy()) {\n\t\t\t\treturn trustedTypes.defaultPolicy.createScript(input);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('Attempting to create script and no default policy is available.');\n\t\t\t}\n\t\t}\n\n\t\tfunction createScriptURL(input) {\n\t\t\tif (isScriptURL(input) || ! supported()) {\n\t\t\t\treturn input;\n\t\t\t} else if (hasDefaultPolicy()) {\n\t\t\t\treturn trustedTypes.defaultPolicy.createScriptURL(input);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('Attempting to create script URL and no default policy is available.');\n\t\t\t}\n\t\t}\n\n\t\tfunction getAttributeType(tag, attr, elementNs) {\n\t\t\tif (supported()) {\n\t\t\t\treturn trustedTypes.getAttributeType(tag, attr, elementNs);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst { write, writeln, execCommand } = Object.getOwnPropertyDescriptors(Document.prototype);\n\n\t\t\tObject.defineProperties(Document.prototype, {\n\t\t\t\twrite: {\n\t\t\t\t\tvalue: function(html) {\n\t\t\t\t\t\twrite.value.call(this, createHTML(html));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: write.enumerable,\n\t\t\t\t\tconfigurable: write.configurable,\n\t\t\t\t\twritable: write.writable,\n\t\t\t\t},\n\t\t\t\twriteln: {\n\t\t\t\t\tvalue: function(html) {\n\t\t\t\t\t\twriteln.value.call(this, createHTML(html));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: writeln.enumerable,\n\t\t\t\t\tconfigurable: writeln.configurable,\n\t\t\t\t\twritable: writeln.writable,\n\t\t\t\t},\n\t\t\t\texecCommand: {\n\t\t\t\t\tvalue: function(aCommandName, aShowDefaultUI, aValueArgument) {\n\t\t\t\t\t\tif (['insertHTML'].includes(aCommandName)) {\n\t\t\t\t\t\t\treturn execCommand.value.call(this, aCommandName, aShowDefaultUI, createHTML(aValueArgument));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn execCommand.value.call(this, aCommandName, aShowDefaultUI, aValueArgument);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: execCommand.enumerable,\n\t\t\t\t\tconfigurable: execCommand.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\tif ('ServiceWorkerContainer' in globalThis) {\n\t\t\ttry {\n\t\t\t\tconst register = Object.getOwnPropertyDescriptor(ServiceWorkerContainer.prototype, 'register');\n\n\t\t\t\tObject.defineProperty(ServiceWorkerContainer.prototype, 'register', {\n\t\t\t\t\tvalue: function(scriptURL, options) {\n\t\t\t\t\t\treturn register.value.call(this, createScriptURL(scriptURL), options);\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: register.enumerable,\n\t\t\t\t\tconfigurable: register.configurable,\n\t\t\t\t});\n\t\t\t} catch(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst createContextualFragment = Object.getOwnPropertyDescriptor(Range.prototype, 'createContextualFragment');\n\n\t\t\tObject.defineProperty(Range.prototype, 'createContextualFragment', {\n\t\t\t\tvalue: function(tagString) {\n\t\t\t\t\treturn createContextualFragment.value.call(this, createHTML(tagString));\n\t\t\t\t},\n\t\t\t\tenumerable: createContextualFragment.enumerable,\n\t\t\t\tconfigurable: createContextualFragment.configurable,\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { parseFromString } = Object.getOwnPropertyDescriptors(DOMParser.prototype);\n\n\t\t\tObject.defineProperties(DOMParser.prototype, {\n\t\t\t\tparseFromString: {\n\t\t\t\t\tvalue: function(text, type) {\n\t\t\t\t\t\tif (type === 'text/html') {\n\t\t\t\t\t\t\treturn parseFromString.value.call(this, createHTML(text), type);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn parseFromString.value.call(this, text, type);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: parseFromString.enumerable,\n\t\t\t\t\tconfigurable: parseFromString.configurable,\n\t\t\t\t\twritable: parseFromString.writable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { src, text } = Object.getOwnPropertyDescriptors(HTMLScriptElement.prototype);\n\n\t\t\tObject.defineProperties(HTMLScriptElement.prototype, {\n\t\t\t\ttext: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn text.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\ttext.set.call(this, createScript(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: text.enumerable,\n\t\t\t\t\tconfigurable: text.configurable,\n\t\t\t\t},\n\t\t\t\tsrc: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn src.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\tsrc.set.call(this, createScriptURL(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: src.enumerable,\n\t\t\t\t\tconfigurable: src.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst {\n\t\t\t\tsetAttribute, setAttributeNS, innerHTML, outerHTML, insertAdjacentHTML,\n\t\t\t} = Object.getOwnPropertyDescriptors(Element.prototype);\n\n\t\t\tObject.defineProperties(Element.prototype, {\n\t\t\t\tsetAttribute: {\n\t\t\t\t\tvalue: function(name, value) {\n\t\t\t\t\t\tswitch(getAttributeType(this.tagName, name)) {\n\t\t\t\t\t\t\tcase 'TrustedHTML':\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, createHTML(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScript':\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, createScript(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScriptURL':\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, createScriptURL(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: setAttribute.enumerable,\n\t\t\t\t\tconfigurable: setAttribute.configurable,\n\t\t\t\t},\n\t\t\t\tsetAttributeNS: {\n\t\t\t\t\tvalue: function (elementNs, name, value) {\n\t\t\t\t\t\tswitch(getAttributeType(this.tagName, name, elementNs)) {\n\t\t\t\t\t\t\tcase 'TrustedHTML':\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, createHTML(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScript':\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, createScript(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScriptURL':\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, createScriptURL(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: setAttributeNS.enumerable,\n\t\t\t\t\tconfigurable: setAttributeNS.configurable,\n\t\t\t\t},\n\t\t\t\tinnerHTML: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn innerHTML.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\tinnerHTML.set.call(this, createHTML(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: innerHTML.enumerable,\n\t\t\t\t\tconfigurable: innerHTML.configurable,\n\t\t\t\t},\n\t\t\t\touterHTML: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn outerHTML.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\touterHTML.set.call(this, createHTML(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: outerHTML.enumerable,\n\t\t\t\t\tconfigurable: outerHTML.configurable,\n\t\t\t\t},\n\t\t\t\tinsertAdjacentHTML: {\n\t\t\t\t\tvalue: function(position, text) {\n\t\t\t\t\t\tinsertAdjacentHTML.value.call(this, position, createHTML(text));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: insertAdjacentHTML.enumerable,\n\t\t\t\t\tconfigurable: insertAdjacentHTML.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { srcdoc, src } = Object.getOwnPropertyDescriptors(HTMLIFrameElement.prototype);\n\n\t\t\tObject.defineProperties(HTMLIFrameElement.prototype, {\n\t\t\t\tsrcdoc: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn srcdoc.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\tsrcdoc.set.call(this, createHTML(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: srcdoc.enumerable,\n\t\t\t\t\tconfigurable: srcdoc.configurable,\n\t\t\t\t},\n\t\t\t\tsrc: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn src.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tsrc.set.call(this, createScriptURL(val));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: src.enumerable,\n\t\t\t\t\tconfigurable: src.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { data, codeBase } = Object.getOwnPropertyDescriptors(HTMLObjectElement.prototype);\n\n\t\t\tObject.defineProperties(HTMLObjectElement.prototype, {\n\t\t\t\tdata: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn data.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tdata.set.call(this, createScriptURL(val));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: data.enumerable,\n\t\t\t\t\tconfigurable: data.configurable,\n\t\t\t\t},\n\t\t\t\tcodeBase: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn codeBase.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tcodeBase.set.call(this, createScriptURL(val));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: codeBase.enumerable,\n\t\t\t\t\tconfigurable: codeBase.configurable,\n\t\t\t\t},\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst {\n\t\t\t\teval: nativeEval,\n\t\t\t\tsetTimeout: nativeSTO,\n\t\t\t\tsetInterval: nativeIntverval,\n\t\t\t} = globalThis;\n\n\t\t\tglobalThis.eval = function(script) {\n\t\t\t\treturn nativeEval(createScript(script).toString());\n\t\t\t};\n\n\t\t\tglobalThis.setTimeout = function(func, delay, ...args) {\n\t\t\t\tif (typeof func === 'string') {\n\t\t\t\t\treturn nativeSTO(createScript(func), delay, ...args);\n\t\t\t\t} else {\n\t\t\t\t\treturn nativeSTO(func, delay, ...args);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tglobalThis.setInterval = function(func, delay, ...args) {\n\t\t\t\tif (typeof func === 'string') {\n\t\t\t\t\treturn nativeIntverval(createScript(func), delay, ...args);\n\t\t\t\t} else {\n\t\t\t\t\treturn nativeIntverval(func, delay, ...args);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tconst NativeFunction = globalThis.Function;\n\n\t\t\t\tglobalThis.Function = function Function(...args) {\n\t\t\t\t\tif (args.length === 0) {\n\t\t\t\t\t\treturn NativeFunction();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst funcBody = createScript(args.pop());\n\t\t\t\t\t\treturn NativeFunction( ...args, funcBody.toString());\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tglobalThis.Function.prototype = NativeFunction.prototype;\n\t\t\t\tNativeFunction.prototype.constructor = globalThis.Function;\n\t\t\t} catch(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t}\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t})();\n}\n","/**\n * This **REQUIRES** a CSP with `style-src blob:`\n */\nexport const adoptedStyleSheets = {\n\tget() {\n\t\treturn Array.from(this.styleSheets)\n\t\t\t.filter(sheet => sheet.ownerNode.classList.contains('_adopted'));\n\t},\n\tset(sheets) {\n\t\tif (! Array.isArray(sheets)) {\n\t\t\tthrow new TypeError('Must be an array');\n\t\t} else {\n\t\t\tconst current = new Set(this.adoptedStyleSheets);\n\n\t\t\tcurrent.difference(sheets).forEach(sheet => sheet.ownerNode.remove());\n\n\t\t\tconst links = [...new Set(sheets).difference(current)].map(sheet => {\n\t\t\t\tconst link = document.createElement('link');\n\t\t\t\tconst controller = new AbortController();\n\t\t\t\tconst signal = controller.signal;\n\t\t\t\tconst url = URL.createObjectURL(new File([], 'adopted.css', { type: 'text/css' }));\n\t\t\t\tlink.rel = 'stylesheet';\n\t\t\t\tlink.href = url;\n\t\t\t\tlink.classList.add('_adopted');\n\t\t\t\tlink.disabled = sheet.disabled;\n\n\n\t\t\t\tlink.addEventListener('load', ({ target }) => {\n\t\t\t\t\tcontroller.abort();\n\t\t\t\t\tlink.media = sheet.media.mediaText;\n\t\t\t\t\t[...sheet.cssRules].forEach((rule, index) => {\n\t\t\t\t\t\ttarget.sheet.insertRule(rule.cssText, index);\n\t\t\t\t\t});\n\n\t\t\t\t\tsetTimeout(() => URL.revokeObjectURL(target.href), 100);\n\t\t\t\t}, { once: true, signal });\n\n\t\t\t\tlink.addEventListener('error', ({ target }) => {\n\t\t\t\t\tcontroller.abort();\n\t\t\t\t\tURL.revokeObjectURL(target.href);\n\t\t\t\t}, { once: true, signal });\n\n\t\t\t\treturn link;\n\t\t\t});\n\n\t\t\tif (this instanceof Document) {\n\t\t\t\tthis.head.append(...links);\n\t\t\t} else {\n\t\t\t\tthis.append(...links);\n\t\t\t}\n\t\t}\n\t}\n};\n","const HOSTS_SYMBOL = Symbol('shadow:hosts');\n\nfunction getTagHTML(el) {\n\tconst outerHTML = el.cloneNode().outerHTML;\n\tconst closeStart = outerHTML.indexOf('/') - 1;\n\treturn closeStart > 0 ? [outerHTML.substring(0, closeStart), outerHTML.substring(closeStart)] : [outerHTML, ''];\n}\n\nfunction attachShadow(template){\n\tif (template instanceof HTMLTemplateElement && template.parentElement instanceof HTMLElement) {\n\t\tconst shadow = template.parentElement.attachShadow({\n\t\t\tmode: template.getAttribute('shadowrootmode'),\n\t\t\tclonable: template.hasAttribute('shadowrootclonable'),\n\t\t\tdelegatesFocus: template.hasAttribute('shadowrootdelegatesfocus'),\n\t\t\tserializable: template.hasAttribute('shadowrootserializable'),\n\t\t});\n\n\t\tshadow.append(template.content);\n\t\ttemplate.remove();\n\t}\n}\n\nfunction serializeChildNodes(node, { serializableShadowRoots = false, shadowRoots = [], [HOSTS_SYMBOL]: hosts = [] } = {}) {\n\treturn Array.from(\n\t\tnode.childNodes,\n\t\tchild => {\n\t\t\tif (child.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tconst [open, close] = getTagHTML(child);\n\t\t\t\treturn open + child.getHTML({ serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts }) + close;\n\t\t\t} else {\n\t\t\t\treturn child.textContent;\n\t\t\t}\n\t\t}\n\t).join('');\n}\n\nfunction serializeShadowRoot(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts = [] } = {}) {\n\tif (shadow.serializable) {\n\t\tconst openTag = `<template shadowrootmode=\"${shadow.mode}\"`;\n\t\tconst attrs = [];\n\n\t\tif (shadow.clonable) {\n\t\t\tattrs.push(' shadowrootclonable=\"\"');\n\t\t}\n\n\t\tif (shadow.serializable) {\n\t\t\tattrs.push(' shadowrootserializable=\"\"');\n\t\t}\n\n\t\tif (shadow.delegatesFocus) {\n\t\t\tattrs.push(' shadowrootdelegatesfocus=\"\"');\n\t\t}\n\n\t\tconst tag = attrs.length === 0 ? openTag + '>' : openTag + ' ' + attrs.join('') + '>';\n\n\t\treturn tag + serializeChildNodes(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts }) + '</template>';\n\t} else {\n\t\treturn serializeChildNodes(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts });\n\t}\n}\n\nexport function parseHTMLUnsafe(input){\n\tconst parser = new DOMParser();\n\t// Ensures `URL` is \"about:blank\"\n\tconst doc = document.implementation.createHTMLDocument();\n\t// Rely on this method's TrustedTypes implementation, if available\n\tconst parsed = parser.parseFromString(input, 'text/html');\n\tdoc.head.append(...parsed.head.childNodes);\n\tdoc.body.append(...parsed.body.childNodes);\n\tdoc.querySelectorAll('* > template[shadowrootmode]').forEach(attachShadow);\n\treturn doc;\n}\n\nexport function setHTMLUnsafe(input) {\n\tconst parser = new DOMParser();\n\t// Rely on this method's TrustedTypes implementation, if available\n\tconst parsed = parser.parseFromString(input, 'text/html');\n\tconst frag = document.createDocumentFragment();\n\tfrag.append(...parsed.body.childNodes);\n\tfrag.querySelectorAll('* > template[shadowrootmode]').forEach(attachShadow);\n\tthis.replaceChildren(frag);\n}\n\nexport function getHTML({ serializableShadowRoots = false, shadowRoots = [], [HOSTS_SYMBOL]: hosts = [] } = {}) {\n\tif (serializableShadowRoots && hosts.length === 0 && shadowRoots.length !== 0) {\n\t\thosts.push(...shadowRoots.map(shadow => shadow.host));\n\t}\n\n\tswitch(this.nodeType) {\n\t\tcase Node.ELEMENT_NODE:\n\t\t\tif (\n\t\t\t\tserializableShadowRoots\n\t\t\t\t&& this.shadowRoot instanceof ShadowRoot\n\t\t\t\t&& (this.shadowRoot.serializable || shadowRoots.includes(this.shadowRoot))\n\t\t\t) {\n\t\t\t\treturn this.shadowRoot.getHTML({ serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts })\n\t\t\t\t\t+ serializeChildNodes(this,{ serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts } );\n\t\t\t} else if (serializableShadowRoots && hosts.includes(this)) {\n\t\t\t\tconst shadow = shadowRoots.find(shadow => shadow.host.isSameNode(this));\n\n\t\t\t\treturn serializeShadowRoot(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts })\n\t\t\t\t\t+ serializeChildNodes(this, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts } );\n\t\t\t} else {\n\t\t\t\treturn this.innerHTML;\n\t\t\t}\n\n\t\tcase Node.DOCUMENT_FRAGMENT_NODE:\n\t\t\tif (! (this instanceof ShadowRoot)) {\n\t\t\t\treturn '';\n\t\t\t} else if (serializableShadowRoots && (this.serializable || shadowRoots.includes(this))) {\n\t\t\t\treturn serializeShadowRoot(this, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts });\n\t\t\t} else {\n\t\t\t\treturn serializeChildNodes(this, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts });\n\t\t\t}\n\n\t\tdefault:\n\t\t\tthrow new TypeError('\\'getHTML\\' called on an object that does not implement interface Element.');\n\t}\n}\n","export function createSheet(rules = '', { disabled = false, media } = {}) {\n\tconst style = Document.parseHTML(\n\t\t`<style>${rules}</style>`,\n\t\t{ sanitizer: { allowElements: ['style', 'html', 'head', 'body'] }}\n\t);\n\n\tconst sheet = style.styleSheets.item(0);\n\n\tif (typeof media === 'string') {\n\t\tsheet.media.appendMedium(media);\n\t}\n\tsheet.disabled = disabled;\n\treturn sheet;\n}\n\nexport function clearCSSRules(sheet) {\n\twhile (sheet.cssRules.length > 0) {\n\t\tsheet.deleteRule(0);\n\t}\n}\n\ntry {\n\tnew CSSStyleSheet();\n} catch {\n\tconst NativeStyleSheet = globalThis.CSSStyleSheet;\n\n\tglobalThis.CSSStyleSheet = function CSSStyleSheet({ disabled = false, media } = {}) {\n\t\t// Need at least one rule to create the `.sheet`\n\t\tconst sheet = createSheet('#dfgbkjdfg{color:red;}', { disabled, media });\n\t\tsheet.deleteRule(0);\n\t\treturn sheet;\n\t};\n\n\tglobalThis.CSSStyleSheet.prototype = NativeStyleSheet.prototype;\n\tNativeStyleSheet.prototype.constructor = globalThis.CSSStyleSheet;\n}\n\nif (! (CSSStyleSheet.prototype.replace instanceof Function)) {\n\tCSSStyleSheet.prototype.replace = function replace(rules) {\n\t\tconst link = document.createElement('link');\n\t\tconst controller = new AbortController();\n\t\tconst { resolve, reject, promise } = Promise.withResolvers();\n\n\t\tlink.addEventListener('load', ({ target }) => {\n\t\t\tclearCSSRules(this);\n\t\t\t[...target.sheet.cssRules].forEach((rule, i) => this.insertRule(rule.cssText, i));\n\t\t\tresolve(this);\n\t\t\tcontroller.abort();\n\t\t\tURL.revokeObjectURL(target.href);\n\t\t\ttarget.remove();\n\t\t}, { once: true, signal: controller.signal });\n\n\t\tlink.addEventListener('error', ({ target }) => {\n\t\t\tconst error = new DOMException('Error loading stylesheet.');\n\t\t\treject(error);\n\t\t\tcontroller.abort(error);\n\t\t\tURL.revokeObjectURL(target.href);\n\t\t\ttarget.remove();\n\t\t}, { once: true, signal: controller.signal });\n\n\t\tlink.rel = 'stylesheet';\n\t\tlink.crossOrigin = 'anonymous';\n\t\tlink.referrerPolicy = 'no-referrer';\n\t\tlink.media = 'no-op';\n\t\tlink.href = URL.createObjectURL(new File([rules], 'tmp.css', { type: 'text/css' }));\n\t\tdocument.head.append(link);\n\n\t\treturn promise;\n\t};\n}\n\nif (! (CSSStyleSheet.prototype.replaceSync instanceof Function)) {\n\tCSSStyleSheet.prototype.replaceSync = function replaceSync(rules) {\n\t\tconst sheet = Document.parseHTML(\n\t\t\t`<style>${rules}</style>`,\n\t\t\t{ sanitizer: { allowElements: ['style', 'html', 'head', 'body'] }}\n\t\t).styleSheets.item(0);\n\n\t\tclearCSSRules(this);\n\n\t\t[...sheet.cssRules].forEach((rule, i) => this.insertRule(rule.cssText, i));\n\t};\n}\n","import { polyfillGetterSetter, polyfillMethod } from './utils.js';\nimport { adoptedStyleSheets } from './assets/adoptedStylesheets.js';\nimport { parseHTMLUnsafe } from './methods/dom.js';\n\npolyfillGetterSetter(Document.prototype, 'adoptedStyleSheets', adoptedStyleSheets);\npolyfillMethod(Document, 'parseHTMLUnsafe', parseHTMLUnsafe);\n","import { polyfillGetterSetter, polyfillMethod } from './utils.js';\nimport { adoptedStyleSheets } from './assets/adoptedStylesheets.js';\nimport { getHTML, setHTMLUnsafe } from './methods/dom.js';\n\nif ('ShadowRoot' in globalThis) {\n\tpolyfillGetterSetter(ShadowRoot.prototype, 'adoptedStyleSheets', adoptedStyleSheets);\n\tpolyfillMethod(ShadowRoot.prototype, 'setHTMLUnsafe', setHTMLUnsafe);\n\tpolyfillMethod(ShadowRoot.prototype, 'getHTML', getHTML);\n}\n","export const aria = {\n\tariaAtomic: 'aria-atomic',\n\tariaAutoComplete: 'aria-autocomplete',\n\tariaBusy: 'aria-busy',\n\tariaChecked: 'aria-checked',\n\tariaColCount: 'aria-colcount',\n\tariaColIndex: 'aria-colindex',\n\tariaColIndexText: 'aria-colindextext',\n\tariaColSpan: 'aria-colspan',\n\tariaCurrent: 'aria-current',\n\tariaDisabled: 'aria-disabled',\n\tariaExpanded: 'aria-expanded',\n\tariaHasPopup: 'aria-haspopup',\n\tariaHidden: 'aria-hidden',\n\tariaInvalid: 'aria-invalid',\n\tariaKeyShortcuts: 'aria-keyshortcuts',\n\tariaLabel: 'aria-label',\n\tariaLevel: 'aria-level',\n\tariaLive: 'aria-live',\n\tariaModal: 'aria-modal',\n\tariaMultiLine: 'aria-multiline',\n\tariaMultiSelectable: 'aria-multiselectable',\n\tariaOrientation: 'aria-orientation',\n\tariaPlaceholder: 'aria-placeholder',\n\tariaPosInSet: 'aria-posinset',\n\tariaPressed: 'aria-pressed',\n\tariaReadOnly: 'aria-readonly',\n\tariaRelevant: 'aria-relevant',\n\tariaRequired: 'aria-required',\n\tariaRoleDescription: 'aria-roledescription',\n\tariaRowCount: 'aria-rowcount',\n\tariaRowIndex: 'aria-rowindex',\n\tariaRowIndexText: 'aria-rowindextext',\n\tariaRowSpan: 'aria-rowspan',\n\tariaSelected: 'aria-selected',\n\tariaSetSize: 'aria-setsize',\n\tariaSort: 'aria-sort',\n\tariaValueMax: 'aria-valuemax',\n\tariaValueMin: 'aria-valuemin',\n\tariaValueNow: 'aria-valuenow',\n\tariaValueText: 'aria-valuetext',\n\trole: 'role'\n};\n","/**\n * @copyright 2023-2024 Chris Zuber <admin@kernvalley.us>\n */\nexport const HTML = 'http://www.w3.org/1999/xhtml';\nexport const SVG = 'http://www.w3.org/2000/svg';\nexport const XLINK = 'http://www.w3.org/1999/xlink';\nexport const XML = 'http://www.w3.org/XML/1998/namespace';\nexport const MATHML = 'http://www.w3.org/1998/Math/MathML';\n","import { HTML as HTMLNS } from '@aegisjsproject/sanitizer/namespaces.js';\n\nexport const EVENT_ATTRS = new Set(('HTMLElement' in globalThis\n\t? Object.keys(HTMLElement.prototype) : [])\n\t.filter(name => name.startsWith('on')));\n\nexport function normalizeElement(opt, defaultNS = HTMLNS) {\n\tif (typeof opt === 'string') {\n\t\treturn Object.freeze({ name: opt, namespace: defaultNS });\n\t} else if (typeof opt === 'object' && typeof opt.name === 'string') {\n\t\tconst { name, namespace = defaultNS, attributes } = opt;\n\t\treturn Object.freeze({\n\t\t\tname,\n\t\t\tnamespace: typeof namespace === 'string' && namespace.length !== 0 ? namespace : defaultNS,\n\t\t\tattributes,\n\t\t});\n\t} else {\n\t\tthrow new TypeError('Invalid config entry for `elements`.');\n\t}\n}\n\nfunction normalizeElementsConfig({ elements, allowElements }, defaultNS = HTMLNS) {\n\tif (Array.isArray(allowElements)) {\n\t\tconsole.warn('Use of `allowElements` is deprecated. Please use `elements` instead.');\n\t\treturn normalizeElementsConfig({ elements: allowElements }, defaultNS);\n\t} else if (! Array.isArray(elements)) {\n\t\tthrow new TypeError('`elements` expected to be an array.');\n\t} else {\n\t\treturn elements.map(opt => normalizeElement(opt, defaultNS));\n\t}\n}\n\nexport function normalizeAttr(opt, defaultNS) {\n\tif (typeof opt === 'string') {\n\t\treturn Object.freeze({ name: opt, namespace: defaultNS });\n\t} else if (typeof opt === 'object' && typeof opt.name === 'string') {\n\t\tconst { name, namespace = defaultNS, elements, ...rest } = opt;\n\t\treturn Object.freeze({\n\t\t\tname,\n\t\t\tnamespace: typeof namespace === 'string' ? namespace : defaultNS,\n\t\t\telements,\n\t\t\t...rest\n\t\t});\n\t} else {\n\t\tthrow new TypeError('Invalid entry in `attributes` config.');\n\t}\n}\n\nfunction normalizeAttrsConfig({ attributes, allowAttributes }, defaultNS) {\n\tif (typeof allowAttributes !== 'undefined') {\n\t\tconsole.warn('Use of `allowAttributes` is deprecated. Please use `attributes` instead.');\n\t\treturn normalizeAttrsConfig({ attributes: allowAttributes }, defaultNS);\n\t} else if (Array.isArray(attributes)) {\n\t\treturn attributes.map(opt => normalizeAttr(opt, defaultNS));\n\t} else if (typeof attributes === 'object' && attributes !== null) {\n\t\tconsole.warn('`attributes` should be an array, not an oobject.');\n\t\treturn normalizeAttrsConfig({\n\t\t\tattributes: Object.entries(attributes).map(([name, elements]) => ({ name, elements })),\n\t\t}, defaultNS);\n\t} else {\n\t\tthrow new TypeError('`attributes` expected to be an array.');\n\t}\n}\n\nfunction normalizeCommentsConfig({ comments, allowComments }) {\n\tif (typeof allowComments === 'boolean') {\n\t\tconsole.warn('Use of `allowComments` is deprecated. Please use `comments` instead.');\n\t\treturn allowComments;\n\t} else if (typeof comments === 'boolean') {\n\t\treturn comments;\n\t} else {\n\t\treturn true;\n\t}\n}\n\nexport function normalizeConfig(config, {\n\telementNS = HTMLNS,\n\tattributeNS,\n} = {}) {\n\tconst {\n\t\telements,\n\t\tattributes,\n\t\tallowElements,\n\t\tallowAttributes,\n\t\tcomments = false,\n\t\tallowComments,\n\t\tdataAttributes = true,\n\t\t...rest\n\t} = config;\n\tconst cfg = {\n\t\telements: normalizeElementsConfig({ elements, allowElements }, elementNS),\n\t\tattributes: normalizeAttrsConfig({ attributes, allowAttributes }, attributeNS),\n\t\tcomments: comments || allowComments,\n\t\tdataAttributes,\n\t\t...rest,\n\t};\n\n\treturn cfg;\n}\n\nfunction convertAttrConfig({ attributes, allowAttributes }, defaultNS) {\n\treturn Object.freeze(\n\t\tObject.groupBy(\n\t\t\tnormalizeAttrsConfig({ attributes, allowAttributes }, defaultNS),\n\t\t\t({ namespace }) => namespace ?? ''\n\t\t)\n\t);\n}\n\nfunction convertElementConfig({ elements, allowElements }, defaultNS = HTMLNS) {\n\treturn Object.freeze(\n\t\tObject.groupBy(\n\t\t\tnormalizeElementsConfig({ elements, allowElements }, defaultNS),\n\t\t\t({ namespace }) => namespace\n\t\t)\n\t);\n}\n\nexport function convertConfig(config, {\n\telementNS = HTMLNS,\n\tattributeNS,\n} = {}) {\n\tif (typeof config !== 'object' || config === null) {\n\t\tthrow new TypeError('Sanitizer config must be an object.');\n\t} else if (config.get instanceof Function) {\n\t\treturn convertConfig(config.get());\n\t} else {\n\t\treturn Object.freeze({\n\t\t\telements: convertElementConfig(config, elementNS),\n\t\t\tattributes: convertAttrConfig(config, attributeNS),\n\t\t\tcomments: normalizeCommentsConfig(config),\n\t\t\tdataAttributes: typeof config.dataAttributes === 'undefined' ? true : config.dataAttributes,\n\t\t});\n\t}\n}\n","import { normalizeAttr } from '@aegisjsproject/sanitizer/config-utils.js';\n\nexport const attributes = Object.freeze([\n\t'accesskey', 'autocapitalize', 'autofocus', 'class', 'contenteditable',\n\t'dir', 'draggable', 'enterkeyhint', 'exportparts', 'hidden', 'id',\n\t'inert', 'inputmode', 'itemid', 'itemprop', 'itemref',\n\t'itemscope', 'itemtype', 'lang', 'part', 'popover',\n\t'slot', 'spellcheck', 'tabindex', 'title', 'translate',\n\t'virtualkeyboardpolicy',\n\t/**\n\t * Aria-Attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/\n\t */\n\t'aria-keyshortcuts', 'aria-activedescendant', 'aria-atomic', 'aria-autocomplete',\n\t'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked',\n\t'aria-colcount', 'aria-colindex', 'aria-colindextext', 'aria-colspan',\n\t'aria-controls', 'aria-current', 'aria-describedby', 'aria-description',\n\t'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage',\n\t'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden',\n\t'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level',\n\t'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation',\n\t'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed',\n\t'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription',\n\t'aria-rowcount', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan',\n\t'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin',\n\t'aria-valuenow', 'aria-valuetext',\n].map(attr => normalizeAttr(attr)));\n","/**\n * @copyright 2023-2024 Chris Zuber <admin@kernvalley.us>\n * @see https://wicg.github.io/sanitizer-api/#default-configuration-dictionary\n */\nimport { HTML as namespace } from '@aegisjsproject/sanitizer/namespaces.js';\nimport { normalizeAttr, normalizeElement } from '@aegisjsproject/sanitizer/config-utils.js';\nimport { attributes as globalAttrs } from '@aegisjsproject/sanitizer/config/global.js';\nexport const comments = true;\n\nexport const dataAttributes = true;\n\n/**\n * Tags listed on MDN, + a few deprecated / experimental ones\n * Selector: `#content table td > a[href^=\"/en-US/docs/Web/HTML/Element/\"] > code`\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element\n */\nexport const elements = Object.freeze([\n\t'html', 'head', 'link', 'meta', 'body', 'address', 'article', 'aside', 'footer',\n\t'header', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup', 'main', 'nav', 'section',\n\t'search', 'blockquote', 'cite', 'div', 'dd', 'dt', 'dl', 'figcaption', 'figure',\n\t'hr', 'li', 'ol', 'ul', 'menu', 'p', 'pre', 'a', 'abbr', 'b', 'bdi', 'bdo', 'br',\n\t'code', 'data', 'dfn', 'em', 'i', 'kbd', 'mark', 'q', 'rp', 'ruby', 'rt', 's',\n\t'del', 'ins', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u',\n\t'var', 'wbr', 'area', 'audio', 'img', 'map', 'track', 'video', 'picture',\n\t'source', 'canvas', 'caption', 'col', 'colgroup', 'table', 'tbody', 'tr', 'td',\n\t'tfoot', 'th', 'thead', 'button', 'datalist', 'option', 'fieldset', 'label',\n\t'form', 'input', 'legend', 'meter', 'optgroup', 'select', 'output', 'progress',\n\t'textarea', 'details', 'summary', 'dialog', 'slot', 'template', 'dir',\n\t'strike', 'selectmenu', 'center',\n].map(el => normalizeElement(el, namespace)));\n\nexport const attributes = Object.freeze([\n\t'abbr',\n\t'accept',\n\t'accept-charset',\n\t// 'accesskey', //global\n\t// 'action',\n\t'align',\n\t'alink',\n\t'allow',\n\t'allowfullscreen',\n\t'alt',\n\t'anchor',\n\t'archive',\n\t'as',\n\t'async',\n\t// 'autocapitalize', //global\n\t'autocomplete',\n\t'autocorrect',\n\t// 'autofocus', //global\n\t'autopictureinpicture',\n\t'autoplay',\n\t'axis',\n\t'background',\n\t'behavior',\n\t// 'bgcolor',\n\t'border',\n\t'bordercolor',\n\t'capture',\n\t'cellpadding',\n\t'cellspacing',\n\t'challenge',\n\t'char',\n\t'charoff',\n\t'charset',\n\t'checked',\n\t'cite',\n\t// 'class', //global\n\t'classid',\n\t'clear',\n\t'code',\n\t// 'codebase',\n\t'codetype',\n\t'color',\n\t'cols',\n\t'colspan',\n\t'compact',\n\t'content',\n\t// 'contenteditable', //global\n\t'controls',\n\t'controlslist',\n\t'conversiondestination',\n\t'coords',\n\t'crossorigin',\n\t'csp',\n\t'data',\n\t'datetime',\n\t'declare',\n\t'decoding',\n\t'default',\n\t'defer',\n\t// 'dir', //global\n\t'direction',\n\t'dirname',\n\t'disabled',\n\t'disablepictureinpicture',\n\t'disableremoteplayback',\n\t'disallowdocumentaccess',\n\t'download',\n\t// 'draggable', //global\n\t'elementtiming',\n\t'enctype',\n\t'end',\n\t// 'enterkeyhint', //global\n\t// 'event',\n\t// 'exportparts', //global\n\t// 'face',\n\t'for',\n\t'form',\n\t// 'formaction',\n\t'formenctype',\n\t'formmethod',\n\t'formnovalidate',\n\t'formtarget',\n\t// 'frame',\n\t'frameborder',\n\t'headers',\n\t'height',\n\t// 'hidden', //global\n\t'high',\n\t'href',\n\t'hreflang',\n\t'hreftranslate',\n\t'hspace',\n\t// 'http-equiv',\n\t// 'id', //global\n\t'imagesizes',\n\t'imagesrcset',\n\t'importance',\n\t'impressiondata',\n\t'impressionexpiry',\n\t'incremental',\n\t// 'inert', //global\n\t// 'inputmode', //global\n\t'integrity',\n\t'invisible',\n\t'invoketarget',\n\t'invokeaction',\n\t'is',\n\t'ismap',\n\t'keytype',\n\t'kind',\n\t'label',\n\t// 'lang', //global\n\t'language',\n\t'latencyhint',\n\t'leftmargin',\n\t'link',\n\t'list',\n\t'loading',\n\t'longdesc',\n\t'loop',\n\t'low',\n\t'lowsrc',\n\t'manifest',\n\t'marginheight',\n\t'marginwidth',\n\t'max',\n\t'maxlength',\n\t'mayscript',\n\t'media',\n\t'method',\n\t'min',\n\t'minlength',\n\t'multiple',\n\t'muted',\n\t'name',\n\t'nohref',\n\t'nomodule',\n\t// 'nonce',\n\t'noresize',\n\t'noshade',\n\t'novalidate',\n\t'nowrap',\n\t'object',\n\t'open',\n\t'optimum',\n\t// 'part', //global\n\t'pattern',\n\t'ping',\n\t'placeholder',\n\t'playsinline',\n\t'policy',\n\t// 'popover', //global\n\t'popovertarget',\n\t'popovertargetaction',\n\t'poster',\n\t'preload',\n\t'pseudo',\n\t'readonly',\n\t'referrerpolicy',\n\t'rel',\n\t'reportingorigin',\n\t'required',\n\t'resources',\n\t'rev',\n\t'reversed',\n\t'role',\n\t'rows',\n\t'rowspan',\n\t'rules',\n\t'sandbox',\n\t'scheme',\n\t'scope',\n\t'scopes',\n\t'scrollamount',\n\t'scrolldelay',\n\t'scrolling',\n\t'select',\n\t'selected',\n\t'shadowrootclonable',\n\t'shadowrootdelegatesfocus',\n\t'shadowrootmode',\n\t'shadowrootserializable',\n\t'shape',\n\t'size',\n\t'sizes',\n\t// 'slot', //global\n\t'span',\n\t// 'spellcheck', //global\n\t'src',\n\t'srcdoc',\n\t'srclang',\n\t'srcset',\n\t'standby',\n\t'start',\n\t'step',\n\t// 'style',\n\t'summary',\n\t// 'tabindex',//global\n\t'target',\n\t'text',\n\t// 'title', //global\n\t'topmargin',\n\t// 'translate', //global\n\t'truespeed',\n\t'trusttoken',\n\t'type',\n\t'usemap',\n\t'valign',\n\t'value',\n\t'valuetype',\n\t'version',\n\t// 'virtualkeyboardpolicy', //global\n\t'vlink',\n\t'vspace',\n\t'webkitdirectory',\n\t'width',\n\t'wrap',\n].map(attr => normalizeAttr(attr)).concat(globalAttrs));\n\nexport const sanitizer = Object.freeze({ comments, elements, attributes, dataAttributes });\n","import { SVG as SVGNS, XLINK, XML as XMLNS } from '@aegisjsproject/sanitizer/namespaces.js';\nimport { attributes as globalAttrs } from '@aegisjsproject/sanitizer/config/global.js';\nimport { normalizeAttr, normalizeElement } from '@aegisjsproject/sanitizer/config-utils.js';\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element\n */\n\nexport const comments = true;\n\nexport const dataAttributes = true;\n\nexport const elements = Object.freeze([\n\t'a', 'animate', 'animateMotion', 'animateTransform', 'circle', 'clipPath',\n\t'defs', 'desc', 'ellipse', 'feBlend', 'feColorMatrix', 'feComponentTransfer',\n\t'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap',\n\t'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG',\n\t'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology',\n\t'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile',\n\t'feTurbulence', 'filter', 'foreignObject', 'g', 'line', 'linearGradient',\n\t'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline',\n\t'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch',\n\t'symbol', 'text', 'textPath', 'title', 'tspan', 'view', 'missing-glyph', 'font',\n\t'font-face', 'font-face-format', 'font-face-name', 'font-face-src',\n\t'font-face-uri', 'hkern', 'vkern', 'glyph', 'glyphRef', 'tref', 'cursor', 'use',\n].map(el => normalizeElement(el, SVGNS)));\n\nexport const attributes = Object.freeze([\n\t'accent-height', 'accumulate', 'additive', 'alignment-baseline',\n\t'alphabetic', 'amplitude', 'arabic-form', 'ascent', 'attributeName',\n\t'attributeType', 'azimuth', 'baseFrequency', 'baseline-shift', 'baseProfile',\n\t'bbox', 'begin', 'bias', 'by', 'calcMode', 'cap-height', 'class', 'clip',\n\t'clipPathUnits', 'clip-path', 'clip-rule', 'color', 'color-interpolation',\n\t'color-interpolation-filters', 'color-profile', 'color-rendering', 'crossorigin',\n\t'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction',\n\t'display', 'divisor', 'dominant-baseline', 'dur', 'dx', 'dy', 'edgeMode',\n\t'elevation', 'enable-background', 'end', 'exponent', 'fill', 'fill-opacity',\n\t'fill-rule', 'filter','filterUnits', 'flood-color', 'flood-opacity',\n\t'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style',\n\t'font-variant', 'font-weight', 'format', 'from', 'fr', 'fx', 'fy', 'g1', 'g2',\n\t'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical',\n\t'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'height', 'href',\n\t'hreflang', 'horiz-adv-x', 'horiz-origin-x', 'id', 'ideographic', 'image-rendering',\n\t'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kernelMatrix',\n\t'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lang',\n\t'lengthAdjust', 'letter-spacing', 'lighting-color', 'limitingConeAngle', 'local',\n\t'marker-end', 'marker-mid', 'marker-start', 'markerHeight', 'markerUnits',\n\t'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'max',\n\t'media', 'method', 'min', 'mode', 'name', 'numOctaves', 'offset', 'opacity',\n\t'operator', 'order', 'orient', 'orientation', 'origin', 'overflow',\n\t'overline-position', 'overline-thickness', 'panose-1', 'paint-order',\n\t'path', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits',\n\t'ping', 'pointer-events', 'points', 'pointsAtX', 'pointsAtY', 'pointsAtZ',\n\t'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius',\n\t'referrerPolicy', 'refX', 'refY', 'rel', 'rendering-intent', 'repeatCount',\n\t'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result',\n\t'rotate', 'rx', 'ry', 'scale', 'seed', 'shape-rendering', 'slope', 'spacing',\n\t'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset',\n\t'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stop-color', 'stop-opacity',\n\t'strikethrough-position', 'strikethrough-thickness', 'string', 'stroke',\n\t'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin',\n\t'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'style', 'surfaceScale',\n\t'systemLanguage', 'tabindex', 'tableValues', 'target', 'targetX', 'targetY',\n\t'text-anchor', 'text-decoration', 'text-rendering', 'textLength', 'to', 'transform',\n\t'transform-origin', 'type', 'u1', 'u2', 'underline-position', 'underline-thickness',\n\t'unicode', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic',\n\t'v-hanging', 'v-ideographic', 'v-mathematical', 'values', 'vector-effect',\n\t'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'viewBox',\n\t'visibility', 'width', 'widths', 'word-spacing', 'writing-mode', 'x', 'x-height',\n\t'x1', 'x2', 'xChannelSelector', 'y', 'y1', 'y2', 'yChannelSelector', 'z',\n\t'zoomAndPan', 'autoReverse', 'accelerate', 'xmlns',\n\t{ name: 'actuate', namespace: XLINK },\n\t{ name: 'arcrole', namespaec: XLINK },\n\t{ name: 'href', namespace: XLINK },\n\t{ name: 'role', namespace: XLINK },\n\t{ name: 'show', namespace: XLINK },\n\t{ name: 'title', namespace: XLINK },\n\t{ name: 'type', namespace: XLINK },\n\t{ name: 'space', namespace: XMLNS },\n].map(attr => normalizeAttr(attr)).concat(globalAttrs));\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n\n","import { MATHML as MATHNS } from '@aegisjsproject/sanitizer/namespaces.js';\nimport { attributes as globalAttrs } from '@aegisjsproject/sanitizer/config/global.js';\nimport { normalizeAttr, normalizeElement } from '@aegisjsproject/sanitizer/config-utils.js';\n\nexport const comments = true;\n\nexport const dataAttributes = true;\n\n/**\n *@see https://developer.mozilla.org/en-US/docs/Web/MathML/Element\n */\nexport const elements = Object.freeze([\n\t'math', 'maction', 'annotation', 'annotation-xml', 'menclose', 'merror',\n\t'mfenced', 'mfrac', 'mi', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded',\n\t'mphantom', 'mprescripts', 'mroot', 'mrow', 'ms', 'semantics', 'mspace',\n\t'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext',\n\t'mtr', 'munder', 'munderover',\n].map(el => normalizeElement(el, MATHNS)));\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute\n */\nexport const attributes = Object.freeze([\n\t'accent', 'accentunder', 'actiontype', 'align',\n\t'background', 'close', 'color', 'columnalign', 'columnlines', 'columnspacing',\n\t'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'fence',\n\t'fontfamily', 'fontsize', 'fontstyle', 'fontweight', 'frame', 'framespacing',\n\t'height', 'href', 'id', 'linethickness', 'lspace', 'lquote', 'mathbackground',\n\t'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits',\n\t'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan',\n\t'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier',\n\t'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'superscriptshift',\n\t'symmetric', 'voffset', 'width', 'xmlns',\n].map(attr => normalizeAttr(attr)).concat(globalAttrs));\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n","import { elements as HTMLElements, attributes as HTMLAttributes } from '@aegisjsproject/sanitizer/config/html.js';\nimport { elements as SVGElements, attributes as SVGAttributes } from '@aegisjsproject/sanitizer/config/svg.js';\n\nexport const elements = Object.freeze([...HTMLElements, ...SVGElements]);\n\nexport const attributes = Object.freeze(Array.from(new Set([...HTMLAttributes, ...SVGAttributes])));\n\nexport const comments = false;\n\nexport const dataAttributes = true;\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n","import { elements as HTMLElements, attributes as HTMLAttributes } from '@aegisjsproject/sanitizer/config/html.js';\nimport { elements as SVGElements, attributes as SVGAttributes } from '@aegisjsproject/sanitizer/config/svg.js';\nimport { elements as MathMLElements, attributes as MathMLAttributes } from '@aegisjsproject/sanitizer/config/mathml.js';\n\nexport const elements = Object.freeze([...HTMLElements, ...SVGElements, ...MathMLElements]);\n\nexport const attributes = Object.freeze(Array.from(new Set([...HTMLAttributes, ...SVGAttributes, ...MathMLAttributes])));\n\nexport const comments = true;\n\nexport const dataAttributes = true;\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n","import { sanitizer as sanitizerConfig } from '@aegisjsproject/sanitizer/config/html.js';\nimport { convertConfig, EVENT_ATTRS } from '@aegisjsproject/sanitizer/config-utils.js';\nimport { createPolicy } from '@aegisjsproject/sanitizer/trust.js';\n\nconst LINK_ATTRS = new Set(['href', 'src' , 'action', 'xlink:href']);\nconst ILLEGAL_PROTOCOLS = new Set(['javascript:', 'data:', 'file:', 'ftp:']);\n\nconst policy = createPolicy('aegis-sanitizer#html', { createHTML: input => input });\n\nexport function setHTML(el, content, {\n\telements = sanitizerConfig.elements,\n\tattributes = sanitizerConfig.attributes,\n\tcomments = sanitizerConfig.comments,\n\tdataAttributes = sanitizerConfig.dataAttributes,\n\tsanitizer,\n\t...rest\n} = sanitizerConfig, { allowInsecure = false } = {}) {\n\tconst tmp = document.createElement('template');\n\ttmp.setHTMLUnsafe(policy.createHTML(content));\n\tsanitize(tmp.content, { elements, attributes, comments, dataAttributes, sanitizer, ...rest }, allowInsecure);\n\tel.replaceChildren(tmp.content);\n}\n\nexport function parseHTML(content, {\n\telements = sanitizerConfig.elements,\n\tattributes = sanitizerConfig.attributes,\n\tcomments = sanitizerConfig.comments,\n\tdataAttributes = sanitizerConfig.dataAttributes,\n\tsanitizer,\n\t...rest\n} = sanitizerConfig, { allowInsecure = false } = {}) {\n\tconst doc = new DOMParser().parseFromString(policy.createHTML(content), 'text/html');\n\tsanitize(doc, { elements, attributes, comments, dataAttributes, sanitizer, ...rest }, allowInsecure);\n\treturn doc;\n}\n\nexport function sanitize(node, config = sanitizerConfig, allowInsecure = false) {\n\tif (! (node instanceof Node)) {\n\t\tthrow new TypeError('Not a node.');\n\t} else {\n\t\tconst converted = convertConfig(config);\n\t\treturn sanitizeNode(node, converted, allowInsecure);\n\t}\n}\n\nfunction isAllowedElement(el, config) {\n\treturn el.namespaceURI in config.elements\n\t\t&& config.elements[el.namespaceURI].some(opt => opt.name === el.localName);\n}\n\nfunction isIllegalURLAttr(attr) {\n\tif (! LINK_ATTRS.has(attr.name)) {\n\t\treturn false;\n\t} else if (! URL.canParse(attr.value)) {\n\t\treturn false;\n\t} else {\n\t\tconst { protocol } = new URL(attr.value);\n\t\treturn ILLEGAL_PROTOCOLS.has(protocol);\n\t}\n}\n\nconst isScriptAttr = 'trustedTypes' in globalThis\n\t? attr => trustedTypes.getAttributeType(\n\t\tattr.ownerElement.tagName, attr.localName,\n\t\tattr.ownerElement.namespaceURI, attr.namespaceURI,\n\t) !== null\n\t: attr => EVENT_ATTRS.has(attr.localName);\n\nfunction isAllowedAttr(attr, config, allowInsecure = false) {\n\tconst ns = attr.namespaceURI || '';\n\n\treturn (\n\t\t(! ('dataAttributes' in config) || config.dataAttributes)\n\t\t&& attr.name.startsWith('data-')\n\t) || (\n\t\tns in config.attributes\n\t\t&& config.attributes[ns].some(opt => opt.name === attr.localName)\n\t\t&& ! (allowInsecure || isScriptAttr(attr))\n\t\t&& ! (allowInsecure || isIllegalURLAttr(attr))\n\t);\n}\n\nfunction sanitizeNode(node, config, allowInsecure = false) {\n\tswitch(node.nodeType) {\n\t\tcase Node.ELEMENT_NODE:\n\t\t\tsanitizeElement(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.DOCUMENT_NODE:\n\t\tcase Node.DOCUMENT_FRAGMENT_NODE:\n\t\t\tsanitizeFragOrDoc(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.COMMENT_NODE:\n\t\t\tsanitizeComment(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.ATTRIBUTE_NODE:\n\t\t\tsanitizeAttr(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.TEXT_NODE:\n\t\tcase Node.DOCUMENT_TYPE_NODE:\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tif (node.ownerElement instanceof Element) {\n\t\t\t\tnode.ownerElement.removeChild(node);\n\t\t\t}\n\t}\n}\n\nfunction sanitizeElement(el, config, allowInsecure) {\n\tif (! isAllowedElement(el, config)) {\n\t\tel.remove();\n\t} else {\n\t\tif (el.hasAttributes()) {\n\t\t\tconst attrs = el.attributes;\n\n\t\t\tfor (let i = attrs.length - 1; i !== -1; i--) {\n\t\t\t\tsanitizeAttr(attrs[i], config, allowInsecure);\n\t\t\t}\n\t\t}\n\n\t\tif (el.tagName === 'TEMPLATE') {\n\t\t\tsanitizeFragOrDoc(el.content, config, allowInsecure);\n\t\t} else if (el.hasChildNodes()) {\n\t\t\tconst childNodes = el.childNodes;\n\n\t\t\tfor (let i = childNodes.length - 1; i !== -1; i--) {\n\t\t\t\tsanitizeNode(childNodes[i], config, allowInsecure);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction sanitizeAttr(attr, config, allowInsecure = false) {\n\tif (! isAllowedAttr(attr, config, allowInsecure) && attr.ownerElement instanceof Element) {\n\t\tattr.ownerElement.removeAttributeNode(attr);\n\t}\n}\n\nfunction sanitizeFragOrDoc(node, config, allowInsecure = false) {\n\tif (node.hasChildNodes()) {\n\t\tconst childNodes = node.childNodes;\n\n\t\tfor (let i = childNodes.length - 1; i !== -1; i--) {\n\t\t\tsanitizeNode(childNodes[i], config, allowInsecure);\n\t\t}\n\t}\n}\n\nfunction sanitizeComment(node, config) {\n\tif (! config.comments) {\n\t\tnode.remove();\n\t}\n}\n","export function createPolicy(name, { createHTML: html, createScript: script, createScriptURL: scriptURL }) {\n\tif ('trustedTypes' in globalThis) {\n\t\treturn trustedTypes.createPolicy(name, { createHTML: html, createScript: script, createScriptURL: scriptURL });\n\t} else {\n\t\treturn Object.freeze({\n\t\t\t[Symbol.for('policy-name')]: name.toString(),\n\t\t\tcreateHTML(input, ...args) {\n\t\t\t\tif (html instanceof Function) {\n\t\t\t\t\tconst result = html(input.toString(), ...args).toString();\n\t\t\t\t\treturn Object.freeze({\n\t\t\t\t\t\ttoString() {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthrow new TypeError(`Policy \"${name}\" does not provide a createHTML method.`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcreateScript(input, ...args) {\n\t\t\t\tif (script instanceof Function) {\n\t\t\t\t\tconst result = script(input.toString(), ...args).toString();\n\t\t\t\t\treturn Object.freeze({\n\t\t\t\t\t\ttoString() {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthrow new TypeError(`Policy \"${name}\" does not provide a createScript method.`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcreateScriptURL(input, ...args) {\n\t\t\t\tif (scriptURL instanceof Function) {\n\t\t\t\t\tconst result = scriptURL(input.toString(), ...args).toString();\n\t\t\t\t\treturn Object.freeze({\n\t\t\t\t\t\ttoString() {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthrow new TypeError(`Policy \"${name}\" does not provide a createScriptURL method.`);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t}\n}\n\nexport function createSanitizerPolicy(name = 'aegis#html', { defaultConfig = {} }= {}) {\n\treturn createPolicy(name, {\n\t\tcreateHTML(input, {\n\t\t\telements = defaultConfig.elements,\n\t\t\tattributes = defaultConfig.attributes,\n\t\t\tcomments = defaultConfig.comments,\n\t\t\tdataAttributes = defaultConfig.dataAttributes,\n\t\t\t...rest\n\t\t} = defaultConfig) {\n\t\t\tconst el = document.createElement('div');\n\t\t\tel.setHTML(input, { elements, attributes, comments, dataAttributes, ...rest });\n\t\t\treturn el.innerHTML;\n\t\t}\n\t});\n}\n","if (! ('command' in HTMLButtonElement.prototype)) {\n\tconst COMMAND_FOR = Symbol('command:for');\n\n\tconst CLICK_OPTIONS = { passive: true };\n\n\tObject.defineProperty(HTMLButtonElement.prototype, 'command', {\n\t\tget() {\n\t\t\treturn this.getAttribute('command');\n\t\t},\n\t\tset(val) {\n\t\t\tif (typeof val === 'string') {\n\t\t\t\tthis.setAttribute('command', val);\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('command');\n\t\t\t}\n\t\t}\n\t});\n\n\tObject.defineProperty(HTMLButtonElement.prototype, 'commandForElement', {\n\t\tget() {\n\t\t\tif (this[COMMAND_FOR] instanceof Element) {\n\t\t\t\treturn this[COMMAND_FOR];\n\t\t\t} else if (this.hasAttribute('commandfor')) {\n\t\t\t\treturn document.getElementById(this.getAttribute('commandfor'));\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tset(val) {\n\t\t\tif (! (val instanceof Element)) {\n\t\t\t\tthis.removeAttribute('commandfor');\n\t\t\t\tthis[COMMAND_FOR] = null;\n\t\t\t} else if (val.id.length === 0) {\n\t\t\t\tthis.setAttribute('commandfor', '');\n\t\t\t\tthis[COMMAND_FOR] = val;\n\t\t\t} else {\n\t\t\t\tthis.setAttribute('commandfor', val.id);\n\t\t\t\tthis[COMMAND_FOR] = null;\n\t\t\t}\n\t\t}\n\t});\n\n\tclass CommandEvent extends Event {\n\t\t#source = null;\n\t\t#command = '';\n\n\t\tconstructor(type, { source, command, bubbles, cancelable, composed } = {}) {\n\t\t\tsuper(type, { bubbles, cancelable, composed });\n\n\t\t\tif (typeof command === 'string') {\n\t\t\t\tthis.#command = command;\n\t\t\t}\n\n\t\t\tif (source instanceof HTMLButtonElement) {\n\t\t\t\tthis.#source = source;\n\t\t\t}\n\t\t}\n\n\t\tget command() {\n\t\t\treturn this.#command;\n\t\t}\n\n\t\tget source() {\n\t\t\treturn this.#source;\n\t\t}\n\t}\n\n\tfunction dispatchCommand({ currentTarget }) {\n\t\tif (currentTarget instanceof HTMLButtonElement && currentTarget.hasAttribute('command') && currentTarget.hasAttribute('commandfor')) {\n\t\t\tconst target = currentTarget.commandForElement;\n\t\t\tconst command = currentTarget.command;\n\n\t\t\tif (target instanceof Element && typeof command === 'string') {\n\t\t\t\tconst event = new CommandEvent('command', { command, source: currentTarget, cancelable: true });\n\t\t\t\ttarget.dispatchEvent(event);\n\n\t\t\t\tif (! event.defaultPrevented) {\n\t\t\t\t\tswitch(command) {\n\t\t\t\t\t\tcase 'show-modal':\n\t\t\t\t\t\t\tif (target instanceof HTMLDialogElement) {\n\t\t\t\t\t\t\t\ttarget.showModal();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'close':\n\t\t\t\t\t\t\tif (target instanceof HTMLDialogElement) {\n\t\t\t\t\t\t\t\ttarget.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'request-close':\n\t\t\t\t\t\t\tif (target instanceof HTMLDialogElement) {\n\t\t\t\t\t\t\t\ttarget.requestClose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'show-popover':\n\t\t\t\t\t\t\ttarget.showPopover();\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'hide-popover':\n\t\t\t\t\t\t\ttarget.hidePopover();\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'toggle-popover':\n\t\t\t\t\t\t\ttarget.togglePopover();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst observer = new MutationObserver(mutations => {\n\t\tfor (const mutation of mutations) {\n\t\t\tif (mutation.type === 'childList') {\n\t\t\t\tfor (const node of mutation.addedNodes) {\n\t\t\t\t\tif (node instanceof HTMLButtonElement && node.hasAttribute('command') && node.hasAttribute('commandfor')) {\n\t\t\t\t\t\tnode.addEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t\t} else if (node instanceof Element) {\n\t\t\t\t\t\tfor (const btn of node.querySelectorAll('button[command][commandfor]')) {\n\t\t\t\t\t\t\tbtn.addEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tmutation.type === 'attributes'\n\t\t\t\t&& mutation.target instanceof HTMLButtonElement\n\t\t\t\t&& typeof mutation.oldValue !== typeof mutation.target.getAttribute(mutation.attributeName)\n\t\t\t) {\n\t\t\t\tif (mutation.target.hasAttribute('command') && mutation.target.hasAttribute('commandfor')) {\n\t\t\t\t\tmutation.target.addEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t} else {\n\t\t\t\t\tmutation.target.removeEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tconst config = { childList: true, subtree: true, attributes: true, attributeFilter: ['command', 'commandfor'], attributeOldValue: true };\n\tobserver.observe(document, config);\n\tdocument.querySelectorAll('button').forEach(btn => btn.addEventListener('click', dispatchCommand, CLICK_OPTIONS));\n\tglobalThis.CommandEvent = CommandEvent;\n\t// For use in Shadow DOM\n\tglobalThis[Symbol.for('polyfill-command')] = target => observer.observe(target, config);\n}\n","import './sanitizer.js';\nimport { setHTML as html, parseHTML as parse } from '@aegisjsproject/sanitizer/sanitize.js';\n\nif (! (Promise.withResolvers instanceof Function)) {\n\tPromise.withResolvers = function withResolvers() {\n\t\tconst def = {};\n\t\tdef.promise = new Promise((resolve, reject) => {\n\t\t\tdef.resolve = resolve;\n\t\t\tdef.reject = reject;\n\t\t});\n\t\treturn def;\n\t};\n}\n\n/**\n * This is needed for working with sanitizer configs & attrs\n */\n\nif (! (URL.canParse instanceof Function)) {\n\tURL.canParse = function canParse(url, base) {\n\t\ttry {\n\t\t\tnew URL(url, base);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t};\n}\n\nif (! (URL.parse instanceof Function)) {\n\tURL.parse = function parse(url, base) {\n\t\ttry {\n\t\t\treturn new URL(url, base);\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\nif (! (Object.groupBy instanceof Function)) {\n\tObject.groupBy = function groupBy(arr, callback) {\n\t\tconst obj = {};\n\t\tfor (const item of arr) {\n\t\t\tconst key = callback(item);\n\n\t\t\tif (! (key in obj)) {\n\t\t\t\tobj[key] = [item];\n\t\t\t} else {\n\t\t\t\tobj[key].push(item);\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t};\n}\n\nif (! (Element.prototype.setHTML instanceof Function)) {\n\tElement.prototype.setHTML = function setHTML(content, {\n\t\telements,\n\t\tattributes,\n\t\tcomments,\n\t\tdataAttributes,\n\t\tsanitizer,\n\t\t...rest\n\t} = {}) {\n\t\t/**\n\t\t * @todo Remove legacy support for v1.0.0\n\t\t */\n\t\tif (typeof sanitizer === 'object' && sanitizer !== null) {\n\t\t\thtml(this, content, sanitizer.getConfiguration instanceof Function\n\t\t\t\t? sanitizer.getConfiguration()\n\t\t\t\t: sanitizer);\n\t\t} else {\n\t\t\thtml(this, content, { elements, attributes, comments, dataAttributes, ...rest });\n\t\t}\n\t};\n\n\tDocumentFragment.prototype.setHTML = function setHTML(...args) {\n\t\tElement.prototype.setHTML.apply(this, args);\n\t};\n\n\tHTMLTemplateElement.prototype.setHTML = function setHTML(html, config) {\n\t\tthis.content.setHTML(html, config);\n\t};\n}\n\nif (! (Document.parseHTML instanceof Function)) {\n\tDocument.parseHTML = function parseHTML(content, {\n\t\telements,\n\t\tattributes,\n\t\tcomments,\n\t\tdataAttributes,\n\t\tsanitizer,\n\t\t...rest\n\t} = {}) {\n\t\t/**\n\t\t * @todo Remove legacy support for v1.0.0\n\t\t */\n\t\tif (typeof sanitizer === 'object' && sanitizer !== null) {\n\t\t\treturn Document.parseHTML(content, sanitizer.getConfiguration instanceof Function\n\t\t\t\t? sanitizer.getConfiguration()\n\t\t\t\t: sanitizer);\n\t\t} else {\n\t\t\treturn parse(content, { elements, attributes, comments, dataAttributes, ...rest });\n\t\t}\n\t};\n}\n","import { aria } from './aom.js';\nimport { polyfillGetterSetter, polyfillMethod, overwriteMethod } from './utils.js';\nimport { getHTML, setHTMLUnsafe } from './methods/dom.js';\nimport './sanitizer.js';\nimport './command.js';\n\npolyfillMethod(Element.prototype, 'setHTMLUnsafe', setHTMLUnsafe);\npolyfillMethod(Element.prototype, 'getHTML', getHTML);\n\nif ('CustomElementRegistry' in globalThis && ! (CustomElementRegistry.prototype.getName instanceof Function)) {\n\tconst registry = new Map();\n\n\toverwriteMethod(CustomElementRegistry.prototype, 'define', original => {\n\t\treturn (tag, proto, opts) => {\n\t\t\toriginal.call(customElements, tag,proto, opts);\n\t\t\tregistry.set(proto, typeof opts.extends === 'string' ? opts.extends : tag);\n\t\t};\n\t});\n\n\tpolyfillMethod(CustomElementRegistry.prototype, 'getName', proto => {\n\t\tif (typeof proto === 'function') {\n\t\t\treturn registry.get(proto) ?? null;\n\t\t} else if (typeof proto === 'object' && proto !== null) {\n\t\t\t// Unnecessary, but just to be sure the same errors are thrown.\n\t\t\tthrow new TypeError('CustomElementRegistry.getName: Argument 1 is not callable.');\n\t\t} else {\n\t\t\tthrow new TypeError('CustomElementRegistry.getName: Argument 1 is not an object.');\n\t\t}\n\t});\n}\n\nfunction handlePopover({ currentTarget }) {\n\tswitch(currentTarget.popoverTargetAction) {\n\t\tcase 'show':\n\t\t\tcurrentTarget.popoverTargetElement.showPopover();\n\t\t\tbreak;\n\n\t\tcase 'hide':\n\t\t\tcurrentTarget.popoverTargetElement.hidePopover();\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tcurrentTarget.popoverTargetElement.togglePopover();\n\t}\n}\n\nexport function initPopover(target = document.body) {\n\ttarget.querySelectorAll('button[popovertarget], input[type=\"button\"][popovertarget]')\n\t\t.forEach(el => el.addEventListener('click', handlePopover));\n}\n\nif (! (globalThis.ToggleEvent instanceof Function)) {\n\tclass ToggleEvent extends Event {\n\t\t#newState;\n\t\t#oldState;\n\n\t\tconstructor(type, { newState, oldState }) {\n\t\t\tsuper(type, { bubbles: true });\n\t\t\tthis.#newState = newState;\n\t\t\tthis.#oldState = oldState;\n\t\t}\n\n\t\tget newState() {\n\t\t\treturn this.#newState;\n\t\t}\n\n\t\tget oldState() {\n\t\t\treturn this.#oldState;\n\t\t}\n\t}\n\n\tglobalThis.ToggleEvent = ToggleEvent;\n}\n\nif (! (HTMLElement.prototype.showPopover instanceof Function)) {\n\tconst isPopoverOpen = el => el.classList.contains('_popover-open');\n\n\tObject.defineProperties(HTMLElement.prototype, {\n\t\tshowPopover: {\n\t\t\tvalue: function showPopover() {\n\t\t\t\tif (! isPopoverOpen(this)) {\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('beforetoggle', { oldState: 'closed', newState: 'open' }));\n\n\t\t\t\t\tif (this.getAttribute('popover') === 'auto') {\n\t\t\t\t\t\tconst controller = new AbortController();\n\n\t\t\t\t\t\tdocument.body.addEventListener('click', ({ target }) => {\n\t\t\t\t\t\t\tif (! this.contains(target) && ! this.isSameNode(target.popoverTargetElement)) {\n\t\t\t\t\t\t\t\tcontroller.abort();\n\t\t\t\t\t\t\t\tthis.hidePopover();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { signal: controller.signal, capture: true });\n\n\t\t\t\t\t\tdocument.body.addEventListener('keydown', ({ key }) => {\n\t\t\t\t\t\t\tif (key === 'Escape') {\n\t\t\t\t\t\t\t\tcontroller.abort();\n\t\t\t\t\t\t\t\tthis.hidePopover();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { signal: controller.signal, capture: true });\n\n\t\t\t\t\t\tdocument.addEventListener('beforetoggle', ({ target }) => {\n\t\t\t\t\t\t\tif (! target.isSameNode(this) && target.getAttribute('popover') === 'auto') {\n\t\t\t\t\t\t\t\tcontroller.abort();\n\t\t\t\t\t\t\t\tthis.hidePopover();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { signal: controller.signal });\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.classList.add('_popover-open');\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('toggle', { oldState: 'closed', newState: 'open' }));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thidePopover: {\n\t\t\tvalue: function hidePopover() {\n\t\t\t\tif (isPopoverOpen(this)) {\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('beforetoggle', { oldState: 'open', newState: 'closed' }));\n\t\t\t\t\tqueueMicrotask(() => this.classList.remove('_popover-open'));\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('toggle', { oldState: 'open', newState: 'closed' }));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttogglePopover: {\n\t\t\tvalue: function togglePopover() {\n\t\t\t\tisPopoverOpen(this) ? this.hidePopover() : this.showPopover();\n\t\t\t}\n\t\t}\n\t});\n\n\tObject.defineProperties(HTMLButtonElement.prototype, {\n\t\tpopoverTargetElement: {\n\t\t\tget() {\n\t\t\t\treturn document.getElementById(this.getAttribute('popovertarget'));\n\t\t\t}\n\t\t},\n\t\tpopoverTargetAction: {\n\t\t\tget() {\n\t\t\t\treturn this.getAttribute('popovertargetaction') || 'toggle';\n\t\t\t},\n\t\t\tset(val) {\n\t\t\t\tthis.setAttribute('popovertargetaction', val);\n\t\t\t}\n\t\t}\n\t});\n\n\tinitPopover();\n}\n\nif (! (HTMLScriptElement.supports instanceof Function)) {\n\tHTMLScriptElement.supports = function supports(type) {\n\t\tswitch(type.toLowerCase()) {\n\t\t\tcase 'classic':\n\t\t\t\treturn true;\n\n\t\t\tcase 'module':\n\t\t\t\treturn 'noModule' in HTMLScriptElement.prototype;\n\n\t\t\tcase 'importmap':\n\t\t\t\treturn false;\n\n\t\t\tcase 'speculationrules':\n\t\t\t\treturn false;\n\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n}\n\nif (! Element.prototype.hasOwnProperty(aria.role)) {\n\tconst enumerable = true;\n\tconst configurable = true;\n\n\tconst props = Object.fromEntries(Object.entries(aria).map(([prop, attr]) => [prop, {\n\t\tget: function() {\n\t\t\treturn this.getAttribute(attr);\n\t\t},\n\t\tset: function(val) {\n\t\t\tif (typeof val === 'string') {\n\t\t\t\tthis.setAttribute(attr, val);\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute(attr);\n\t\t\t}\n\t\t},\n\t\tenumerable, configurable,\n\t}]));\n\n\tObject.defineProperties(Element.prototype, props);\n}\n\nif (! HTMLElement.prototype.hasOwnProperty('inert')) {\n\t// CSS will handle pointer events\n\tconst previous = new WeakMap();\n\tconst restoreTabIndex = el => {\n\t\tif (previous.has(el)) {\n\t\t\tel.tabIndex = previous.get(el);\n\t\t}\n\n\t\tif (el.hasChildNodes()) {\n\t\t\t[...el.children].forEach(restoreTabIndex);\n\t\t}\n\t};\n\n\tconst setTabIndex = el => {\n\t\tif (el.tabIndex !== -1) {\n\t\t\tprevious.set(el, el.tabIndex);\n\t\t\tel.tabIndex = -1;\n\t\t}\n\n\t\tif (el.hasChildNodes()) {\n\t\t\t[...el.children].forEach(setTabIndex);\n\t\t}\n\t};\n\n\tObject.defineProperty(HTMLElement.prototype, 'inert', {\n\t\tget: function() {\n\t\t\treturn this.hasAttribute('inert');\n\t\t},\n\t\tset: function(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.setAttribute('aria-hidden', 'true');\n\t\t\t\tthis.setAttribute('inert', '');\n\t\t\t\tsetTabIndex(this);\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('aria-hidden');\n\t\t\t\tthis.removeAttribute('inert');\n\t\t\t\trestoreTabIndex(this);\n\t\t\t}\n\t\t},\n\t\tenumerable: true, configurable: true,\n\t});\n}\n\nif (! HTMLImageElement.prototype.hasOwnProperty('complete')) {\n\t/**\n\t * Note: This shim cannot detect if an image has an error while loading\n\t * and will return false on an invalid URL, for example. It also does not\n\t * work for 0-sized images, if such a thing is possible.\n\t */\n\tObject.defineProperty(HTMLImageElement.prototype, 'complete', {\n\t\tget: function() {\n\t\t\treturn this.src === '' || this.naturalHeight > 0;\n\t\t}\n\t});\n}\n\nif (! (HTMLImageElement.prototype.decode instanceof Function)) {\n\tHTMLImageElement.prototype.decode = function () {\n\t\tif (this.complete) {\n\t\t\treturn Promise.resolve();\n\t\t} else {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst load = () => {\n\t\t\t\t\tthis.removeEventListener('error', error);\n\t\t\t\t\tthis.removeEventListener('load', load);\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\n\t\t\t\tconst error = (err) => {\n\t\t\t\t\tthis.removeEventListener('error', error);\n\t\t\t\t\tthis.removeEventListener('load', load);\n\t\t\t\t\treject(err);\n\t\t\t\t};\n\n\t\t\t\tthis.addEventListener('load', load);\n\t\t\t\tthis.addEventListener('error', error);\n\t\t\t});\n\t\t}\n\t};\n}\n\nif (! HTMLTemplateElement.prototype.hasOwnProperty('shadowRootMode')) {\n\tconst attachedShadows = new WeakMap();\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootMode', {\n\t\tget() {\n\t\t\treturn this.getAttribute('shadowrootmode');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.setAttribute('shadowrootmode', val);\n\t\t}\n\t});\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootDelegatesFocus', {\n\t\tget() {\n\t\t\treturn this.hasAttribute('shadowrootdelegatesfocus');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.toggleAttribute('shadowrootdelegatesfocus', val);\n\t\t}\n\t});\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootClonable', {\n\t\tget() {\n\t\t\treturn this.hasAttribute('shadowrootclonable');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.toggleAttribute('shadowrootclonable', val);\n\t\t}\n\t});\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootSerializable', {\n\t\tget() {\n\t\t\treturn this.hasAttribute('shadowrootserializable');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.toggleAttribute('shadowrootserializable', val);\n\t\t}\n\t});\n\n\tconst attachShadows = (base = document) => {\n\t\tbase.querySelectorAll('template[shadowrootmode]').forEach(tmp => {\n\t\t\tconst shadow = tmp.parentElement.attachShadow({\n\t\t\t\tmode: tmp.shadowRootMode,\n\t\t\t\tclonable: tmp.shadowRootClonable,\n\t\t\t\tdelegatesFocus: tmp.shadowRootDelegatesFocus,\n\t\t\t\tserializable: tmp.shadowRootSerializable,\n\t\t\t});\n\n\t\t\tshadow.append(tmp.content);\n\t\t\ttmp.remove();\n\t\t\tattachShadows(shadow);\n\t\t\tattachedShadows.set(shadow.host, shadow);\n\t\t});\n\t};\n\n\toverwriteMethod(HTMLElement.prototype, 'attachShadow', function(attach) {\n\t\treturn ({ mode, clonable = false, delegatesFocus = false, serializable = false, slotAssignment = 'auto' }) => {\n\t\t\tif (! attachedShadows.has(this)) {\n\t\t\t\treturn attach.call(this, { mode, clonable, delegatesFocus, serializable, slotAssignment });\n\t\t\t} else {\n\t\t\t\tconst shadow = attachedShadows.get(this);\n\n\t\t\t\tif (mode === shadow.shadowRootMode) {\n\t\t\t\t\tattachShadows.remove(this);\n\t\t\t\t\treturn shadow;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new DOMException('Element.attachShadow: Unable to re-attach to existing ShadowDOM');\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\tif (document.readyState === 'loading') {\n\t\tdocument.addEventListener('readystatechange', () => attachShadows(document), { once: true });\n\t} else {\n\t\tattachShadows(document);\n\t}\n}\n\nif (! (HTMLFormElement.prototype.requestSubmit instanceof Function)) {\n\tHTMLFormElement.prototype.requestSubmit = function(submitter) {\n\t\tif (typeof submitter === 'undefined') {\n\t\t\tconst btn = document.createElement('button');\n\t\t\tbtn.type = 'submit';\n\t\t\tbtn.hidden = true;\n\t\t\tthis.append(btn);\n\t\t\tthis.requestSubmit(btn);\n\t\t\tsetTimeout(() => btn.remove(), 100);\n\t\t} else if (! (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement)) {\n\t\t\tthrow new TypeError('HTMLFormElement.requestSubmit: The submitter is not a submit button.');\n\t\t} else if (submitter.type !== 'submit' && ! (submitter instanceof HTMLInputElement && submitter.type === 'image')) {\n\t\t\tthrow new TypeError('HTMLFormElement.requestSubmit: The submitter is not a submit button.');\n\t\t} else if (! this.isSameNode(submitter.form)) {\n\t\t\tthrow new DOMException('HTMLFormElement.requestSubmit: The submitter is not owned by this form.', 'NotFoundError');\n\t\t} else {\n\t\t\tsubmitter.click();\n\t\t}\n\t};\n}\n\nif (! ('loading' in HTMLIFrameElement.prototype)) {\n\tpolyfillGetterSetter(HTMLIFrameElement.prototype, 'loading', {\n\t\tget: function() {\n\t\t\treturn this.getAttribute('loading') || 'auto';\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis.setAttribute('loading', val);\n\t\t}\n\t});\n}\n\nif (! ('credentialless' in HTMLIFrameElement.prototype)) {\n\tpolyfillGetterSetter(HTMLIFrameElement.prototype, 'credentialless', {\n\t\tget: function() {\n\t\t\treturn this.hasAttribute('credentialless');\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis.toggleAttribute('credentialless', val);\n\t\t}\n\t});\n}\n\nif ('HTMLDialogElement' in globalThis && ! (HTMLDialogElement.prototype.requestClose instanceof Function)) {\n\tHTMLDialogElement.prototype.requestClose = function requestClose(returnValue) {\n\t\tconst event = new Event('cancel', { cancelable: true, bubbles: false });\n\t\tthis.dispatchEvent(event);\n\n\t\tif (! event.defaultPrevented) {\n\t\t\tthis.close(returnValue);\n\t\t}\n\t};\n}\n","/**\n * @see https://github.com/tc39/proposal-set-methods\n */\n'use strict';\n\nconst TYPE_ERR_MSG = 'Expected a set-like object.';\nconst SET_METHODS = ['has', 'keys'];\nconst SET_PROPS = ['size'];\nconst isSet = thing => thing instanceof Set;\nconst isSetLike = thing => isSet(thing) || (\n\ttypeof thing === 'object'\n\t&& thing !== null\n\t&& SET_METHODS.every(method => thing[method] instanceof Function)\n\t&& SET_PROPS.every(prop => prop in thing)\n);\n\nif (! (Set.prototype.intersection instanceof Function)) {\n\tSet.prototype.intersection = function intersection(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn new Set([...this].filter(item => set.has(item)));\n\t};\n}\n\nif (! (Set.prototype.difference instanceof Function)) {\n\tSet.prototype.difference = function difference(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn new Set([...this].filter(item => ! set.has(item)));\n\t};\n}\n\nif (! (Set.prototype.union instanceof Function)) {\n\tSet.prototype.union = function union(set) {\n\t\treturn new Set([...this, ...set]);\n\t};\n}\n\nif (! (Set.prototype.isSubsetOf instanceof Function)) {\n\tSet.prototype.isSubsetOf = function isSubsetOf(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn [...this].every(item => set.has(item));\n\t};\n}\n\nif (! (Set.prototype.isSupersetOf instanceof Function)) {\n\tSet.prototype.isSupersetOf = function isSupersetOf(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\t// @TODO Handle when `set` is set-like\n\t\treturn isSet(set)\n\t\t\t? set.isSubsetOf(this)\n\t\t\t: new Set(set.keys()).isSubsetOf(this);\n\t};\n}\n\nif (! (Set.prototype.symmetricDifference instanceof Function)) {\n\tSet.prototype.symmetricDifference = function symmetricDifference(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\t// @TODO Handle when `set` is set-like\n\t\treturn isSet(set)\n\t\t\t? new Set([...this.difference(set), ...set.difference(this)])\n\t\t\t: new Set([...this.difference(set), ...new Set(set.keys()).difference(this)]);\n\t};\n}\n\nif (! (Set.prototype.isDisjointFrom instanceof Function)) {\n\tSet.prototype.isDisjointFrom = function isDisjointFrom(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn new Set([...this, ...set]).size === this.size + set.size;\n\t};\n}\n","if (! (WeakMap.prototype.emplace instanceof Function)) {\n\tWeakMap.prototype.emplace = function emplace(key, { insert, update } = {}) {\n\t\tconst has = this.has(key);\n\n\t\tif (has && update instanceof Function) {\n\t\t\tconst existing = this.get(key);\n\t\t\tconst value = update.call(this, existing, key, this);\n\n\t\t\tif (value !== existing) {\n\t\t\t\tthis.set(key, existing);\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} else if (has) {\n\t\t\treturn this.get(key);\n\t\t} else if (insert instanceof Function) {\n\t\t\tconst value = insert.call(this, key, this);\n\t\t\tthis.set(key, value);\n\t\t\treturn value;\n\t\t} else {\n\t\t\tthrow new Error('Key is not found and no `insert()` given');\n\t\t}\n\t};\n}\n","(function() {\n\t'use strict';\n\n\tif ('screen' in globalThis && ! (globalThis.getScreenDetails instanceof Function)) {\n\t\tclass ScreenDetailed extends EventTarget {\n\t\t\tget availHeight() {\n\t\t\t\treturn screen.availHeight;\n\t\t\t}\n\n\t\t\tget availLeft() {\n\t\t\t\treturn screen.availLeft;\n\t\t\t}\n\n\t\t\tget availTop() {\n\t\t\t\treturn screen.availTop;\n\t\t\t}\n\n\t\t\tget availWidth() {\n\t\t\t\treturn screen.availWidth;\n\t\t\t}\n\n\t\t\tget colorDepth() {\n\t\t\t\treturn screen.colorDepth;\n\t\t\t}\n\n\t\t\tget devicePixelRatio() {\n\t\t\t\treturn globalThis.devicePixelRatio || 1;\n\t\t\t}\n\n\t\t\tget height() {\n\t\t\t\treturn screen.height;\n\t\t\t}\n\n\t\t\tget isExtended() {\n\t\t\t\treturn screen.isExtended;\n\t\t\t}\n\n\t\t\tget isInternal() {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tget isPrimary() {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tget label() {\n\t\t\t\treturn 'Unknown';\n\t\t\t}\n\n\t\t\tget orientation() {\n\t\t\t\treturn screen.orientation;\n\t\t\t}\n\n\t\t\tget pixelDepth() {\n\t\t\t\treturn screen.pixelDepth;\n\t\t\t}\n\n\t\t\tget top() {\n\t\t\t\treturn screen.top;\n\t\t\t}\n\n\t\t\tget width() {\n\t\t\t\treturn screen.width;\n\t\t\t}\n\t\t}\n\n\t\tclass ScreenDetails extends EventTarget {\n\t\t\tget currentScreen() {\n\t\t\t\treturn new ScreenDetailed();\n\t\t\t}\n\n\t\t\tget screens() {\n\t\t\t\treturn [this.currentScreen];\n\t\t\t}\n\t\t}\n\n\t\tObject.defineProperty(Screen.prototype, 'isExtended', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => false,\n\t\t});\n\n\t\tglobalThis.getScreenDetails = async () => new ScreenDetails();\n\t}\n})();\n","/**\n * @copyright 2024 Chris Zuber <admin@kernvalley.us>\n */\nexport const PRIORITIES = {\n\tblocking: 'user-blocking',\n\tvisible: 'user-visible',\n\tbackground: 'background',\n};\n\nasync function delayCallback(cb, { delay = 0, signal } = {}) {\n\tconst { promise, resolve, reject } = Promise.withResolvers();\n\n\tif (signal instanceof AbortSignal && signal.aborted) {\n\t\treject(signal.reason);\n\t} else {\n\t\tconst controller = new AbortController();\n\t\tconst handle = setTimeout(async () => {\n\t\t\tawait Promise.try(cb).then(resolve, reject);\n\t\t\tcontroller.abort();\n\t\t}, delay);\n\n\t\tif (signal instanceof AbortSignal) {\n\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\treject(target.reason);\n\t\t\t\tclearTimeout(handle);\n\t\t\t\tcontroller.abort(target.reason);\n\t\t\t}, { once: true, signal: controller.signal });\n\t\t}\n\t}\n\n\treturn await promise;\n}\n\nfunction getTaskCallback(callback, resolve, reject, signal) {\n\treturn async () => {\n\t\tif (signal instanceof AbortSignal && signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t} else if (! (callback instanceof Function)) {\n\t\t\treject(new TypeError('Scheduled task is not a function.'));\n\t\t} else {\n\t\t\tawait Promise.try(callback).then(resolve, reject);\n\t\t}\n\t};\n}\n\nexport class Scheduler {\n\tasync postTask(callback, {\n\t\tpriority,\n\t\tdelay,\n\t\tsignal,\n\t} = {}) {\n\t\tconst { promise, resolve, reject } = Promise.withResolvers();\n\t\tconst controller = new AbortController();\n\t\tconst hasDelay = Number.isSafeInteger(delay) && delay > -1;\n\t\tconst taskCallback = getTaskCallback(callback, resolve, reject, signal);\n\n\t\tif (typeof priority === 'undefined') {\n\t\t\tpriority = signal instanceof globalThis.TaskSignal ? signal.priority : PRIORITIES.visible;\n\t\t}\n\n\t\tif (signal instanceof AbortSignal && signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t} else {\n\t\t\tswitch(priority) {\n\t\t\t\tcase PRIORITIES.blocking:\n\t\t\t\t\tif (hasDelay) {\n\t\t\t\t\t\tawait delayCallback(taskCallback, { delay, signal });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tawait Promise.resolve();\n\t\t\t\t\t\tqueueMicrotask(taskCallback);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase PRIORITIES.visible:\n\t\t\t\t\tif (hasDelay) {\n\t\t\t\t\t\tawait delayCallback(() => requestAnimationFrame(taskCallback), { delay, signal });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst handle = requestAnimationFrame(taskCallback);\n\n\t\t\t\t\t\tif (signal instanceof AbortSignal) {\n\t\t\t\t\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\t\t\t\t\tcancelAnimationFrame(handle);\n\t\t\t\t\t\t\t\treject(target.reason);\n\t\t\t\t\t\t\t\tcontroller.abort(target.reason);\n\t\t\t\t\t\t\t}, { once: true, signal: controller.signal });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase PRIORITIES.background:\n\t\t\t\t\tif (hasDelay) {\n\t\t\t\t\t\tawait delayCallback(() => requestIdleCallback(taskCallback), { delay, signal });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst handle = requestIdleCallback(taskCallback);\n\n\t\t\t\t\t\tif (signal instanceof AbortSignal) {\n\t\t\t\t\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\t\t\t\t\tcancelIdleCallback(handle);\n\t\t\t\t\t\t\t\treject(target.reason);\n\t\t\t\t\t\t\t\tcontroller.abort(target.reason);\n\t\t\t\t\t\t\t}, { once: true, signal: controller.signal });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new TypeError(`Scheduler.postTask: '${priority}' (value of 'priority' member of SchedulerPostTaskOptions) is not a valid value for enumeration TaskPriority.`);\n\t\t\t}\n\t\t}\n\n\t\treturn await promise.then(result => {\n\t\t\tcontroller.abort();\n\t\t\treturn result;\n\t\t}).catch(err => {\n\t\t\tcontroller.abort(err);\n\t\t\tthrow err;\n\t\t});\n\t}\n\n\tasync yield() {\n\t\tawait this.postTask(() => null, { priority: PRIORITIES.visible });\n\t}\n}\n","import { Scheduler } from './assets/Scheduler.js';\n\nif (! ('scheduler' in globalThis)) {\n\tglobalThis.scheduler = new Scheduler();\n} else if (! (globalThis.scheduler.yield instanceof Function)) {\n\tglobalThis.scheduler.yield = async function(opts) {\n\t\tawait Scheduler.prototype.yield.call(this, opts);\n\t};\n}\n\nif (! ('TaskController' in globalThis)) {\n\tconst PRIORITIES = ['user-visible', 'user-blocking', 'background'];\n\tconst PRIORITY_SYMBOL = Symbol('task:priority');\n\n\tglobalThis.TaskPriorityChangeEvent = class TaskPriorityChangeEvent extends Event {\n\t\t#previousPriority;\n\n\t\tconstructor(type, { previousPriority }) {\n\t\t\tsuper(type);\n\n\t\t\tif (typeof previousPriority !== 'string') {\n\t\t\t\tthrow new TypeError('TaskPriorityChangeEvent constructor: Missing required \\'previousPriority\\' member of TaskPriorityChangeEventInit.');\n\t\t\t} else if (! PRIORITIES.includes(previousPriority)) {\n\t\t\t\tthrow new TypeError(`TaskPriorityChangeEvent constructor: '${previousPriority}' (value of 'previousPriority' member of TaskPriorityChangeEventInit) is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else {\n\t\t\t\tthis.#previousPriority = previousPriority;\n\t\t\t}\n\t\t}\n\n\t\tget previousPriority() {\n\t\t\treturn this.#previousPriority;\n\t\t}\n\t};\n\n\tglobalThis.TaskSignal = class TaskSignal extends AbortSignal {\n\t\tget priority() {\n\t\t\treturn this[PRIORITY_SYMBOL];\n\t\t}\n\n\t\tstatic any(signals, { priority = 'user-visible' } = {}) {\n\t\t\tif (! PRIORITIES.includes(priority)) {\n\t\t\t\tthrow new TypeError(`TaskSignal.any: '${priority}' is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else {\n\t\t\t\tconst signal = super.any(signals);\n\n\t\t\t\tObject.setPrototypeOf(signal, globalThis.TaskSignal.prototype);\n\t\t\t\tObject.defineProperty(signal, PRIORITY_SYMBOL, {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: priority,\n\t\t\t\t});\n\n\t\t\t\treturn signal;\n\t\t\t}\n\t\t}\n\t};\n\n\tglobalThis.TaskController = class TaskController extends AbortController {\n\t\tconstructor({ priority = 'user-visible' } = {}) {\n\t\t\tsuper();\n\n\t\t\tif (! PRIORITIES.includes(priority)) {\n\t\t\t\tthrow new TypeError(`TaskController constructor: '${priority}' (value of 'priority' member of TaskControllerInit) is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else {\n\t\t\t\tObject.setPrototypeOf(this.signal, globalThis.TaskSignal.prototype);\n\t\t\t\tObject.defineProperty(this.signal, PRIORITY_SYMBOL, {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: priority,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tsetPriority(value) {\n\t\t\tif (! PRIORITIES.includes(value)) {\n\t\t\t\tthrow new TypeError(`TaskController.setPriority: '${value}' (value of argument 1) is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else if (value !== this.signal.priority) {\n\t\t\t\tconst event = new globalThis.TaskPriorityChangeEvent('prioritychange', { previousPriority: this.signal.priority });\n\t\t\t\tthis.signal[PRIORITY_SYMBOL] = value;\n\t\t\t\tthis.signal.dispatchEvent(event);\n\t\t\t}\n\t\t}\n\t};\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals\n * @see https://caniuse.com/mdn-api_formdataevent\n * @see https://caniuse.com/mdn-api_elementinternals\n * @todo: Figure out how to cleanup MutationObserver for removed inputs\n * @todo: Can I add a MutationObserver to automatically set/unset forms,\n * even in `ShadowRoot`s?\n *\n * This polyfill needs a bit of extra work from the custom element to work.\n * Check if `internals._polyfilled` to see if extra steps are necessary:\n * - Call `internals._associateForm(form, this)` in `connectedCallback()`\n * - Call again with `(null, this)` in `disconnectedCallback()` to disassociate\n *\n * Additionally, if `internals.states._polyfilled`\n * - Use `._state--*` in addition to `:--*` to query element internals states\n * - This includes `:disabled` -> `._state--disabled` & `:invalid` -> `._state--invalid`\n */\nimport { aria } from './aom.js';\n\nconst symbols = {\n\tkey: Symbol('key'),\n\tinternals: Symbol('element-internals'),\n\tform: Symbol('form'),\n\tfieldset: Symbol('fieldset'),\n\telement: Symbol('element'),\n\tvalidity: Symbol('validity'),\n\tvalidationMessage: Symbol('validation-message'),\n\tvalue: Symbol('value'),\n\tstate: Symbol('state'),\n\tformController: Symbol('form-controller'),\n\tanchor: Symbol('anchor'),\n\tcustomInputs: Symbol('custom-inputs'),\n};\n\nfunction shimAria(prototype) {\n\tconst enumerable = true;\n\tconst configurable = true;\n\tconst props = Object.fromEntries(Object.keys(aria).map(prop => [prop, {\n\t\tget: function() {\n\t\t\treturn this[symbols.element][prop];\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[symbols.element][prop] = val;\n\t\t},\n\t\tenumerable, configurable,\n\t}]));\n\n\tObject.defineProperties(prototype, props);\n}\n\nif (! (HTMLElement.prototype.attachInternals instanceof Function) && 'FormDataEvent' in globalThis) {\n\tconst validationObject = {\n\t\tvalueMissing: false, typeMismatch: false, patternMismatch: false, tooLong: false,\n\t\ttooShort: false, rangeUnderflow: false, rangeOverflow: false, stepMismatch: false,\n\t\tbadInput: false, customError: false, valid: true,\n\t};\n\n\tconst hasDisabledFieldset = component => component.hasOwnProperty(symbols.fieldset)\n\t\t&& component[symbols.fieldset] instanceof HTMLFieldSetElement\n\t\t&& component[symbols.fieldset].disabled;\n\n\tconst isFormAssociated = (component) => {\n\t\treturn component instanceof HTMLElement\n\t\t\t&& component.tagName.includes('-')\n\t\t\t&& customElements.get(component.tagName.toLowerCase()).formAssociated;\n\t};\n\n\tconst getFormDataHandler = (component, internals) => {\n\t\treturn function(event) {\n\t\t\tif (! event.target.reportValidity()) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tevent.stopPropagation();\n\t\t\t} else if (internals.willValidate && event.formData instanceof FormData) {\n\t\t\t\tconst value = internals[symbols.value];\n\n\t\t\t\tif (value instanceof FormData) {\n\t\t\t\t\tvalue.entries().forEach(([k, v]) => event.formData.set(k, v));\n\t\t\t\t} else if (component.hasAttribute('name')) {\n\t\t\t\t\tevent.formData.set(component.getAttribute('name'), internals[symbols.value]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t};\n\n\tconst css = (el, rules) => {\n\t\tObject.entries(rules).forEach(([k, v]) => el.style.setProperty(k, v));\n\t};\n\n\tconst findAssociatedForm = (component) => {\n\t\tif (component.hasAttribute('form')) {\n\t\t\treturn document.forms[component.getAttribute('form')] || component.closest('form');\n\t\t} else {\n\t\t\treturn component.closest('form');\n\t\t}\n\t};\n\n\t// To be used in/after `connectedCallback`\n\tconst associateForm = (form, internals, component) => {\n\t\tif (! (form instanceof HTMLFormElement)) {\n\t\t\tif (internals[symbols.formController] instanceof AbortController) {\n\t\t\t\tinternals[symbols.formController].abort();\n\t\t\t}\n\n\t\t\tinternals[symbols.form] = null;\n\t\t\tinternals[symbols.formController] = null;\n\n\t\t\tif (component.hasOwnProperty(symbols.fieldset)) {\n\t\t\t\tconst fieldset = component[symbols.fieldset];\n\n\t\t\t\tif (fieldset.hasOwnProperty(symbols.customInputs)) {\n\t\t\t\t\tfieldset[symbols.customInputs].delete(component);\n\n\t\t\t\t\tif (fieldset[symbols.customInputs.size] === 0) {\n\t\t\t\t\t\tdelete fieldset[symbols.customInputs];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcomponent[symbols.fieldset] = null;\n\t\t\t}\n\t\t} else if (! (component instanceof HTMLElement && component.tagName.includes('-'))) {\n\t\t\tthrow new TypeError('Not a custom element');\n\t\t} else if (! (internals instanceof ElementInternals || internals instanceof globalThis.ElementInternals)) {\n\t\t\tthrow new TypeError('Invalid ElementInternals');\n\t\t} else if (! isFormAssociated(component)) {\n\t\t\tthrow new TypeError(`${component.tagName} is not form associated.`);\n\t\t} else if (! (component.formAssociatedCallback instanceof Function)) {\n\t\t\tthrow new TypeError(`${component.tagName} is missing a formAssociatedCallback method.`);\n\t\t} else {\n\t\t\tconst controller = new AbortController();\n\t\t\tconst fieldset = component.closest('fieldset');\n\n\t\t\tif (fieldset instanceof Element) {\n\t\t\t\tcomponent[symbols.fieldset] = fieldset;\n\t\t\t\tif (! fieldset.hasOwnProperty(symbols.customInputs)) {\n\t\t\t\t\tfieldset[symbols.customInputs] = new Set();\n\t\t\t\t}\n\n\t\t\t\tfieldset[symbols.customInputs].add(component);\n\t\t\t\tobserver.observe(fieldset, observerOpts);\n\t\t\t}\n\n\t\t\tinternals[symbols.form] = form;\n\t\t\tinternals[symbols.formController] = controller;\n\n\t\t\tconst { checkValidity, reportValidity } = form;\n\n\t\t\tform.reportValidity = function() {\n\t\t\t\tif (! reportValidity.call(this)) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn internals.reportValidity();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tform.checkValidity = function() {\n\t\t\t\tif (! checkValidity.call(this)) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn internals.checkValidity();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tcontroller.signal.addEventListener('abort', () => {\n\t\t\t\tform.reportValidity = reportValidity;\n\t\t\t\tform.checkValidity = checkValidity;\n\t\t\t}, { once: true });\n\n\t\t\tform.addEventListener('formdata', getFormDataHandler(component, internals), { signal: controller.signal });\n\t\t\tform.addEventListener('submit', event => {\n\t\t\t\tif (! event.target.reportValidity()) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t}, { signal: controller.signal });\n\n\t\t\tif (component.formResetCallback instanceof Function) {\n\t\t\t\tform.addEventListener('reset', () => component.formResetCallback(), { signal: controller.signal });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst observer = new MutationObserver((mutations) => {\n\t\tmutations.forEach(({ target, type, attributeName }) => {\n\t\t\tif (type === 'attributes' && attributeName === 'disabled') {\n\t\t\t\tconst disabled = target.hasAttribute('disabled');\n\n\t\t\t\t/**\n\t\t\t\t * Check that target is a valid candiate and not a child of a\n\t\t\t\t * `<fieldset disabled>`, unless they are both being toggled\n\t\t\t\t * together to the same value.\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\tisFormAssociated(target)\n\t\t\t\t\t&& target.hasOwnProperty(symbols.internals)\n\t\t\t\t\t&& target[symbols.internals].states.has('--disabled') !== disabled\n\t\t\t\t\t&& (\n\t\t\t\t\t\tmutations.length === 1\n\t\t\t\t\t\t\t// target is not a descendant of a `<fieldset disabled>`\n\t\t\t\t\t\t\t? ! hasDisabledFieldset(target)\n\t\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t\t// target & `<fieldset>` are being enabled/disabled together\n\t\t\t\t\t\t\t\ttarget.hasAttribute('disabled') === hasDisabledFieldset(target)\n\t\t\t\t\t\t\t\t&& mutations.some((m) =>\n\t\t\t\t\t\t\t\t\tm.target.isSameNode(target[symbols.fieldset])\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tconst internals = target[symbols.internals];\n\n\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\tinternals.states.add('--disabled');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinternals.states.delete('--disabled');\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target.formDisabledCallback instanceof Function) {\n\t\t\t\t\t\ttarget.formDisabledCallback(disabled);\n\t\t\t\t\t}\n\t\t\t\t} else if (\n\t\t\t\t\ttarget.tagName === 'FIELDSET'\n\t\t\t\t\t&& target.hasOwnProperty(symbols.customInputs)\n\t\t\t\t\t&& (\n\t\t\t\t\t\tmutations.length === 1\n\t\t\t\t\t\t|| ! mutations.some(m => target[symbols.customInputs].has(m.target))\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\ttarget[symbols.customInputs].forEach(el => {\n\t\t\t\t\t\tif (el.isConnected && el.hasOwnProperty(symbols.internals)) {\n\t\t\t\t\t\t\t// Do not toggle disabled on elements that are `disabled`\n\t\t\t\t\t\t\tif (! el.hasAttribute('disabled')) {\n\t\t\t\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\t\t\t\tel[symbols.internals].states.add('--disabled');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tel[symbols.internals].states.delete('--disabled');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (el.formDisabledCallback instanceof Function) {\n\t\t\t\t\t\t\t\t\tel.formDisabledCallback(disabled);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttarget[symbols.customInputs].delete(el);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\tconst observerOpts = { attributes :true, attributeFilter: ['disabled'] };\n\n\tclass ElementInternals {\n\t\tconstructor(element, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new TypeError('Illegal constructor');\n\t\t\t} else if (! (element instanceof HTMLElement)) {\n\t\t\t\tthrow new TypeError('Must be called on an HTMLElement');\n\t\t\t} else if (! element.tagName.includes('-')) {\n\t\t\t\tthrow new DOMException('Cannot attach internals to a built-in element.');\n\t\t\t} else {\n\t\t\t\t// internals.add(this);\n\t\t\t\tconst configurable = true;\n\t\t\t\tconst enumerable = false;\n\t\t\t\tconst writable = true;\n\n\t\t\t\tObject.defineProperties(this, {\n\t\t\t\t\t[symbols.element]: { value: element, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.form]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.fieldset]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.anchor]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.validity]: { value: validationObject, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.validationMessage]: { value: '', configurable, enumerable, writable },\n\t\t\t\t\t[symbols.value]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.state]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.formController]: { value: null, configurable, enumerable, writable },\n\t\t\t\t});\n\n\t\t\t\tif (isFormAssociated(element)) {\n\t\t\t\t\tobserver.observe(element, observerOpts);\n\t\t\t\t}\n\n\t\t\t\tObject.defineProperty(element, symbols.internals, {\n\t\t\t\t\tvalue: this,\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\twritable: false,\n\t\t\t\t});\n\n\t\t\t\tsetTimeout(() => this.states.add('--element-internals-polyfilled'), 10);\n\t\t\t}\n\t\t}\n\n\t\tget form() {\n\t\t\treturn this[symbols.form];\n\t\t}\n\n\t\tget labels() {\n\t\t\tconst form = this.form;\n\n\t\t\tif (form instanceof HTMLFormElement && this[symbols.element].id.length !== 0) {\n\t\t\t\treturn form.querySelectorAll(`label[for=\"${this[symbols.element].id}\"]`);\n\t\t\t} else {\n\t\t\t\treturn document.createDocumentFragment().childNodes;\n\t\t\t}\n\t\t}\n\n\t\tget _polyfilled() {\n\t\t\treturn true;\n\t\t}\n\n\t\tget shadowRoot() {\n\t\t\tconst el = this[symbols.element];\n\t\t\treturn el.shadowRoot;\n\t\t}\n\n\t\tget validity() {\n\t\t\tif (isFormAssociated(this[symbols.element])) {\n\t\t\t\treturn this[symbols.validity];\n\t\t\t} else {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\n\t\tget validationMessage() {\n\t\t\tif (isFormAssociated(this[symbols.element])) {\n\t\t\t\treturn this[symbols.validationMessage] || '';\n\t\t\t} else {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\n\t\tget willValidate() {\n\t\t\tconst element = this[symbols.element];\n\n\t\t\treturn isFormAssociated(element)\n\t\t\t\t&& ! hasDisabledFieldset(element)\n\t\t\t\t&& ! ['disabled', 'readonly'].some(attr => element.hasAttribute(attr));\n\t\t}\n\n\t\tcheckValidity() {\n\t\t\tif (! this.willValidate) {\n\t\t\t\treturn true;\n\t\t\t} else if (! this.validity.valid) {\n\t\t\t\tthis[symbols.element].dispatchEvent(new Event('invalid'));\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tconst next = this[symbols.element].nextElementSibling;\n\n\t\t\t\tif (next instanceof HTMLElement && next.classList.contains('_element-internals-popup')) {\n\t\t\t\t\tnext.remove();\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treportValidity() {\n\t\t\tif (! this.checkValidity()) {\n\t\t\t\tconst message = this.validationMessage;\n\n\t\t\t\tif (typeof message === 'string' && message.length !== 0) {\n\t\t\t\t\t// this[symbols.element].scrollIntoView({ block: 'start' });\n\t\t\t\t\tconst { bottom, left } = this[symbols.element].getBoundingClientRect();\n\t\t\t\t\tconst el = document.createElement('div');\n\t\t\t\t\tel.textContent = message;\n\n\t\t\t\t\tcss(el, {\n\t\t\t\t\t\t'position': 'fixed',\n\t\t\t\t\t\t'background-color': '#2b2a33',\n\t\t\t\t\t\t'color': '#fafafa',\n\t\t\t\t\t\t'top': `${bottom + 2}px`,\n\t\t\t\t\t\t'left': `${left}px`,\n\t\t\t\t\t\t'z-index': 2147483647,\n\t\t\t\t\t\t'color-scheme': 'light-dark',\n\t\t\t\t\t\t'font-family': 'system-ui, serif',\n\t\t\t\t\t\t'font-size': '18px',\n\t\t\t\t\t\t'display': 'inline-block',\n\t\t\t\t\t\t'padding': '0.6em 0.8em',\n\t\t\t\t\t\t'border': '1px solid #1a1a1a',\n\t\t\t\t\t\t'border-radius': '6px',\n\t\t\t\t\t});\n\n\t\t\t\t\tel.classList.add('_element-internals-popup');\n\n\t\t\t\t\tthis[symbols.element].focus();\n\n\t\t\t\t\tconst next = this[symbols.element].nextElementSibling;\n\n\t\t\t\t\tif (next instanceof Element && next.classList.contains('_element-internals-popup')) {\n\t\t\t\t\t\tnext.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis[symbols.element].insertAdjacentElement('afterend', el);\n\n\t\t\t\t\tif (this[symbols.anchor] instanceof Element) {\n\t\t\t\t\t\tthis[symbols.anchor].focus();\n\t\t\t\t\t}\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (el.isConnected) {\n\t\t\t\t\t\t\tel.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 3000);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tsetFormValue(value, state) {\n\t\t\tif (isFormAssociated(this[symbols.element])) {\n\t\t\t\tthis[symbols.value] = value;\n\t\t\t\tthis[symbols.state] = state;\n\t\t\t} else {\n\t\t\t\tthrow new DOMException('Not form associated');\n\t\t\t}\n\t\t}\n\n\t\tsetValidity({\n\t\t\tvalueMissing = false,\n\t\t\ttypeMismatch = false,\n\t\t\tpatternMismatch = false,\n\t\t\ttooLong = false,\n\t\t\ttooShort = false,\n\t\t\trangeUnderflow = false,\n\t\t\trangeOverflow = false,\n\t\t\tstepMismatch = false,\n\t\t\tbadInput = false,\n\t\t\tcustomError = false,\n\t\t}, message = '', anchor) {\n\t\t\tif (! isFormAssociated(this[symbols.element])) {\n\t\t\t\tthrow new DOMException('Not form associated');\n\t\t\t} else if (\n\t\t\t\t(typeof message !== 'string' || message.length === 0)\n\t\t\t\t&& (\n\t\t\t\t\tvalueMissing || typeMismatch || patternMismatch || tooLong || tooShort\n\t\t\t\t\t|| rangeUnderflow || rangeOverflow || stepMismatch || badInput || customError\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthrow new DOMException('Message required if any flags are true.');\n\t\t\t} else {\n\t\t\t\tconst valid = [\n\t\t\t\t\tvalueMissing, typeMismatch, patternMismatch, tooLong, tooShort,\n\t\t\t\t\trangeUnderflow, rangeOverflow, stepMismatch, badInput, customError,\n\t\t\t\t].every(val => val === false);\n\n\t\t\t\tthis[symbols.validity] = {\n\t\t\t\t\tvalueMissing, typeMismatch, patternMismatch, tooLong, tooShort,\n\t\t\t\t\trangeUnderflow, rangeOverflow, stepMismatch, badInput, customError,\n\t\t\t\t\tvalid,\n\t\t\t\t};\n\n\t\t\t\tthis[symbols.validationMessage] = message;\n\t\t\t\tthis[symbols.anchor] = anchor;\n\n\t\t\t\tif (! valid) {\n\t\t\t\t\tthis.states.add('--invalid');\n\t\t\t\t\tthis.states.delete('--valid');\n\t\t\t\t\tthis[symbols.element].dispatchEvent(new Event('invalid'));\n\t\t\t\t} else {\n\t\t\t\t\tthis.states.delete('--invalid');\n\t\t\t\t\tthis.states.add('--valid');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t_associateForm(form, component) {\n\t\t\tassociateForm(form, this, component);\n\t\t}\n\n\t\t_findAssociatedForm(component) {\n\t\t\treturn findAssociatedForm(component);\n\t\t}\n\t}\n\n\tHTMLElement.prototype.attachInternals = function attachInternals() {\n\t\tif (this.hasOwnProperty(symbols.internals)) {\n\t\t\tthrow new DOMException('Invalid operation');\n\t\t} else if (! this.tagName.includes('-')) {\n\t\t\tthrow new DOMException('Cannot call attachInternals on built-in elements.');\n\t\t} else {\n\t\t\treturn new ElementInternals(this, symbols.key);\n\t\t}\n\t};\n\n\tglobalThis.ElementInternals = ElementInternals;\n}\n\n/**\n * Add `states` to `ElementInternals`\n * Uses `._state--foo` instead of `:--foo` though\n * Requires Iterator Helpers (`./iterator.js`)\n */\nif ('ElementInternals' in globalThis && ! ('CustomStateSet' in globalThis)) {\n\tconst prefix = '_state';\n\tconst protectedData = new WeakMap();\n\tconst getCName = state => {\n\t\tif (! state.toString().startsWith('--')) {\n\t\t\tthrow new DOMException(`Failed to execute 'add' on 'CustomStateSet': The specified value '${state}' must start with '--'.`);\n\t\t} else {\n\t\t\treturn `${prefix}${state}`;\n\t\t}\n\t};\n\n\tconst {\n\t\tvalue, writable, configurable, enumerable,\n\t} = Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'attachInternals');\n\n\tclass CustomStateSet {\n\t\tconstructor(el, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new TypeError('Illegal Constructor');\n\t\t\t} else if (! (el instanceof HTMLElement)) {\n\t\t\t\tthrow new TypeError('el must be an HTMLElement');\n\t\t\t} else {\n\t\t\t\tprotectedData.set(this, el);\n\t\t\t\tthis.add('--custom-states-polyfilled');\n\t\t\t}\n\t\t}\n\n\t\tget _polyfilled() {\n\t\t\treturn true;\n\t\t}\n\n\t\tget size() {\n\t\t\treturn [...this.values()].length;\n\t\t}\n\n\t\tadd(state) {\n\t\t\tprotectedData.get(this).classList.add(getCName(state));\n\t\t}\n\n\t\thas(state) {\n\t\t\treturn protectedData.get(this).classList.contains(getCName(state));\n\t\t}\n\n\t\tdelete(state) {\n\t\t\tconst c = getCName(state);\n\n\t\t\tif (protectedData.get(this).classList.contains(c)) {\n\t\t\t\tprotectedData.get(this).classList.remove(c);\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tclear() {\n\t\t\tthis.values().forEach(state => this.delete(state));\n\t\t}\n\n\t\tkeys() {\n\t\t\treturn this.values();\n\t\t}\n\n\t\tvalues() {\n\t\t\tconst states = protectedData.get(this).classList.values()\n\t\t\t\t.filter(c => c.startsWith(`${prefix}--`));\n\n\t\t\treturn states.map(c => c.substr(prefix.length));\n\t\t}\n\n\t\tentries() {\n\t\t\treturn this.values().map(c => [c, c]);\n\t\t}\n\n\t\tforEach(callbackFn, thisArg) {\n\t\t\tthis.values().forEach(state => callbackFn.call(thisArg || this, state, state, this));\n\t\t}\n\n\t\t[Symbol.toStringTag]() {\n\t\t\treturn 'CustomStateSet';\n\t\t}\n\n\t\t[Symbol.iterator]() {\n\t\t\treturn this.values();\n\t\t}\n\t}\n\n\tObject.defineProperty(HTMLElement.prototype, 'attachInternals', {\n\t\tvalue: function() {\n\t\t\tconst internals = value.call(this);\n\n\t\t\tObject.defineProperty(internals, symbols.element, {\n\t\t\t\tvalue: this,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: false,\n\t\t\t\tconfigurable: false,\n\t\t\t});\n\n\t\t\tObject.defineProperty(internals, 'states', {\n\t\t\t\tvalue: new CustomStateSet(this, symbols.key),\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumberable: true,\n\t\t\t});\n\n\t\t\tif (Object.is(internals.shadowRoot, null) && ! Object.is(this.shadowRoot, null)) {\n\t\t\t\tObject.defineProperty(internals, 'shadowRoot', {\n\t\t\t\t\tvalue: this.shadowRoot,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn internals;\n\t\t},\n\t\twritable, configurable, enumerable,\n\t});\n\n\tglobalThis.CustomStateSet = CustomStateSet;\n\tshimAria(ElementInternals.prototype);\n}\n","if (! (globalThis.Record instanceof Function)) {\n\t \n\tfunction Record(obj) {\n\t\tif (new.target === Record) {\n\t\t\tthrow new TypeError('Record is not a constructor');\n\t\t}\n\n\t\tconst record = Object.create(Record.prototype);\n\t\tObject.defineProperties(record, Object.fromEntries(Object.entries(obj).map(([key, value]) => [\n\t\t\tkey, {\n\t\t\t\t'enumerable': true,\n\t\t\t\t'configurable': false,\n\t\t\t\t'writable': false,\n\t\t\t\t'value': value,\n\t\t\t}\n\t\t])));\n\n\t\tObject.freeze(record);\n\t\treturn record;\n\t}\n\n\tRecord.prototype.constructor = Record;\n\tObject.defineProperty(Record.prototype, Symbol.toStringTag, {\n\t\tvalue: 'Record',\n\t\tenumerable: true,\n\t\tconfigurable: false,\n\t\twritable: false,\n\t});\n\n\tRecord.fromEntries = function fromEntries(entries) {\n\t\treturn Record(Object.fromEntries(entries));\n\t};\n\n\tglobalThis.Record = Record;\n}\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(Blob.prototype, 'bytes', async function () {\n\treturn new Uint8Array(await this.arrayBuffer());\n});\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(Request.prototype, 'bytes', async function () {\n\treturn new Uint8Array(await this.arrayBuffer());\n});\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(Response, 'json', (data, { status = 200, statusText = '', headers = new Headers() } = {}) => {\n\tif (! (headers instanceof Headers)) {\n\t\treturn Response.json(data, { status, statusText, headers: new Headers(headers) });\n\t} else {\n\t\theaders.set('Content-Type', 'application/json');\n\t\treturn new Response(JSON.stringify(data), { status, statusText, headers });\n\t}\n});\n\npolyfillMethod(Response, 'redirect', (url, status = 302) => {\n\treturn new Response(null, {\n\t\tstatus,\n\t\theaders: new Headers({ Location: url }),\n\t});\n});\n\npolyfillMethod(Response.prototype, 'bytes', async function() {\n\treturn new Uint8Array(await this.arrayBuffer());\n});\n","if (! (globalThis.Tuple instanceof Function)) {\n\t \n\n\t/**\n\t * Creates an unfrozen Tuple, such as for `Tuple.of()`\n\t */\n\tconst createTuple = items => {\n\t\tconst tuple = Array.apply(Object.create(Tuple.prototype), items);\n\t\tObject.setPrototypeOf(tuple, Tuple.prototype);\n\t\treturn tuple;\n\t};\n\n\tfunction Tuple(...items) {\n\t\tif (new.target === Tuple) {\n\t\t\tthrow new TypeError('Tuple is not a constructor');\n\t\t}\n\n\t\tconst tuple = createTuple(items);\n\t\tObject.freeze(tuple);\n\t\treturn tuple;\n\t}\n\n\tTuple.prototype.forEach = function forEach(callbackFn, thisArg) {\n\t\tArray.prototype.forEach.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.join = function join(separator = ',') {\n\t\treturn Array.prototype.join.call(this, separator);\n\t};\n\n\tTuple.prototype.concat = function concat(...values) {\n\t\treturn Tuple(...this, ...values);\n\t};\n\n\tTuple.prototype.slice = function slice(start, end) {\n\t\treturn Tuple.from(Array.prototype.slice.call(this, start, end));\n\t};\n\n\tTuple.prototype.indexOf = function indexOf(searchElement, fromIndex) {\n\t\treturn Array.prototype.indexOf.call(this, searchElement, fromIndex);\n\t};\n\n\tTuple.prototype.lastIndexOf = function lastIndexOf(searchElement, fromIndex) {\n\t\treturn Array.prototype.lastIndexOf.call(this, searchElement, fromIndex);\n\t};\n\n\tTuple.prototype.findIndex = function findIndex(callbackFn, thisArg) {\n\t\treturn Array.prototype.findIndex.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.find = function find(callbackFn, thisArg) {\n\t\treturn Array.prototype.find.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.findLast = function findLast(callbackFn, thisArg) {\n\t\treturn Array.prototype.findLast.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.findLastIndex = function findLastIndex(callbackFn, thisArg) {\n\t\treturn Array.prototype.findLastIndex.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.every = function every(callbackFn, thisArg) {\n\t\treturn Array.prototype.every.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.some = function some(callbackFn, thisArg) {\n\t\treturn Array.prototype.some.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.includes = function includes(searchElement, fromIndex) {\n\t\treturn Array.prototype.includes.call(this, searchElement, fromIndex);\n\t};\n\n\tTuple.prototype.map = function map(callbackFn, thisArg) {\n\t\treturn Tuple.from(Array.prototype.map.call(this, callbackFn, thisArg));\n\t};\n\n\tTuple.prototype.filter = function filter(callbackFn, thisArg) {\n\t\treturn Tuple.from(Array.prototype.filter.call(this, callbackFn, thisArg));\n\t};\n\n\tTuple.prototype.flat = function flat(depth) {\n\t\treturn Tuple.from(Array.prototype.flat.call(this, depth));\n\t};\n\n\tTuple.prototype.flatMap = function flatMap(callbackFn, thisArg) {\n\t\treturn Tuple.from(Array.prototype.flatMap.call(this, callbackFn, thisArg));\n\t};\n\n\tTuple.prototype.at = function at(index) {\n\t\treturn Array.prototype.at.call(this, index);\n\t};\n\n\tTuple.prototype.reduce = function reduce(callbackFn, initialValue) {\n\t\treturn Tuple.from(Array.prototype.reduce.call(this, callbackFn, initialValue));\n\t};\n\n\tTuple.prototype.reduceRight = function reduceRight(callbackFn, initialValue) {\n\t\treturn Tuple.from(Array.prototype.reduceRight.call(this, callbackFn, initialValue));\n\t};\n\n\tTuple.prototype.toSorted = function toSorted(toStringTag) {\n\t\treturn Tuple.from(Array.prototype.toSorted.call(this, toStringTag));\n\t};\n\n\tTuple.prototype.toSpliced = function toSpliced(start, deleteCount, ...items) {\n\t\treturn Tuple.from(Array.prototype.toSpliced.call(this, start, deleteCount, ...items));\n\t};\n\n\tTuple.prototype.toReversed = function toReversed() {\n\t\treturn Tuple.from(Array.prototype.toReversed.apply(this));\n\t};\n\n\tTuple.prototype.with = function(index, value) {\n\t\treturn Tuple.from(Array.prototype.with.call(this, index, value));\n\t};\n\n\tTuple.prototype.toLocaleString = function toLocaleString(locales, options) {\n\t\treturn Array.prototype.toLocaleString.call(this, locales, options);\n\t};\n\n\tTuple.prototype.toJSON = function toJSON() {\n\t\treturn [...this];\n\t};\n\n\tTuple.prototype.keys = function keys() {\n\t\treturn Array.prototype.keys.apply(this);\n\t};\n\n\tTuple.prototype.values = function values(){\n\t\treturn Array.prototype.values.apply(this);\n\t};\n\n\tTuple.prototype.entries = function entries(){\n\t\treturn Array.prototype.entries.apply(this);\n\t};\n\n\tTuple.prototype[Symbol.iterator] = function() {\n\t\treturn Array.prototype[Symbol.iterator].apply(this);\n\t};\n\n\tTuple.from = function from(items, mapFn, thisArg) {\n\t\tconst tuple = createTuple([]);\n\t\tArray.prototype.push.apply(tuple, Array.from(items, mapFn, thisArg));\n\t\tObject.freeze(tuple);\n\t\treturn tuple;\n\t};\n\n\tTuple.of = function(...items) {\n\t\treturn Tuple.from(items);\n\t};\n\n\tObject.defineProperties(Tuple.prototype, {\n\t\t'length': {\n\t\t\tget: function() {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(Array.prototype, 'length').get.apply(this);\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t},\n\t\t'lastItem': {\n\t\t\tget: function() {\n\t\t\t\treturn this[this.lastIndex];\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t},\n\t\t'lastIndex': {\n\t\t\tget: function() {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(Array.prototype, 'lastIndex').get.apply(this);\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t},\n\t\t[Symbol.toStringTag]: {\n\t\t\tvalue: 'Tuple',\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\twritable: false,\n\t\t},\n\t});\n\n\tglobalThis.Tuple = Tuple;\n}\n"," \n/* global Record Tuple */\nif (! (JSON.parseImmutable instanceof Function)) {\n\t \n\tfunction getImmutable(thing) {\n\t\tswitch (typeof thing) {\n\t\t\tcase 'object':\n\t\t\t\tif (thing === null) {\n\t\t\t\t\treturn null;\n\t\t\t\t} else if (Array.isArray(thing)) {\n\t\t\t\t\treturn Tuple.from(thing.map(item => getImmutable(item)));\n\t\t\t\t}\n\t\t\t\treturn Record.fromEntries(\n\t\t\t\t\tObject.entries(thing).map(([key, val]) => [key, getImmutable(val)])\n\t\t\t\t);\n\n\t\t\tdefault:\n\t\t\t\treturn thing;\n\t\t}\n\t}\n\n\tJSON.parseImmutable = function parseImmutable(str) {\n\t\treturn JSON.parse(str, (_, value) => getImmutable(value));\n\t};\n}\n","\nif (! (RegExp.escape instanceof Function)) {\n\tconst pattern = /[-[\\]/{}()<>=#&!@%*+?.\\\\^$|;:\"'`\\s]/g;\n\n\tRegExp.escape = function(input) {\n\t\treturn input.toString().replace(pattern, '\\\\$&');\n\t};\n}\n","if (! (globalThis.CloseWatcher instanceof Function)) {\n\tglobalThis.CloseWatcher = class CloseWatcher extends EventTarget {\n\t\t#controller = new AbortController();\n\t\t#cancelable = true;\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tdocument.addEventListener('keydown', event => {\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.requestClose();\n\t\t\t\t}\n\t\t\t}, { signal: this.#controller.signal });\n\t\t}\n\n\t\trequestClose() {\n\t\t\tif (! this.#controller.signal.aborted) {\n\t\t\t\tconst event = new Event('cancel', { cancelable: this.#cancelable });\n\t\t\t\tthis.dispatchEvent(event);\n\t\t\t\tthis.#cancelable = false;\n\n\t\t\t\tif (! event.defaultPrevented) {\n\t\t\t\t\tthis.close();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclose() {\n\t\t\tif (! this.#controller.signal.aborted) {\n\t\t\t\tthis.dispatchEvent(new Event('close'));\n\t\t\t\tthis.destroy();\n\t\t\t}\n\t\t}\n\n\t\tdestroy() {\n\t\t\tif (! this.#controller.signal.aborted) {\n\t\t\t\tthis.#controller.abort();\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["getDefaultExportFromCjs","x","__esModule","Object","prototype","hasOwnProperty","call","globalThis","window","defineProperty","Window","enumerable","writable","configurable","value","global","self","this","hasRequiredDedent_umd","dedent$1","hasRequiredDedent","dedent_umd$1","exports","requireDedent_umd","cache","WeakMap","newline","leadingWhitespace","nonWhitespace","slice","Array","zero","charCodeAt","nine","lowerA","lowerF","upperA","upperF","dedent","arg","process","args","arguments","processTemplateStringsArray","apply","strings","s","getCooked","i","length","index","str","undefined","TypeError","cached","get","raw","cooked","map","cook","freeze","set","splitQuasis","quasi","split","common","lines","firstSplit","lastSplit","Error","test","j","text","lineContainsTemplateExpression","leading","exec","commonStart","min","a","b","len","Math","out","start","indexOf","next","isDigit","n","parseHex","String","fromCharCode","end","fromCodePoint","c","hexToInt","factory","Function","crypto","msCrypto","Notification","notifications","webkitNotifications","oNotifications","msNotifications","navigator","doNotTrack","msDoNotTrack","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","document","hidden","webkitHidden","msHidden","mozHidden","visibilityState","webkitVisibilityState","msVisibilityState","mozVisibilityState","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","Document","exitFullscreen","mozCancelFullScreen","webkitCancelFullScreen","msCancelFullScreen","HTMLElement","requestFullscreen","requestFullScreen","mozRequestFullScreen","webkitRequestFullScreen","Element","groupBy","items","callbackFn","from","reduce","groups","element","key","push","Map","getOrInsert","defaultValue","has","getOrInsertComputed","callbackFunction","val","emplace","insert","update","existing","console","warn","SHIM_TARGETS","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","flat","depth","result","Number","MAX_SAFE_INTEGER","max","flattenFn","item","isArray","forEach","isNaN","flatMap","cb","thisArg","findLast","callback","found","arr","lastIndex","findLastIndex","at","trunc","C","polyfillMethod","parent","name","polyfillGetterSetter","overwriteMethod","func","getOwnPropertyDescriptor","newMethod","group","groupToMap","groupByToMap","fromAsync","async","mapFn","equals","every","is","uniqueBy","Set","entry","filter","add","toReversed","reverse","toSorted","cmpFn","sort","toSpliced","deleteCount","cpy","splice","with","isTemplateObject","target","isFrozen","toHex","byte","toString","padStart","join","toBase64","alphabet","chunkSize","chunk","subarray","btoa","replaceAll","fromHex","SyntaxError","Iterator","range","step","parseInt","substring","fromBase64","lastChunkHandling","includes","lastChunkLength","atob","char","padEnd","known","Reflect","ownKeys","Symbol","toStringTag","iterator","symbol","keyFor","urlpattern","hasRequiredUrlpattern","urlpatternPolyfill","hasRequiredUrlpatternPolyfill","urlPattern$1","hasRequiredUrlPattern","requireUrlpattern","e","U","Re","Ee","getOwnPropertyNames","Oe","t","He","r","ke","URLPattern","M","o","Te","P","type","prefix","suffix","modifier","constructor","l","f","hasCustomName","ye","we","F","Ce","W","substr","_","delimiter","prefixes","u","h","p","d","g","y","A","be","N","encodePart","H","v","D","Z","B","S","m","E","k","replace","q","ignoreCase","J","z","T","sensitive","strict","endsWith","RegExp","Q","ee","te","re","startsWith","Le","ne","$","se","URL","hash","ie","search","ae","V","G","oe","password","ce","username","le","pathname","fe","K","Y","he","w","toLowerCase","ue","de","hostname","pe","ge","me","Se","parse","O","port","protocol","R","assign","X","xe","I","L","baseURL","lastIndexOf","Ie","Ne","some","message","inputs","entries","input","static","hasRegExpGroups","once","funcs","retVal","catch","err","delete","urlPattern","requireUrlpatternPolyfill","url","base","supported","IteratorPrototype","getPrototypeOf","proto","setPrototypeOf","array","option","inclusive","RangeError","ret","done","take","limit","iter","drop","toArray","mapper","cur","getSubIter","sub","initialValue","current","find","indexed","chunks","size","isSafeInteger","obj","create","ReadableStream","anyIterable","controller","enqueue","error","close","asyncIterator","MIN_SAFE_INTEGER","num","EPSILON","sign","expm1","exp","hypot","nums","sqrt","sum","cbrt","log10","log","LOG10E","log2","LOG2E","log1p","fround","clamp","constrain","sumPrecise","isFinite","hostnames","HTTPS","protocols","hasSecureScripts","scripts","src","baseURI","location","isAsync","what","isAsyncFunction","Promise","protectedData","Lock","mode","DOMException","locks","symbols","nativeSupport","request","actuallySupported","resolve","query","then","checkSupport","callFunction","reject","queueMicrotask","whenReleased","lock","promise","queueTask","withResolvers","def","getDeferred","AbortController","pending","getLocks","shouldPend","isPending","keys","getHeldLocks","getPendingLocks","whenNotBlocked","allSettled","getLockSignal","signal","executeLock","setPending","finally","requestIdleCallback","abort","LockManager","opts","ifAvailable","steal","AbortSignal","aborted","reason","held","alreadyLocked","stealLocks","addEventListener","clientId","errorToEvent","fileName","filename","lineNumber","lineno","columnNumber","colno","ErrorEvent","polyfilled","dispatchEvent","canShare","title","files","share","setAppBadge","isInteger","clearAppBadge","Navigator","getInstalledRelatedApps","getGamepads","connection","EventTarget","effectiveType","rtt","NaN","downlink","downlinkMax","Infinity","saveData","onchange","ontypechange","isValidTimeout","timeout","performance","now","timeRemaining","setTimeout","didTimeout","cancelIdleCallback","id","clearTimeout","cancelAnimationFrame","onabort","AbortError","super","defineProperties","event","throwIfAborted","Event","reasons","staticAbort","ms","any","signals","AggregateError","errors","reportError","isError","toStr","bind","MediaQueryListEvent","media","matches","MediaQueryList","targets","listener","init","mql","addListener","removeEventListener","promises","all","status","race","try","fromEntries","values","ownProperties","TextEncoder","encoding","encode","code","floor","encodeInto","ui8arr","encoded","read","written","supportedEncodings","TextDecoder","fatal","ignoreBOM","decode","data","prev","offset","randomUUID","getRandomValues","getAllCookies","cookie","decodeURIComponent","trim","path","expires","domain","sameSite","secure","partitioned","getter","setter","maxAge","Date","encodeURIComponent","toUTCString","CookieStore","cookies","getAll","defaultParams","changed","deleted","cookieStore","Animation","playState","EVENT_ATTRS","getAllowedPolicies","meta","head","querySelector","HTMLMetaElement","directives","content","dir","csp","directive","rest","part","enforced","allowedPolicies","allowDuplicates","clear","documentElement","dataset","trustedPolicies","hasNone","TrustedTypePolicyFactory","policies","defaultPolicy","createPolicy","createHTML","createScript","createScriptURL","policy","TrustedTypePolicy","getAttributeType","tagName","attribute","elementNs","elementNS","getPropertyType","property","isHTML","thing","TrustedHTML","isScript","TrustedScript","isScriptURL","TrustedScriptURL","emptyHTML","emptyScript","for","TrustedType","toJSON","trustedTypes","hasDefaultPolicy","tag","attr","write","writeln","execCommand","getOwnPropertyDescriptors","html","aCommandName","aShowDefaultUI","aValueArgument","register","ServiceWorkerContainer","scriptURL","options","createContextualFragment","Range","tagString","parseFromString","DOMParser","HTMLScriptElement","setAttribute","setAttributeNS","innerHTML","outerHTML","insertAdjacentHTML","position","srcdoc","HTMLIFrameElement","codeBase","HTMLObjectElement","eval","nativeEval","nativeSTO","setInterval","nativeIntverval","script","delay","NativeFunction","funcBody","pop","adoptedStyleSheets","styleSheets","sheet","ownerNode","classList","contains","sheets","difference","remove","links","link","createElement","createObjectURL","File","rel","href","disabled","mediaText","cssRules","rule","insertRule","cssText","revokeObjectURL","append","HOSTS_SYMBOL","attachShadow","template","HTMLTemplateElement","parentElement","getAttribute","clonable","hasAttribute","delegatesFocus","serializable","serializeChildNodes","node","serializableShadowRoots","shadowRoots","hosts","childNodes","child","nodeType","Node","ELEMENT_NODE","open","el","cloneNode","closeStart","getTagHTML","getHTML","textContent","serializeShadowRoot","shadow","openTag","attrs","setHTMLUnsafe","parsed","frag","createDocumentFragment","body","querySelectorAll","replaceChildren","host","shadowRoot","ShadowRoot","isSameNode","DOCUMENT_FRAGMENT_NODE","clearCSSRules","deleteRule","parser","doc","implementation","createHTMLDocument","CSSStyleSheet","NativeStyleSheet","rules","parseHTML","sanitizer","allowElements","appendMedium","createSheet","crossOrigin","referrerPolicy","replaceSync","aria","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColIndexText","ariaColSpan","ariaCurrent","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowIndexText","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","HTML","XLINK","normalizeElement","opt","defaultNS","HTMLNS","namespace","attributes","normalizeElementsConfig","elements","normalizeAttr","normalizeAttrsConfig","allowAttributes","normalizeCommentsConfig","comments","allowComments","convertAttrConfig","convertElementConfig","convertConfig","config","attributeNS","dataAttributes","concat","globalAttrs","namespaec","HTMLElements","SVGElements","HTMLAttributes","SVGAttributes","MathMLElements","MathMLAttributes","LINK_ATTRS","ILLEGAL_PROTOCOLS","setHTML","sanitizerConfig","allowInsecure","tmp","sanitize","sanitizeNode","isScriptAttr","ownerElement","localName","namespaceURI","isAllowedAttr","ns","canParse","isIllegalURLAttr","isAllowedElement","hasAttributes","sanitizeAttr","sanitizeFragOrDoc","hasChildNodes","sanitizeElement","DOCUMENT_NODE","COMMENT_NODE","sanitizeComment","ATTRIBUTE_NODE","TEXT_NODE","DOCUMENT_TYPE_NODE","removeChild","removeAttributeNode","getConfiguration","DocumentFragment","HTMLButtonElement","COMMAND_FOR","CLICK_OPTIONS","passive","removeAttribute","getElementById","CommandEvent","source","command","bubbles","cancelable","composed","dispatchCommand","currentTarget","commandForElement","defaultPrevented","HTMLDialogElement","showModal","requestClose","showPopover","hidePopover","togglePopover","observer","MutationObserver","mutations","mutation","addedNodes","btn","oldValue","attributeName","childList","subtree","attributeFilter","attributeOldValue","observe","CustomElementRegistry","getName","registry","original","customElements","extends","handlePopover","popoverTargetAction","popoverTargetElement","ToggleEvent","newState","oldState","isPopoverOpen","capture","initPopover","supports","props","prop","previous","restoreTabIndex","tabIndex","children","setTabIndex","HTMLImageElement","naturalHeight","complete","load","attachedShadows","toggleAttribute","attachShadows","shadowRootMode","shadowRootClonable","shadowRootDelegatesFocus","shadowRootSerializable","attach","slotAssignment","readyState","HTMLFormElement","requestSubmit","submitter","HTMLInputElement","form","click","returnValue","TYPE_ERR_MSG","SET_METHODS","SET_PROPS","isSet","isSetLike","method","intersection","union","isSubsetOf","isSupersetOf","symmetricDifference","isDisjointFrom","getScreenDetails","ScreenDetailed","availHeight","screen","availLeft","availTop","availWidth","colorDepth","devicePixelRatio","height","isExtended","isInternal","isPrimary","label","orientation","pixelDepth","top","width","ScreenDetails","currentScreen","screens","Screen","PRIORITIES","delayCallback","handle","Scheduler","priority","hasDelay","taskCallback","getTaskCallback","TaskSignal","postTask","scheduler","yield","PRIORITY_SYMBOL","TaskPriorityChangeEvent","previousPriority","TaskController","setPriority","internals","fieldset","validity","validationMessage","state","formController","anchor","customInputs","attachInternals","validationObject","valueMissing","typeMismatch","patternMismatch","tooLong","tooShort","rangeUnderflow","rangeOverflow","stepMismatch","badInput","customError","valid","hasDisabledFieldset","component","HTMLFieldSetElement","isFormAssociated","formAssociated","getFormDataHandler","reportValidity","willValidate","formData","FormData","preventDefault","stopImmediatePropagation","stopPropagation","css","style","setProperty","findAssociatedForm","forms","closest","associateForm","ElementInternals","formAssociatedCallback","observerOpts","checkValidity","formResetCallback","states","formDisabledCallback","isConnected","labels","_polyfilled","nextElementSibling","bottom","left","getBoundingClientRect","color","display","padding","border","focus","insertAdjacentElement","setFormValue","setValidity","_associateForm","_findAssociatedForm","getCName","CustomStateSet","enumberable","shimAria","Blob","arrayBuffer","Request","Response","statusText","headers","Headers","JSON","stringify","json","Location","Record","record","Tuple","createTuple","tuple","separator","searchElement","fromIndex","findIndex","reduceRight","toLocaleString","locales","of","lastItem","parseImmutable","getImmutable","escape","pattern","CloseWatcher","destroy"],"mappings":"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CA,WACA,0BACA,wBACA,yBACA,WAEA,gBACA,UACA,MAKA,MACA,OAEA,cACA,aACA,iBACA,aAEA,cACA,UACA,SAEA,OACA,OACA,WACA,gBACA,SAGA,aACA,cACA,aACA,iBACA,mBACA,cAGA,YACA,YACA,eACA,eACA,KACA,QACA,UACA,OACA,QAEA,WACA,cACA,aACA,OACA,OACA,UACA,WACA,OACA,MACA,SACA,WACA,eACA,cACA,MACA,YACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,SACA,WAEA,WACA,UACA,aACA,SACA,SACA,OACA,UAEA,UACA,OACA,cACA,cACA,SAEA,gBACA,sBACA,SACA,UACA,SACA,WACA,iBACA,MACA,kBACA,WACA,YACA,MACA,WACA,OACA,OACA,UACA,QACA,UACA,SACA,QACA,SACA,eACA,cACA,YACA,SACA,WACA,qBACA,2BACA,iBACA,yBACA,QACA,OACA,QAEA,OAEA,MACA,SACA,UACA,SACA,UACA,QACA,OAEA,UAEA,SACA,OAEA,YAEA,YACA,aACA,OACA,SACA,SACA,QACA,YACA,UAEA,QACA,SACA,kBACA,QACA,QACCF,KAAI6nB,GAAQ+K,GAAc/K,KAAO2L,OAAOC,KAE7BxE,GAAYxyB,OAAOyD,OAAO,CAAE8yB,UApPjB,EAoPyBL,SAAEA,GAAUF,WAAAA,GAAYc,gBAlP3C,ICGjBZ,GAAWl2B,OAAOyD,OAAO,CACrC,IAAK,UAAW,gBAAiB,mBAAoB,SAAU,WAC/D,OAAQ,OAAQ,UAAW,UAAW,gBAAiB,sBACvD,cAAe,mBAAoB,oBAAqB,oBACxD,iBAAkB,eAAgB,UAAW,UAAW,UAAW,UACnE,UAAW,iBAAkB,UAAW,UAAW,cAAe,eAClE,WAAY,eAAgB,qBAAsB,cAAe,SACjE,eAAgB,SAAU,gBAAiB,IAAK,OAAQ,iBACxD,SAAU,OAAQ,WAAY,QAAS,OAAQ,UAAW,UAAW,WACrE,iBAAkB,OAAQ,SAAU,MAAO,OAAQ,QAAS,MAAO,SACnE,SAAU,OAAQ,WAAY,QAAS,QAAS,OAAQ,gBAAiB,OACzE,YAAa,mBAAoB,iBA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","x_google_ignoreList":[35,37,44,45,46,47,48,49,50,51,52,53,55]}
|
|
1
|
+
{"version":3,"file":"browser.min.js","sources":["assets/dedent.js","globalThis.js","string.js","deprefixer.js","object.js","map.js","array.js","utils.js","symbols.js","assets/url-pattern.js","function.js","url.js","number.js","iterator.js","math.js","streams.js","secure-context.js","assets/utility.js","assets/Lock.js","assets/LockManager.js","assets/error.js","locks.js","abort.js","share.js","appBadge.js","navigator.js","performance.js","errors.js","match-media.js","promise.js","assets/TextEncoder.js","assets/TextDecoder.js","textEncoder.js","crypto.js","assets/CookieStore.js","node_modules/@aegisjsproject/trusted-types/trusted-types.js","animation.js","node_modules/@aegisjsproject/trusted-types/harden.js","assets/adoptedStylesheets.js","methods/dom.js","CSSStyleSheet.js","Document.js","ShadowRoot.js","aom.js","node_modules/@aegisjsproject/sanitizer/namespaces.js","node_modules/@aegisjsproject/sanitizer/config-utils.js","node_modules/@aegisjsproject/sanitizer/config/global.js","node_modules/@aegisjsproject/sanitizer/config/html.js","node_modules/@aegisjsproject/sanitizer/config/svg.js","node_modules/@aegisjsproject/sanitizer/config/mathml.js","node_modules/@aegisjsproject/sanitizer/config/base.js","node_modules/@aegisjsproject/sanitizer/config/complete.js","node_modules/@aegisjsproject/sanitizer/sanitize.js","node_modules/@aegisjsproject/sanitizer/trust.js","command.js","node_modules/@aegisjsproject/sanitizer/polyfill.js","element.js","set.js","weakMap.js","window.js","assets/Scheduler.js","scheduler.js","elementInternals.js","Record.js","blob.js","request.js","response.js","Tuple.js","JSON.js","regexp.js","close-watcher.js"],"sourcesContent":["function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar dedent_umd$1 = {exports: {}};\n\nvar dedent_umd = dedent_umd$1.exports;\n\nvar hasRequiredDedent_umd;\n\nfunction requireDedent_umd () {\n\tif (hasRequiredDedent_umd) return dedent_umd$1.exports;\n\thasRequiredDedent_umd = 1;\n\t(function (module, exports) {\n\t\t(function (global, factory) {\n\t\t module.exports = factory() ;\n\t\t})(dedent_umd, (function () {\n\t\t const cache = new WeakMap();\n\t\t const newline = /(\\n|\\r\\n?|\\u2028|\\u2029)/g;\n\t\t const leadingWhitespace = /^\\s*/;\n\t\t const nonWhitespace = /\\S/;\n\t\t const slice = Array.prototype.slice;\n\t\t const zero = '0'.charCodeAt(0);\n\t\t const nine = '9'.charCodeAt(0);\n\t\t const lowerA = 'a'.charCodeAt(0);\n\t\t const lowerF = 'f'.charCodeAt(0);\n\t\t const upperA = 'A'.charCodeAt(0);\n\t\t const upperF = 'F'.charCodeAt(0);\n\t\t function dedent(arg) {\n\t\t if (typeof arg === 'string') {\n\t\t return process([arg])[0];\n\t\t }\n\t\t if (typeof arg === 'function') {\n\t\t return function () {\n\t\t const args = slice.call(arguments);\n\t\t args[0] = processTemplateStringsArray(args[0]);\n\t\t return arg.apply(this, args);\n\t\t };\n\t\t }\n\t\t const strings = processTemplateStringsArray(arg);\n\t\t // TODO: This is just `String.cooked`: https://tc39.es/proposal-string-cooked/\n\t\t let s = getCooked(strings, 0);\n\t\t for (let i = 1; i < strings.length; i++) {\n\t\t s += arguments[i] + getCooked(strings, i);\n\t\t }\n\t\t return s;\n\t\t }\n\t\t function getCooked(strings, index) {\n\t\t const str = strings[index];\n\t\t if (str === undefined)\n\t\t throw new TypeError(`invalid cooked string at index ${index}`);\n\t\t return str;\n\t\t }\n\t\t function processTemplateStringsArray(strings) {\n\t\t const cached = cache.get(strings);\n\t\t if (cached)\n\t\t return cached;\n\t\t const raw = process(strings.raw);\n\t\t const cooked = raw.map(cook);\n\t\t Object.defineProperty(cooked, 'raw', {\n\t\t value: Object.freeze(raw),\n\t\t });\n\t\t Object.freeze(cooked);\n\t\t cache.set(strings, cooked);\n\t\t return cooked;\n\t\t }\n\t\t function process(strings) {\n\t\t // splitQuasis is an array of arrays. The inner array is contains text content lines on the\n\t\t // even indices, and the newline char that ends the text content line on the odd indices.\n\t\t // In the first array, the inner array's 0 index is the opening line of the template literal.\n\t\t // In all other arrays, the inner array's 0 index is the continuation of the line directly after a\n\t\t // template expression.\n\t\t //\n\t\t // Eg, in the following case:\n\t\t //\n\t\t // ```\n\t\t // String.dedent`\n\t\t // first\n\t\t // ${expression} second\n\t\t // third\n\t\t // `\n\t\t // ```\n\t\t //\n\t\t // We expect the following splitQuasis:\n\t\t //\n\t\t // ```\n\t\t // [\n\t\t // [\"\", \"\\n\", \" first\", \"\\n\", \" \"],\n\t\t // [\" second\", \"\\n\", \" third\", \"\\n\", \"\"],\n\t\t // ]\n\t\t // ```\n\t\t const splitQuasis = strings.map((quasi) => quasi.split(newline));\n\t\t let common;\n\t\t for (let i = 0; i < splitQuasis.length; i++) {\n\t\t const lines = splitQuasis[i];\n\t\t // The first split is the static text starting at the opening line until the first template\n\t\t // expression (or the end of the template if there are no expressions).\n\t\t const firstSplit = i === 0;\n\t\t // The last split is all the static text after the final template expression until the closing\n\t\t // line. If there are no template expressions, then the first split is also the last split.\n\t\t const lastSplit = i + 1 === splitQuasis.length;\n\t\t // The opening line must be empty (it very likely is) and it must not contain a template\n\t\t // expression. The opening line's trailing newline char is removed.\n\t\t if (firstSplit) {\n\t\t // Length > 1 ensures there is a newline, and there is not a template expression.\n\t\t if (lines.length === 1 || lines[0].length > 0) {\n\t\t throw new Error('invalid content on opening line');\n\t\t }\n\t\t // Clear the captured newline char.\n\t\t lines[1] = '';\n\t\t }\n\t\t // The closing line may only contain whitespace and must not contain a template expression. The\n\t\t // closing line and its preceding newline are removed.\n\t\t if (lastSplit) {\n\t\t // Length > 1 ensures there is a newline, and there is not a template expression.\n\t\t if (lines.length === 1 || nonWhitespace.test(lines[lines.length - 1])) {\n\t\t throw new Error('invalid content on closing line');\n\t\t }\n\t\t // Clear the captured newline char, and the whitespace on the closing line.\n\t\t lines[lines.length - 2] = '';\n\t\t lines[lines.length - 1] = '';\n\t\t }\n\t\t // In the first spit, the index 0 is the opening line (which must be empty by now), and in all\n\t\t // other splits, its the content trailing the template expression (and so can't be part of\n\t\t // leading whitespace).\n\t\t // Every odd index is the captured newline char, so we'll skip and only process evens.\n\t\t for (let j = 2; j < lines.length; j += 2) {\n\t\t const text = lines[j];\n\t\t // If we are on the last line of this split, and we are not processing the last split (which\n\t\t // is after all template expressions), then this line contains a template expression.\n\t\t const lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit;\n\t\t // leadingWhitespace is guaranteed to match something, but it could be 0 chars.\n\t\t const leading = leadingWhitespace.exec(text)[0];\n\t\t // Empty lines do not affect the common indentation, and whitespace only lines are emptied\n\t\t // (and also don't affect the comon indentation).\n\t\t if (!lineContainsTemplateExpression && leading.length === text.length) {\n\t\t lines[j] = '';\n\t\t continue;\n\t\t }\n\t\t common = commonStart(leading, common);\n\t\t }\n\t\t }\n\t\t const min = common ? common.length : 0;\n\t\t return splitQuasis.map((lines) => {\n\t\t let quasi = lines[0];\n\t\t for (let i = 1; i < lines.length; i += 2) {\n\t\t const newline = lines[i];\n\t\t const text = lines[i + 1];\n\t\t quasi += newline + text.slice(min);\n\t\t }\n\t\t return quasi;\n\t\t });\n\t\t }\n\t\t function commonStart(a, b) {\n\t\t if (b === undefined || a === b)\n\t\t return a;\n\t\t let i = 0;\n\t\t for (const len = Math.min(a.length, b.length); i < len; i++) {\n\t\t if (a[i] !== b[i])\n\t\t break;\n\t\t }\n\t\t return a.slice(0, i);\n\t\t }\n\t\t function cook(raw) {\n\t\t let out = '';\n\t\t let start = 0;\n\t\t // We need to find every backslash escape sequence, and cook the escape into a real char.\n\t\t let i = 0;\n\t\t while ((i = raw.indexOf('\\\\', i)) > -1) {\n\t\t out += raw.slice(start, i);\n\t\t // If the backslash is the last char of the string, then it was an invalid sequence.\n\t\t // This can't actually happen in a tagged template literal, but could happen if you manually\n\t\t // invoked the tag with an array.\n\t\t if (++i === raw.length)\n\t\t return undefined;\n\t\t const next = raw[i++];\n\t\t switch (next) {\n\t\t // Escaped control codes need to be individually processed.\n\t\t case 'b':\n\t\t out += '\\b';\n\t\t break;\n\t\t case 't':\n\t\t out += '\\t';\n\t\t break;\n\t\t case 'n':\n\t\t out += '\\n';\n\t\t break;\n\t\t case 'v':\n\t\t out += '\\v';\n\t\t break;\n\t\t case 'f':\n\t\t out += '\\f';\n\t\t break;\n\t\t case 'r':\n\t\t out += '\\r';\n\t\t break;\n\t\t // Escaped line terminators just skip the char.\n\t\t case '\\r':\n\t\t // Treat `\\r\\n` as a single terminator.\n\t\t if (i < raw.length && raw[i] === '\\n')\n\t\t ++i;\n\t\t // fall through\n\t\t case '\\n':\n\t\t case '\\u2028':\n\t\t case '\\u2029':\n\t\t break;\n\t\t // `\\0` is a null control char, but `\\0` followed by another digit is an illegal octal escape.\n\t\t case '0':\n\t\t if (isDigit(raw, i))\n\t\t return undefined;\n\t\t out += '\\0';\n\t\t break;\n\t\t // Hex escapes must contain 2 hex chars.\n\t\t case 'x': {\n\t\t const n = parseHex(raw, i, i + 2);\n\t\t if (n === -1)\n\t\t return undefined;\n\t\t i += 2;\n\t\t out += String.fromCharCode(n);\n\t\t break;\n\t\t }\n\t\t // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`.\n\t\t // The hex value must not overflow 0x10ffff.\n\t\t case 'u': {\n\t\t let n;\n\t\t if (i < raw.length && raw[i] === '{') {\n\t\t const end = raw.indexOf('}', ++i);\n\t\t if (end === -1)\n\t\t return undefined;\n\t\t n = parseHex(raw, i, end);\n\t\t i = end + 1;\n\t\t }\n\t\t else {\n\t\t n = parseHex(raw, i, i + 4);\n\t\t i += 4;\n\t\t }\n\t\t if (n === -1 || n > 0x10ffff)\n\t\t return undefined;\n\t\t out += String.fromCodePoint(n);\n\t\t break;\n\t\t }\n\t\t default:\n\t\t if (isDigit(next, 0))\n\t\t return undefined;\n\t\t out += next;\n\t\t }\n\t\t start = i;\n\t\t }\n\t\t return out + raw.slice(start);\n\t\t }\n\t\t function isDigit(str, index) {\n\t\t const c = str.charCodeAt(index);\n\t\t return c >= zero && c <= nine;\n\t\t }\n\t\t function parseHex(str, index, end) {\n\t\t if (end >= str.length)\n\t\t return -1;\n\t\t let n = 0;\n\t\t for (; index < end; index++) {\n\t\t const c = hexToInt(str.charCodeAt(index));\n\t\t if (c === -1)\n\t\t return -1;\n\t\t n = n * 16 + c;\n\t\t }\n\t\t return n;\n\t\t }\n\t\t function hexToInt(c) {\n\t\t if (c >= zero && c <= nine)\n\t\t return c - zero;\n\t\t if (c >= lowerA && c <= lowerF)\n\t\t return c - lowerA + 10;\n\t\t if (c >= upperA && c <= upperF)\n\t\t return c - upperA + 10;\n\t\t return -1;\n\t\t }\n\n\t\t return dedent;\n\n\t\t}));\n\t\t\n\t} (dedent_umd$1));\n\treturn dedent_umd$1.exports;\n}\n\n/* eslint-env node */\n\nvar dedent$1;\nvar hasRequiredDedent;\n\nfunction requireDedent () {\n\tif (hasRequiredDedent) return dedent$1;\n\thasRequiredDedent = 1;\n\t// This exists just to re-export dedent as a module in the codebase\n\tdedent$1 = requireDedent_umd();\n\treturn dedent$1;\n}\n\nvar dedentExports = requireDedent();\nvar dedent = /*@__PURE__*/getDefaultExportFromCjs(dedentExports);\n\nexport { dedent as default };\n","(function() {\n\t'use strict';\n\n\tif (typeof globalThis === 'undefined') {\n\t\t/* global global: true */\n\t\tif (typeof window !== 'undefined') {\n\t\t\tObject.defineProperty(Window.prototype, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: window,\n\t\t\t});\n\t\t} else if (typeof global !== 'undefined') {\n\t\t\tObject.defineProperty(global, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: global,\n\t\t\t});\n\t\t} else if (typeof self !== 'undefined') {\n\t\t\tObject.defineProperty(self, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: self,\n\t\t\t});\n\t\t} else {\n\t\t\tObject.defineProperty(this, 'globalThis', {\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: this,\n\t\t\t});\n\t\t}\n\t}\n})();\n","import dedent from './assets/dedent.js';\n\nif (! (String.dedent instanceof Function)) {\n\tString.dedent = dedent;\n}\n","if (! ('crypto' in window) && 'msCrypto' in window) {\n\tglobalThis.crypto = globalThis.msCrypto;\n}\n\nif (!('Notification' in window)) {\n\tglobalThis.Notification = globalThis.notifications || globalThis.webkitNotifications || globalThis.oNotifications || globalThis.msNotifications || false;\n}\n\nif (!('doNotTrack' in navigator)) {\n\tnavigator.doNotTrack = globalThis.doNotTrack || navigator.msDoNotTrack || 'unspecified';\n}\n\nif (!('indexedDB' in window)) {\n\tglobalThis.indexedDB = globalThis.indexedDB || globalThis.mozIndexedDB || globalThis.webkitIndexedDB || globalThis.msIndexedDB || false;\n}\n\nif (!('hidden' in document)) {\n\tdocument.hidden = document.webkitHidden || document.msHidden || document.mozHidden || false;\n}\n\nif (!('visibilityState' in document)) {\n\tdocument.visibilityState = document.webkitVisibilityState || document.msVisibilityState || document.mozVisibilityState || 'visible';\n}\n\nif (!('fullscreenElement' in document)) {\n\tdocument.fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || false;\n}\n\nif (!('requestAnimationFrame' in window)) {\n\tglobalThis.requestAnimationFrame = globalThis.mozRequestAnimationFrame || globalThis.webkitRequestAnimationFrame || globalThis.msRequestAnimationFrame || false;\n}\n\nif (!('exitFullscreen' in Document.prototype)) {\n\tDocument.prototype.exitFullscreen = document.mozCancelFullScreen || document.webkitCancelFullScreen || document.msCancelFullScreen || false;\n}\n\nif (!('requestFullscreen' in HTMLElement.prototype)) {\n\tHTMLElement.prototype.requestFullscreen = HTMLElement.prototype.requestFullScreen || HTMLElement.prototype.mozRequestFullScreen || HTMLElement.prototype.webkitRequestFullScreen || false;\n}\n\nif (!('fullscreen' in Document.prototype)) {\n\tObject.defineProperty(Document.prototype, 'fullscreen', {\n\t\tget:() => document.fullscreenElement instanceof Element,\n\t});\n}\n","if (! (Object.groupBy instanceof Function)) {\n\tObject.groupBy = function(items, callbackFn) {\n\t\treturn Array.from(items).reduce((groups, element, index) => {\n\t\t\tconst key = callbackFn.call(groups, element, index);\n\n\t\t\tif (! groups.hasOwnProperty(key)) {\n\t\t\t\tgroups[key] = [element];\n\t\t\t} else {\n\t\t\t\tgroups[key].push(element);\n\t\t\t}\n\n\t\t\treturn groups;\n\t\t}, {});\n\t};\n}\n","/**\n * @see https://github.com/tc39/proposal-upsert\n */\nif (! (Map.prototype.getOrInsert instanceof Function)) {\n\tMap.prototype.getOrInsert = function getOrInsert(key, defaultValue) {\n\t\tif (this.has(key)) {\n\t\t return this.get(key);\n\t\t} else {\n\t\t\tthis.set(key, defaultValue);\n\t\t\treturn defaultValue;\n\t\t}\n\t };\n\n\t Map.prototype.getOrInsertComputed = function getOrInsertComputed(key, callbackFunction) {\n\t\tif (this.has(key)) {\n\t\t return this.get(key);\n\t\t} else {\n\t\t\tconst val = callbackFunction(key);\n\t\t\tthis.set(key, val);\n\t\t\treturn val;\n\n\t\t}\n\t };\n}\n\nif (! (WeakMap.prototype.getOrInsert instanceof Function)) {\n\tWeakMap.prototype.getOrInsert = function getOrInsert(key, defaultValue) {\n\t\treturn Map.prototype.getOrInsert.call(this, key, defaultValue);\n\t};\n\n\tWeakMap.prototype.getOrInsertComputed = function getOrInsertComputed(key, callbackFunction) {\n\t\treturn WeakMap.prototype.getOrInsertComputed.call(this, key, callbackFunction);\n\t};\n}\n\nif (! (Map.groupBy instanceof Function)) {\n\tMap.groupBy = function groupTo(items, callbackFn) {\n\t\treturn Array.from(items).reduce((map, element, index) => {\n\t\t\tmap.emplace(callbackFn.call(map, element, index), {\n\t\t\t\tinsert: () => [element],\n\t\t\t\tupdate: existing => {\n\t\t\t\t\texisting.push(element);\n\t\t\t\t\treturn existing;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn map;\n\t\t}, new Map());\n\t};\n}\n\n/**\n * @deprecated The proposal is removing `emplace()` and using `getOrInsert()` instead.\n */\nif (! (Map.prototype.emplace instanceof Function)) {\n\tMap.prototype.emplace = function emplace(key, { insert, update } = {}) {\n\t\tconsole.warn('`Map.prototype.emplace()` has been removed from the proposal and will be removed in the future.');\n\n\t\tconst has = this.has(key);\n\n\t\tif (has && update instanceof Function) {\n\t\t\tconst existing = this.get(key);\n\t\t\tconst value = update.call(this, existing, key, this);\n\n\t\t\tif (value !== existing) {\n\t\t\t\tthis.set(key, value);\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} else if (has) {\n\t\t\treturn this.get(key);\n\t\t} else if (insert instanceof Function) {\n\t\t\tconst value = insert.call(this, key, this);\n\t\t\tthis.set(key, value);\n\t\t\treturn value;\n\t\t} else {\n\t\t\tthrow new Error('Key is not found and no `insert()` given');\n\t\t}\n\t};\n}\n","/**\n * @SEE https://github.com/tc39/proposal-relative-indexing-method#polyfill\n * @SEE https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\n */\n\nconst SHIM_TARGETS = [Array, String, globalThis.Int8Array, globalThis.Uint8Array,\n\tglobalThis.Uint8ClampedArray, globalThis.Int16Array, globalThis.Uint16Array,\n\tglobalThis.Int32Array, globalThis.Uint32Array, globalThis.Float32Array,\n\tglobalThis.Float64Array, globalThis.BigInt64Array, globalThis.BigUint64Array,\n];\n\nif (! (Array.prototype.flat instanceof Function)) {\n\tArray.prototype.flat = function(depth = 1) {\n\t\tconst result = [];\n\t\tdepth = Math.min(Number.MAX_SAFE_INTEGER, Math.max(0, depth));\n\n\t\tconst flattenFn = (item, depth) => {\n\t\t\tif (Array.isArray(item) && depth >= 0) {\n\t\t\t\titem.forEach(i => flattenFn(i, depth - 1));\n\t\t\t} else {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t};\n\n\t\tflattenFn(this, Number.isNaN(depth) ? 0 : depth);\n\t\treturn result;\n\t};\n}\n\nif (! (Array.prototype.flatMap instanceof Function)) {\n\tArray.prototype.flatMap = function(cb, thisArg) {\n\t\treturn this.map(cb, thisArg).flat(1);\n\t};\n}\n\nif (! (Array.prototype.findLast instanceof Function)) {\n\tArray.prototype.findLast = function(callback, thisArg) {\n\t\tlet found = undefined;\n\n\t\tthis.forEach((item, index, arr) => {\n\t\t\tif (callback.call(thisArg, item, index, arr)) {\n\t\t\t\tfound = item;\n\t\t\t}\n\t\t}, thisArg);\n\n\t\treturn found;\n\t};\n}\n\nif(! ('lastIndex' in Array.prototype)) {\n\tObject.defineProperty(Array.prototype, 'lastIndex', {\n\t\tenumerable: false,\n\t\tconfigurable: false,\n\t\tget: function() {\n\t\t\treturn Math.max(0, this.length - 1);\n\t\t}\n\t});\n}\n\nif(! ('lastItem' in Array.prototype)) {\n\tObject.defineProperty(Array.prototype, 'lastItem', {\n\t\tenumerable: false,\n\t\tconfigurable: false,\n\t\tget: function() {\n\t\t\treturn this[this.lastIndex];\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[this.lastIndex] = val;\n\t\t}\n\t});\n}\n\nif (! (Array.prototype.findLastIndex instanceof Function)) {\n\tArray.prototype.findLastIndex = function(callback, thisArg) {\n\t\tlet found = -1;\n\n\t\tthis.forEach((item, index, arr) => {\n\t\t\tif (callback.call(thisArg, item, index, arr)) {\n\t\t\t\tfound = index;\n\t\t\t}\n\t\t}, thisArg);\n\n\t\treturn found;\n\t};\n}\n\nif (! (Array.prototype.at instanceof Function)) {\n\tconst at = function at(n) {\n\t\tn = Math.trunc(n) || 0;\n\t\tif (n < 0) n += this.length;\n\t\tif (n < 0 || n >= this.length) return undefined;\n\t\treturn this[n];\n\t};\n\n\tfor (const C of SHIM_TARGETS) {\n\t\tif (typeof C !== 'undefined') {\n\t\t\tObject.defineProperty(C.prototype, 'at', {\n\t\t\t\tvalue: at,\n\t\t\t\twritable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t}\n\t}\n}\n\n/**\n * @deprecated [moved to `Object.groupBy()`]\n * @see https://github.com/tc39/proposal-array-grouping\n */\nif (! (Array.prototype.group instanceof Function) && Object.groupBy instanceof Function) {\n\tArray.prototype.group = function group(callback) {\n\t\tconsole.warn('`Array.group()` is deprecated. Please use `Object.groupBy()` instead.');\n\t\treturn Object.groupBy(this, callback);\n\t};\n}\n\n/**\n * @deprecated [moved to `Object.groupBy()`]\n */\nif (! (Array.prototype.groupBy instanceof Function) && Object.groupBy instanceof Function) {\n\tArray.prototype.groupBy = function groupBy(callback) {\n\t\tconsole.warn('`Array.goupBy()` is deprecated. Please use `Object.groupBy()` instead.');\n\t\treturn Object.groupBy(this, callback);\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-array-grouping\n * @deprecated [moved to `Map.groupBy()`]\n * @requires `Map.prototype.emplace`\n */\nif (! (Array.prototype.groupToMap instanceof Function) && (Map.groupBy instanceof Function)) {\n\tArray.prototype.groupToMap = function groupToMap(callback) {\n\t\tconsole.warn('`Array.groupToMap()` is deprecated. Please use `Map.groupBy()` instead.');\n\t\treturn Map.groupBy(this, callback);\n\t};\n}\n\n/**\n * @deprecated [moved to `Map.groupBy()`]\n */\nif (Map.groupBy instanceof Function) {\n\tArray.prototype.groupByToMap = function groupByToMap(callback) {\n\t\tconsole.warn('`Array.groupByToMap()` is deprecated. Please use `Map.groupBy()` instead.');\n\t\treturn Map.groupBy(this, callback);\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-array-from-async\n */\nif (! (Array.fromAsync instanceof Function)) {\n\tArray.fromAsync = async function fromAsync(items, mapFn, thisArg = globalThis) {\n\t\tlet arr = [];\n\n\t\tfor await (const item of items) {\n\t\t\tarr.push(await item);\n\t\t}\n\n\t\treturn Array.from(arr, mapFn, thisArg);\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-array-equality/\n */\nif (! (Array.prototype.equals instanceof Function)) {\n\tArray.prototype.equals = function equals(arr) {\n\t\tif (this === arr) {\n\t\t\treturn true;\n\t\t} else if (! Array.isArray(arr)) {\n\t\t\treturn false;\n\t\t} else if (this.length !== arr.length) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn this.every((item, i) => {\n\t\t\t\tconst val = arr[i];\n\t\t\t\tif (Array.isArray(item)) {\n\t\t\t\t\treturn Array.isArray(val) && item.equals(val);\n\t\t\t\t} else {\n\t\t\t\t\treturn Object.is(item, val);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n}\n/**\n * @see https://github.com/tc39/proposal-array-unique\n */\nif (! (Array.prototype.uniqueBy instanceof Function)) {\n\tArray.prototype.uniqueBy = function uniqueBy(arg) {\n\t\tswitch (typeof arg) {\n\t\t\tcase 'undefined':\n\t\t\t\treturn [...new Set(this)];\n\n\t\t\tcase 'string':\n\t\t\tcase 'number':\n\t\t\tcase 'symbol':\n\t\t\t\treturn this.uniqueBy(entry => entry[arg]);\n\n\t\t\tcase 'function': {\n\t\t\t\tconst found = new Set(); //Cannot use `WeakSet` in case of primative values\n\n\t\t\t\treturn this.filter((...args) => {\n\t\t\t\t\tconst key = arg.apply(this, args);\n\n\t\t\t\t\tif (found.has(key)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfound.add(key);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tthrow new TypeError('Not a valid argument for uniqueBy');\n\t\t}\n\t};\n}\n\n/**\n * Change Array by copy proposal\n * @Note: Not clear if should use `structedClone` or `[...this]` for copies\n * @see https://github.com/tc39/proposal-change-array-by-copy\n */\nif (! (Array.prototype.toReversed instanceof Function)) {\n\tArray.prototype.toReversed = function toReversed() {\n\t\treturn [...this].reverse();\n\t};\n}\n\nif (! (Array.prototype.toSorted instanceof Function)) {\n\tArray.prototype.toSorted = function toSorted(cmpFn) {\n\t\treturn [...this].sort(cmpFn);\n\t};\n}\n\nif (! (Array.prototype.toSpliced instanceof Function)) {\n\tArray.prototype.toSpliced = function toSpliced(start, deleteCount, ...items) {\n\t\tconst cpy = [...this];\n\t\tcpy.splice(start, deleteCount, ...items);\n\t\treturn cpy;\n\t};\n}\n\nif (! (Array.prototype.with instanceof Function)) {\n\tArray.prototype.with = function (index, value) {\n\t\tconst cpy = [...this];\n\t\tcpy[index] = value;\n\t\treturn cpy;\n\t};\n}\n\nif (! (Array.isTemplateObject instanceof Function)) {\n\tArray.isTemplateObject = function(target) {\n\t\tif (! (\n\t\t\tArray.isArray(target) && Array.isArray(target.raw)\n\t\t\t&& Object.isFrozen(target) && Object.isFrozen(target.raw)\n\t\t)) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn target.length !== 0 && target.length === target.raw.length;\n\t\t}\n\t};\n}\n\n/**\n * @see https://github.com/tc39/proposal-arraybuffer-base64\n */\nif (! (Uint8Array.prototype.toHex instanceof Function)) {\n\tUint8Array.prototype.toHex = function toHex() {\n\t\treturn Array.from(\n\t\t\tthis,\n\t\t\tbyte => byte.toString(16).padStart(2, '0')\n\t\t).join('');\n\t};\n}\n\nif (! (Uint8Array.prototype.toBase64 instanceof Function)) {\n\tUint8Array.prototype.toBase64 = function toBase64({ alphabet = 'base64' } = {}) {\n\t\tif (alphabet === 'base64') {\n\t\t\t// @todo Figure out encoding specifics\n\t\t\t//return btoa(String.fromCodePoint(...this));\n\t\t\tconst chunkSize = 0x8000; // 32,768 bytes per chunk\n\t\t\tlet str = '';\n\n\t\t\tfor (let i = 0; i < this.length; i += chunkSize) {\n\t\t\t\tconst chunk = this.subarray(i, i + chunkSize);\n\t\t\t\tstr += String.fromCharCode.apply(null, chunk);\n\t\t\t}\n\n\t\t\treturn btoa(str);\n\t\t} else if (alphabet === 'base64url') {\n\t\t\treturn this.toBase64({ alphabet: 'base64' }).replaceAll('+', '-').replaceAll('/', '_');\n\t\t} else {\n\t\t\tthrow new TypeError('expected alphabet to be either \"base64\" or \"base64url');\n\t\t}\n\t};\n}\n\nif (! (Uint8Array.fromHex instanceof Function)) {\n\tUint8Array.fromHex = function fromHex(str) {\n\t\tif (typeof str !== 'string') {\n\t\t\tthrow new TypeError('expected input to be a string');\n\t\t} else if (! (str.length & 1) === 0) {\n\t\t\tthrow new SyntaxError('string should be an even number of characters');\n\t\t} else {\n\t\t\treturn Uint8Array.from(\n\t\t\t\tglobalThis.Iterator.range(0, str.length, { step: 2 }),\n\t\t\t\ti => parseInt(str.substring(i, i + 2), 16)\n\t\t\t);\n\t\t}\n\t};\n}\n\nif (! (Uint8Array.fromBase64 instanceof Function)) {\n\tUint8Array.fromBase64 = function fromBase64(str, {\n\t\talphabet = 'base64',\n\t\tlastChunkHandling = 'loose',\n\t} = {}) {\n\t\tif (typeof str !== 'string') {\n\t\t\tthrow new TypeError('expected input to be a string');\n\t\t} else if (! ['base64', 'base64url'].includes(alphabet)) {\n\t\t\tthrow new TypeError('expected alphabet to be either \"base64\" or \"base64url');\n\t\t} else if (! ['loose', 'strict', 'stop-before-partial'].includes(lastChunkHandling)) {\n\t\t\tthrow new TypeError(`Invalid \\`lastChunkHandling\\`: \"${lastChunkHandling}\".`);\n\t\t} else if (alphabet === 'base64') {\n\t\t\tconst lastChunkLength = str.length % 4;\n\n\t\t\tif (lastChunkLength === 1) {\n\t\t\t\tthrow new TypeError('Invalid string length.');\n\t\t\t} else if (lastChunkLength !== 0) {\n\t\t\t\tswitch(lastChunkHandling) {\n\t\t\t\t\tcase 'strict':\n\t\t\t\t\t\tthrow new SyntaxError('Missing padding.');\n\n\t\t\t\t\tcase 'loose':\n\t\t\t\t\t\treturn Uint8Array.fromBase64(str.padEnd(str.length + (4 - lastChunkLength), '='), {\n\t\t\t\t\t\t\talphabet: 'base64',\n\t\t\t\t\t\t\tlastChunkHandling: 'strict',\n\t\t\t\t\t\t});\n\n\t\t\t\t\tcase 'stop-before-partial':\n\t\t\t\t\t\treturn Uint8Array.fromBase64(str.slice(0, str.length - lastChunkLength), {\n\t\t\t\t\t\t\talphabet: 'base64',\n\t\t\t\t\t\t\tlastChunkHandling: 'strict',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t// Already checked for valid `lastChunkHandling`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// return new TextEncoder().encode(atob(str));\n\t\t\t\treturn Uint8Array.from(atob(str), char => char.charCodeAt(0));\n\t\t\t}\n\t\t} else {\n\t\t\treturn Uint8Array.fromBase64(\n\t\t\t\tstr.replaceAll('-', '+').replaceAll('_', '/'),\n\t\t\t\t{ alphabet: 'base64', }\n\t\t\t);\n\t\t}\n\t};\n}\n\n// @todo Implement Uint8Array.fromBase64Into & Uint8Array.fromHexInto\n// if (! (Uint8Array.fromBase64Into instanceof Function)) {\n// \tUint8Array.fromBase64Into = function fromBase64Into(str, target) {\n// \t\tconst { read, written } = new TextEncoder().encodeInto(atob(str), target);\n// \t\treturn { read, written, target };\n// \t};\n// }\n","export function polyfillMethod(parent, name, value, {\n\twritable = true,\n\tenumerable = true,\n\tconfigurable = true,\n} = {}) {\n\tif (! (parent[name] instanceof Function)) {\n\t\tObject.defineProperty(parent, name, { value, writable, enumerable, configurable });\n\t}\n}\n\nexport function polyfillGetterSetter(parent, name, {\n\tget,\n\tset,\n\tenumerable = true,\n\tconfigurable = true,\n} = {}) {\n\tif (! parent.hasOwnProperty(name)) {\n\t\tObject.defineProperty(parent, name, { get, set, enumerable, configurable });\n\t}\n}\n\nexport function overwriteMethod(parent, name, func) {\n\tconst { value, enumerable, configurable, writable } = Object.getOwnPropertyDescriptor(parent, name);\n\tconst newMethod = func(value);\n\n\tif (! (newMethod instanceof Function)) {\n\t\tthrow new TypeError(`Error overwriting ${name}. The func MUST be a function that accepts the original as an argument and return a function.`);\n\t} else {\n\t\tObject.defineProperty(parent, name, { value: newMethod, enumerable, configurable, writable });\n\t}\n}\n","import { polyfillMethod } from './utils.js';\n\nif ('Symbol' in globalThis) {\n\tconst known = new Set(\n\t\tReflect.ownKeys(Symbol)\n\t\t\t.filter(item => typeof Symbol[item] === 'symbol')\n\t\t\t.map(key => Symbol[key])\n\t);\n\n\tif (typeof Symbol.toStringTag === 'undefined') {\n\t\tSymbol.toStringTag = Symbol('Symbol.toStringTag');\n\t}\n\n\tif (typeof Symbol.iterator === 'undefined') {\n\t\tSymbol.iterator = Symbol('Symbol.iterator');\n\t}\n\n\tpolyfillMethod(Symbol, 'isRegistered', function(symbol) {\n\t\treturn typeof symbol === 'symbol' && typeof Symbol.keyFor(symbol) === 'string';\n\t});\n\n\tpolyfillMethod(Symbol, 'isWellKnown', function(symbol) {\n\t\treturn known.has(symbol);\n\t});\n}\n","function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar urlpattern;\nvar hasRequiredUrlpattern;\n\nfunction requireUrlpattern () {\n\tif (hasRequiredUrlpattern) return urlpattern;\n\thasRequiredUrlpattern = 1;\nvar U=Object.defineProperty;var Re=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var Oe=Object.prototype.hasOwnProperty;var a=(e,t)=>U(e,\"name\",{value:t,configurable:true});var ke=(e,t)=>{for(var r in t)U(e,r,{get:t[r],enumerable:true});},Te=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Ee(t))!Oe.call(e,o)&&o!==r&&U(e,o,{get:()=>t[o],enumerable:!(n=Re(t,o))||n.enumerable});return e};var Ae=e=>Te(U({},\"__esModule\",{value:true}),e);var He={};ke(He,{URLPattern:()=>M});urlpattern=Ae(He);var P=class{type=3;name=\"\";prefix=\"\";value=\"\";suffix=\"\";modifier=3;constructor(t,r,n,o,l,f){this.type=t,this.name=r,this.prefix=n,this.value=o,this.suffix=l,this.modifier=f;}hasCustomName(){return this.name!==\"\"&&typeof this.name!=\"number\"}};a(P,\"Part\");var ye=/[$_\\p{ID_Start}]/u,we=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,F=\".*\";function Ce(e,t){return (t?/^[\\x00-\\xFF]*$/:/^[\\x00-\\x7F]*$/).test(e)}a(Ce,\"isASCII\");function W(e,t=false){let r=[],n=0;for(;n<e.length;){let o=e[n],l=a(function(f){if(!t)throw new TypeError(f);r.push({type:\"INVALID_CHAR\",index:n,value:e[n++]});},\"ErrorOrInvalid\");if(o===\"*\"){r.push({type:\"ASTERISK\",index:n,value:e[n++]});continue}if(o===\"+\"||o===\"?\"){r.push({type:\"OTHER_MODIFIER\",index:n,value:e[n++]});continue}if(o===\"\\\\\"){r.push({type:\"ESCAPED_CHAR\",index:n++,value:e[n++]});continue}if(o===\"{\"){r.push({type:\"OPEN\",index:n,value:e[n++]});continue}if(o===\"}\"){r.push({type:\"CLOSE\",index:n,value:e[n++]});continue}if(o===\":\"){let f=\"\",s=n+1;for(;s<e.length;){let i=e.substr(s,1);if(s===n+1&&ye.test(i)||s!==n+1&&we.test(i)){f+=e[s++];continue}break}if(!f){l(`Missing parameter name at ${n}`);continue}r.push({type:\"NAME\",index:n,value:f}),n=s;continue}if(o===\"(\"){let f=1,s=\"\",i=n+1,c=false;if(e[i]===\"?\"){l(`Pattern cannot start with \"?\" at ${i}`);continue}for(;i<e.length;){if(!Ce(e[i],false)){l(`Invalid character '${e[i]}' at ${i}.`),c=true;break}if(e[i]===\"\\\\\"){s+=e[i++]+e[i++];continue}if(e[i]===\")\"){if(f--,f===0){i++;break}}else if(e[i]===\"(\"&&(f++,e[i+1]!==\"?\")){l(`Capturing groups are not allowed at ${i}`),c=true;break}s+=e[i++];}if(c)continue;if(f){l(`Unbalanced pattern at ${n}`);continue}if(!s){l(`Missing pattern at ${n}`);continue}r.push({type:\"REGEX\",index:n,value:s}),n=i;continue}r.push({type:\"CHAR\",index:n,value:e[n++]});}return r.push({type:\"END\",index:n,value:\"\"}),r}a(W,\"lexer\");function _(e,t={}){let r=W(e);t.delimiter??=\"/#?\",t.prefixes??=\"./\";let n=`[^${x(t.delimiter)}]+?`,o=[],l=0,f=0,i=new Set,c=a(u=>{if(f<r.length&&r[f].type===u)return r[f++].value},\"tryConsume\"),h=a(()=>c(\"OTHER_MODIFIER\")??c(\"ASTERISK\"),\"tryConsumeModifier\"),p=a(u=>{let d=c(u);if(d!==void 0)return d;let{type:g,index:y}=r[f];throw new TypeError(`Unexpected ${g} at ${y}, expected ${u}`)},\"mustConsume\"),A=a(()=>{let u=\"\",d;for(;d=c(\"CHAR\")??c(\"ESCAPED_CHAR\");)u+=d;return u},\"consumeText\"),be=a(u=>u,\"DefaultEncodePart\"),N=t.encodePart||be,H=\"\",v=a(u=>{H+=u;},\"appendToPendingFixedValue\"),D=a(()=>{H.length&&(o.push(new P(3,\"\",\"\",N(H),\"\",3)),H=\"\");},\"maybeAddPartFromPendingFixedValue\"),Z=a((u,d,g,y,B)=>{let m=3;switch(B){case \"?\":m=1;break;case \"*\":m=0;break;case \"+\":m=2;break}if(!d&&!g&&m===3){v(u);return}if(D(),!d&&!g){if(!u)return;o.push(new P(3,\"\",\"\",N(u),\"\",m));return}let S;g?g===\"*\"?S=F:S=g:S=n;let k=2;S===n?(k=1,S=\"\"):S===F&&(k=0,S=\"\");let E;if(d?E=d:g&&(E=l++),i.has(E))throw new TypeError(`Duplicate name '${E}'.`);i.add(E),o.push(new P(k,E,N(u),S,N(y),m));},\"addPart\");for(;f<r.length;){let u=c(\"CHAR\"),d=c(\"NAME\"),g=c(\"REGEX\");if(!d&&!g&&(g=c(\"ASTERISK\")),d||g){let m=u??\"\";t.prefixes.indexOf(m)===-1&&(v(m),m=\"\"),D();let S=h();Z(m,d,g,\"\",S);continue}let y=u??c(\"ESCAPED_CHAR\");if(y){v(y);continue}if(c(\"OPEN\")){let m=A(),S=c(\"NAME\"),k=c(\"REGEX\");!S&&!k&&(k=c(\"ASTERISK\"));let E=A();p(\"CLOSE\");let Pe=h();Z(m,S,k,E,Pe);continue}D(),p(\"END\");}return o}a(_,\"parse\");function x(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}a(x,\"escapeString\");function q(e){return e&&e.ignoreCase?\"ui\":\"u\"}a(q,\"flags\");function J(e,t,r){return z(_(e,r),t,r)}a(J,\"stringToRegexp\");function T(e){switch(e){case 0:return \"*\";case 1:return \"?\";case 2:return \"+\";case 3:return \"\"}}a(T,\"modifierToString\");function z(e,t,r={}){r.delimiter??=\"/#?\",r.prefixes??=\"./\",r.sensitive??=false,r.strict??=false,r.end??=true,r.start??=true,r.endsWith=\"\";let n=r.start?\"^\":\"\";for(let s of e){if(s.type===3){s.modifier===3?n+=x(s.value):n+=`(?:${x(s.value)})${T(s.modifier)}`;continue}t&&t.push(s.name);let i=`[^${x(r.delimiter)}]+?`,c=s.value;if(s.type===1?c=i:s.type===0&&(c=F),!s.prefix.length&&!s.suffix.length){s.modifier===3||s.modifier===1?n+=`(${c})${T(s.modifier)}`:n+=`((?:${c})${T(s.modifier)})`;continue}if(s.modifier===3||s.modifier===1){n+=`(?:${x(s.prefix)}(${c})${x(s.suffix)})`,n+=T(s.modifier);continue}n+=`(?:${x(s.prefix)}`,n+=`((?:${c})(?:`,n+=x(s.suffix),n+=x(s.prefix),n+=`(?:${c}))*)${x(s.suffix)})`,s.modifier===0&&(n+=\"?\");}let o=`[${x(r.endsWith)}]|$`,l=`[${x(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${l}?`),r.endsWith.length?n+=`(?=${o})`:n+=\"$\",new RegExp(n,q(r));r.strict||(n+=`(?:${l}(?=${o}))?`);let f=false;if(e.length){let s=e[e.length-1];s.type===3&&s.modifier===3&&(f=r.delimiter.indexOf(s)>-1);}return f||(n+=`(?=${l}|${o})`),new RegExp(n,q(r))}a(z,\"partsToRegexp\");var b={delimiter:\"\",prefixes:\"\",sensitive:true,strict:true},Q={delimiter:\".\",prefixes:\"\",sensitive:true,strict:true},ee={delimiter:\"/\",prefixes:\"/\",sensitive:true,strict:true};function te(e,t){return e.length?e[0]===\"/\"?true:!t||e.length<2?false:(e[0]==\"\\\\\"||e[0]==\"{\")&&e[1]==\"/\":false}a(te,\"isAbsolutePathname\");function re(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}a(re,\"maybeStripPrefix\");function Le(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}a(Le,\"maybeStripSuffix\");function j(e){return !e||e.length<2?false:e[0]===\"[\"||(e[0]===\"\\\\\"||e[0]===\"{\")&&e[1]===\"[\"}a(j,\"treatAsIPv6Hostname\");var ne=[\"ftp\",\"file\",\"http\",\"https\",\"ws\",\"wss\"];function $(e){if(!e)return true;for(let t of ne)if(e.test(t))return true;return false}a($,\"isSpecialScheme\");function se(e,t){if(e=re(e,\"#\"),t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):\"\"}a(se,\"canonicalizeHash\");function ie(e,t){if(e=re(e,\"?\"),t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.search=e,r.search?r.search.substring(1,r.search.length):\"\"}a(ie,\"canonicalizeSearch\");function ae(e,t){return t||e===\"\"?e:j(e)?V(e):G(e)}a(ae,\"canonicalizeHostname\");function oe(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.password=e,r.password}a(oe,\"canonicalizePassword\");function ce(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.username=e,r.username}a(ce,\"canonicalizeUsername\");function le(e,t,r){if(r||e===\"\")return e;if(t&&!ne.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]==\"/\";return e=new URL(n?e:\"/-\"+e,\"https://example.com\").pathname,n||(e=e.substring(2,e.length)),e}a(le,\"canonicalizePathname\");function fe(e,t,r){return K(t)===e&&(e=\"\"),r||e===\"\"?e:Y(e)}a(fe,\"canonicalizePort\");function he(e,t){return e=Le(e,\":\"),t||e===\"\"?e:w(e)}a(he,\"canonicalizeProtocol\");function K(e){switch(e){case \"ws\":case \"http\":return \"80\";case \"wws\":case \"https\":return \"443\";case \"ftp\":return \"21\";default:return \"\"}}a(K,\"defaultPortForProtocol\");function w(e){if(e===\"\")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(`Invalid protocol '${e}'.`)}a(w,\"protocolEncodeCallback\");function ue(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.username=e,t.username}a(ue,\"usernameEncodeCallback\");function de(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.password=e,t.password}a(de,\"passwordEncodeCallback\");function G(e){if(e===\"\")return e;if(/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e))throw new TypeError(`Invalid hostname '${e}'`);let t=new URL(\"https://example.com\");return t.hostname=e,t.hostname}a(G,\"hostnameEncodeCallback\");function V(e){if(e===\"\")return e;if(/[^0-9a-fA-F[\\]:]/g.test(e))throw new TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}a(V,\"ipv6HostnameEncodeCallback\");function Y(e){if(e===\"\"||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(`Invalid port '${e}'.`)}a(Y,\"portEncodeCallback\");function pe(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.pathname=e[0]!==\"/\"?\"/-\"+e:e,e[0]!==\"/\"?t.pathname.substring(2,t.pathname.length):t.pathname}a(pe,\"standardURLPathnameEncodeCallback\");function ge(e){return e===\"\"?e:new URL(`data:${e}`).pathname}a(ge,\"pathURLPathnameEncodeCallback\");function me(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.search=e,t.search.substring(1,t.search.length)}a(me,\"searchEncodeCallback\");function Se(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.hash=e,t.hash.substring(1,t.hash.length)}a(Se,\"hashEncodeCallback\");var C=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=false;constructor(t){this.#i=t;}get result(){return this.#t}parse(){for(this.#n=W(this.#i,true);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===\"END\"){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())this.#d-=1;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t=7,r=1;this.#E()?(t=2,r=3):this.#g&&(t=2),this.#r(t,r);}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&(this.#p-=1),this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=\"\");}#r(t,r){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;}this.#o!==0&&t!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t)&&(this.#t.hostname??=\"\"),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t)&&(this.#t.pathname??=this.#g?\"/\":\"\"),[1,2,3,4,5,6,7].includes(this.#o)&&t===9&&(this.#t.search??=\"\")),this.#R(t,r);}#R(t,r){this.#o=t,this.#l=this.#e+r,this.#e+=r,this.#s=0;}#b(){this.#e=this.#l,this.#s=0;}#u(t){this.#b(),this.#o=t;}#m(t){return t<0&&(t=this.#n.length-t),t<this.#n.length?this.#n[t]:this.#n[this.#n.length-1]}#a(t,r){let n=this.#m(t);return n.value===r&&(n.type===\"CHAR\"||n.type===\"ESCAPED_CHAR\"||n.type===\"INVALID_CHAR\")}#P(){return this.#a(this.#e,\":\")}#E(){return this.#a(this.#e+1,\"/\")&&this.#a(this.#e+2,\"/\")}#S(){return this.#a(this.#e,\"@\")}#O(){return this.#a(this.#e,\":\")}#k(){return this.#a(this.#e,\":\")}#x(){return this.#a(this.#e,\"/\")}#h(){if(this.#a(this.#e,\"?\"))return true;if(this.#n[this.#e].value!==\"?\")return false;let t=this.#m(this.#e-1);return t.type!==\"NAME\"&&t.type!==\"REGEX\"&&t.type!==\"CLOSE\"&&t.type!==\"ASTERISK\"}#f(){return this.#a(this.#e,\"#\")}#T(){return this.#n[this.#e].type==\"OPEN\"}#A(){return this.#n[this.#e].type==\"CLOSE\"}#y(){return this.#a(this.#e,\"[\")}#w(){return this.#a(this.#e,\"]\")}#c(){let t=this.#n[this.#e],r=this.#m(this.#l).index;return this.#i.substring(r,t.index)}#C(){let t={};Object.assign(t,b),t.encodePart=w;let r=J(this.#c(),void 0,t);this.#g=$(r);}};a(C,\"Parser\");var X=[\"protocol\",\"username\",\"password\",\"hostname\",\"port\",\"pathname\",\"search\",\"hash\"],O=\"*\";function xe(e,t){if(typeof e!=\"string\")throw new TypeError(\"parameter 1 is not of type 'string'.\");let r=new URL(e,t);return {protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search!==\"\"?r.search.substring(1,r.search.length):void 0,hash:r.hash!==\"\"?r.hash.substring(1,r.hash.length):void 0}}a(xe,\"extractValues\");function R(e,t){return t?I(e):e}a(R,\"processBaseURLString\");function L(e,t,r){let n;if(typeof t.baseURL==\"string\")try{n=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=R(n.protocol.substring(0,n.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=R(n.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=R(n.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=R(n.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=R(n.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=R(n.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=R(n.search.substring(1,n.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=R(n.hash.substring(1,n.hash.length),r));}catch{throw new TypeError(`invalid baseURL '${t.baseURL}'.`)}if(typeof t.protocol==\"string\"&&(e.protocol=he(t.protocol,r)),typeof t.username==\"string\"&&(e.username=ce(t.username,r)),typeof t.password==\"string\"&&(e.password=oe(t.password,r)),typeof t.hostname==\"string\"&&(e.hostname=ae(t.hostname,r)),typeof t.port==\"string\"&&(e.port=fe(t.port,e.protocol,r)),typeof t.pathname==\"string\"){if(e.pathname=t.pathname,n&&!te(e.pathname,r)){let o=n.pathname.lastIndexOf(\"/\");o>=0&&(e.pathname=R(n.pathname.substring(0,o+1),r)+e.pathname);}e.pathname=le(e.pathname,e.protocol,r);}return typeof t.search==\"string\"&&(e.search=ie(t.search,r)),typeof t.hash==\"string\"&&(e.hash=se(t.hash,r)),e}a(L,\"applyInit\");function I(e){return e.replace(/([+*?:{}()\\\\])/g,\"\\\\$1\")}a(I,\"escapePatternString\");function Ie(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}a(Ie,\"escapeRegexpString\");function Ne(e,t){t.delimiter??=\"/#?\",t.prefixes??=\"./\",t.sensitive??=false,t.strict??=false,t.end??=true,t.start??=true,t.endsWith=\"\";let r=\".*\",n=`[^${Ie(t.delimiter)}]+?`,o=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,l=\"\";for(let f=0;f<e.length;++f){let s=e[f];if(s.type===3){if(s.modifier===3){l+=I(s.value);continue}l+=`{${I(s.value)}}${T(s.modifier)}`;continue}let i=s.hasCustomName(),c=!!s.suffix.length||!!s.prefix.length&&(s.prefix.length!==1||!t.prefixes.includes(s.prefix)),h=f>0?e[f-1]:null,p=f<e.length-1?e[f+1]:null;if(!c&&i&&s.type===1&&s.modifier===3&&p&&!p.prefix.length&&!p.suffix.length)if(p.type===3){let A=p.value.length>0?p.value[0]:\"\";c=o.test(A);}else c=!p.hasCustomName();if(!c&&!s.prefix.length&&h&&h.type===3){let A=h.value[h.value.length-1];c=t.prefixes.includes(A);}c&&(l+=\"{\"),l+=I(s.prefix),i&&(l+=`:${s.name}`),s.type===2?l+=`(${s.value})`:s.type===1?i||(l+=`(${n})`):s.type===0&&(!i&&(!h||h.type===3||h.modifier!==3||c||s.prefix!==\"\")?l+=\"*\":l+=`(${r})`),s.type===1&&i&&s.suffix.length&&o.test(s.suffix[0])&&(l+=\"\\\\\"),l+=I(s.suffix),c&&(l+=\"}\"),s.modifier!==3&&(l+=T(s.modifier));}return l}a(Ne,\"partsToPattern\");var M=class{#i;#n={};#t={};#e={};#s={};#l=false;constructor(t={},r,n){try{let o;if(typeof r==\"string\"?o=r:n=r,typeof t==\"string\"){let i=new C(t);if(i.parse(),t=i.result,o===void 0&&typeof t.protocol!=\"string\")throw new TypeError(\"A base URL must be provided for a relative constructor string.\");t.baseURL=o;}else {if(!t||typeof t!=\"object\")throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");if(o)throw new TypeError(\"parameter 1 is not of type 'string'.\")}typeof n>\"u\"&&(n={ignoreCase:!1});let l={ignoreCase:n.ignoreCase===!0},f={pathname:O,protocol:O,username:O,password:O,hostname:O,port:O,search:O,hash:O};this.#i=L(f,t,!0),K(this.#i.protocol)===this.#i.port&&(this.#i.port=\"\");let s;for(s of X){if(!(s in this.#i))continue;let i={},c=this.#i[s];switch(this.#t[s]=[],s){case \"protocol\":Object.assign(i,b),i.encodePart=w;break;case \"username\":Object.assign(i,b),i.encodePart=ue;break;case \"password\":Object.assign(i,b),i.encodePart=de;break;case \"hostname\":Object.assign(i,Q),j(c)?i.encodePart=V:i.encodePart=G;break;case \"port\":Object.assign(i,b),i.encodePart=Y;break;case \"pathname\":$(this.#n.protocol)?(Object.assign(i,ee,l),i.encodePart=pe):(Object.assign(i,b,l),i.encodePart=ge);break;case \"search\":Object.assign(i,b,l),i.encodePart=me;break;case \"hash\":Object.assign(i,b,l),i.encodePart=Se;break}try{this.#s[s]=_(c,i),this.#n[s]=z(this.#s[s],this.#t[s],i),this.#e[s]=Ne(this.#s[s],i),this.#l=this.#l||this.#s[s].some(h=>h.type===2);}catch{throw new TypeError(`invalid ${s} pattern '${this.#i[s]}'.`)}}}catch(o){throw new TypeError(`Failed to construct 'URLPattern': ${o.message}`)}}get[Symbol.toStringTag](){return \"URLPattern\"}test(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return false;try{typeof t==\"object\"?n=L(n,t,!1):n=L(n,xe(t,r),!1);}catch{return false}let o;for(o of X)if(!this.#n[o].exec(n[o]))return false;return true}exec(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return;try{typeof t==\"object\"?n=L(n,t,!1):n=L(n,xe(t,r),!1);}catch{return null}let o={};r?o.inputs=[t,r]:o.inputs=[t];let l;for(l of X){let f=this.#n[l].exec(n[l]);if(!f)return null;let s={};for(let[i,c]of this.#t[l].entries())if(typeof c==\"string\"||typeof c==\"number\"){let h=f[i+1];s[c]=h;}o[l]={input:n[l]??\"\",groups:s};}return o}static compareComponent(t,r,n){let o=a((i,c)=>{for(let h of [\"type\",\"modifier\",\"prefix\",\"value\",\"suffix\"]){if(i[h]<c[h])return -1;if(i[h]===c[h])continue;return 1}return 0},\"comparePart\"),l=new P(3,\"\",\"\",\"\",\"\",3),f=new P(0,\"\",\"\",\"\",\"\",3),s=a((i,c)=>{let h=0;for(;h<Math.min(i.length,c.length);++h){let p=o(i[h],c[h]);if(p)return p}return i.length===c.length?0:o(i[h]??l,c[h]??l)},\"comparePartList\");return !r.#e[t]&&!n.#e[t]?0:r.#e[t]&&!n.#e[t]?s(r.#s[t],[f]):!r.#e[t]&&n.#e[t]?s([f],n.#s[t]):s(r.#s[t],n.#s[t])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}};a(M,\"URLPattern\");\n\treturn urlpattern;\n}\n\nvar urlpatternPolyfill;\nvar hasRequiredUrlpatternPolyfill;\n\nfunction requireUrlpatternPolyfill () {\n\tif (hasRequiredUrlpatternPolyfill) return urlpatternPolyfill;\n\thasRequiredUrlpatternPolyfill = 1;\n\tconst { URLPattern } = requireUrlpattern();\n\n\turlpatternPolyfill = { URLPattern };\n\n\tif (!globalThis.URLPattern) {\n\t globalThis.URLPattern = URLPattern;\n\t}\n\treturn urlpatternPolyfill;\n}\n\n/* eslint-env node */\n\nvar urlPattern$1;\nvar hasRequiredUrlPattern;\n\nfunction requireUrlPattern () {\n\tif (hasRequiredUrlPattern) return urlPattern$1;\n\thasRequiredUrlPattern = 1;\n\t// This exists just to re-export urlpattern-polyfill as a module in the codebase\n\turlPattern$1 = requireUrlpatternPolyfill();\n\treturn urlPattern$1;\n}\n\nvar urlPatternExports = requireUrlPattern();\nvar urlPattern = /*@__PURE__*/getDefaultExportFromCjs(urlPatternExports);\n\nexport { urlPattern as default };\n","(function() {\n\t'use strict';\n\n\tif (! (Function.prototype.once instanceof Function)) {\n\t\tconst funcs = new WeakMap();\n\n\t\t/**\n\t\t * @see https://github.com/tc39/proposal-function-once\n\t\t */\n\t\tFunction.prototype.once = function once(thisArg) {\n\t\t\tconst callback = this;\n\t\t\treturn function(...args) {\n\t\t\t\tif (funcs.has(callback)) {\n\t\t\t\t\treturn funcs.get(callback);\n\t\t\t\t} else if (callback.constructor.name === 'AsyncFunction') {\n\t\t\t\t\tconst retVal = callback.apply(thisArg || callback, args).catch(err => {\n\t\t\t\t\t\tfuncs.delete(callback);\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t});\n\n\t\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\t\treturn retVal;\n\t\t\t\t} else if (callback instanceof Function) {\n\t\t\t\t\tconst retVal = callback.apply(thisArg || callback, args);\n\t\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\t\treturn retVal;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t}\n})();\n","import { polyfillMethod } from './utils.js';\nimport URLPattern from './assets/url-pattern.js';\n\nif (! ('URLPattern' in globalThis)) {\n\tglobalThis.URLPattern = URLPattern;\n}\n\npolyfillMethod(URL, 'parse', (url, base) => {\n\ttry {\n\t\treturn new URL(url, base);\n\t} catch {\n\t\treturn null;\n\t}\n});\n\npolyfillMethod(URL, 'canParse', (url, base) => {\n\ttry {\n\t\treturn new URL(url, base) instanceof URL;\n\t} catch {\n\t\treturn false;\n\t}\n});\n","(function() {\n\t'use strict';\n\n\tif (! (Number.range instanceof Function)) {\n\t\t/**\n\t\t * @see https://github.com/tc39/proposal-Number.range\n\t\t * @deprecated - changed to `Iterator.range`\n\t\t */\n\t\tNumber.range = function range(start, end, step = 1) {\n\t\t\tconsole.warn('`Number.range()` is deprecated. Use `Iterator.range()` instead.');\n\t\t\treturn globalThis.Iterator.range(start, end, { step });\n\t\t};\n\t}\n})();\n","/**\n * @see https://github.com/tc39/proposal-iterator-helpers\n */\n\nconst supported = 'Iterator' in globalThis;\n\nconst IteratorPrototype = supported\n\t? Object.getPrototypeOf(globalThis.Iterator)\n\t: Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));\n\nconst Iterator = supported\n\t? globalThis.Iterator\n\t: (proto => {\n\t\tclass Iterator {\n\t\t\t[Symbol.iterator]() {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\n\t\tObject.setPrototypeOf(Iterator, proto);\n\n\t\treturn Iterator;\n\t})(IteratorPrototype);\n\nif (! (Iterator.range instanceof Function)) {\n\tIterator.range = function range(start, end, option) {\n\t\tif (typeof option === 'number' || typeof option === 'bigint') {\n\t\t\treturn Iterator.range(start, end, { step: option });\n\t\t} else if (typeof option !== 'object' || Object.is(option, null)) {\n\t\t\treturn Iterator.range(start, end, {});\n\t\t} else {\n\t\t\tconst {\n\t\t\t\t// Default to +/-, Number/BigInt based on start & end\n\t\t\t\tstep = typeof start === 'number'\n\t\t\t\t\t? start < end ? 1 : -1\n\t\t\t\t\t: start < end ? 1n : -1n,\n\t\t\t\tinclusive = false,\n\t\t\t} = option;\n\n\t\t\tif (typeof start !== 'number' && typeof start !== 'bigint') {\n\t\t\t\tthrow new TypeError('Start must be a number');\n\t\t\t} else if (Number.isNaN(start)) {\n\t\t\t\tthrow new RangeError('Invalid start');\n\t\t\t} else if (typeof end !== 'number' && typeof end !== 'bigint') {\n\t\t\t\tthrow new TypeError('End must be a number');\n\t\t\t} else if (Number.isNaN(end)) {\n\t\t\t\tthrow new RangeError('Invalid end');\n\t\t\t} else if (typeof step !== 'number' && typeof step !== 'bigint') {\n\t\t\t\tthrow new TypeError('Step must be a number');\n\t\t\t} else if (Number.isNaN(step)) {\n\t\t\t\tthrow new RangeError('Invalid step');\n\t\t\t} else if (step === 0) {\n\t\t\t\tthrow new RangeError('Step must not be 0');\n\t\t\t} else if ((step < 0 && start < end) || (step > 0 && start > end)) {\n\t\t\t\treturn;\n\t\t\t} else if (inclusive) {\n\t\t\t\tlet n = start;\n\t\t\t\tif (step > 0) {\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n <= end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n >= end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet n = start;\n\n\t\t\t\tif (step > 0) {\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n < end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tlet n = start;\n\n\t\t\t\t\treturn Iterator.from({\n\t\t\t\t\t\tnext() {\n\t\t\t\t\t\t\tconst ret = n > end ? { value: n, done: false } : { done: true };\n\t\t\t\t\t\t\tn+= step;\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! (IteratorPrototype[Symbol.toStringTag])) {\n\tIteratorPrototype[Symbol.toStringTag] = 'Iterator';\n}\n\nif (! (IteratorPrototype.take instanceof Function)) {\n\tIteratorPrototype.take = function take(limit) {\n\t\tlet n = 0;\n\t\tconst iter = this;\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\tif (n++ >= limit) {\n\t\t\t\t\treturn { done: true };\n\t\t\t\t} else {\n\t\t\t\t\treturn iter.next();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n}\n\nif (! (IteratorPrototype.drop instanceof Function)) {\n\tIteratorPrototype.drop = function drop(limit) {\n\t\tfor (let n = 0; n < limit; n++) {\n\t\t\tconst { done } = this.next();\n\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n}\n\nif (! (IteratorPrototype.toArray instanceof Function)) {\n\tIteratorPrototype.toArray = function toArray() {\n\t\treturn Array.from(this);\n\t};\n}\n\nif (! (IteratorPrototype.forEach instanceof Function)) {\n\tIteratorPrototype.forEach = function forEach(callback) {\n\t\tfor (const item of this) {\n\t\t\tcallback.call(this, item);\n\t\t}\n\t};\n}\n\nif (! (IteratorPrototype.flatMap instanceof Function)) {\n\tIteratorPrototype.flatMap = function flatMap(mapper) {\n\t\tconst iter = this;\n\t\tlet cur = this.next();\n\n\t\tconst getSubIter = ({ value, done = true } = {}) => {\n\t\t\treturn done\n\t\t\t\t? Iterator.from({\n\t\t\t\t\tnext() {\n\t\t\t\t\t\treturn { done: true };\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t: Iterator.from(mapper.call(iter, value));\n\t\t};\n\n\t\tlet sub = getSubIter(cur);\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\tconst { value, done = true } = sub.next();\n\n\t\t\t\tif (cur.done && done) {\n\t\t\t\t\treturn { done: true };\n\t\t\t\t} else if (! done) {\n\t\t\t\t\treturn { value, done };\n\t\t\t\t} else if (! cur.done) {\n\t\t\t\t\tcur = iter.next();\n\t\t\t\t\tsub = getSubIter(cur);\n\t\t\t\t\treturn sub.next();\n\t\t\t\t} else {\n\t\t\t\t\treturn { done: true };\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t};\n}\n\nif (! (IteratorPrototype.map instanceof Function)) {\n\tIteratorPrototype.map = function map(callback) {\n\t\tconst iter = this;\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\tconst { done, value } = iter.next();\n\n\t\t\t\tif (done) {\n\t\t\t\t\treturn { done };\n\t\t\t\t} else {\n\t\t\t\t\treturn { value: callback.call(iter, value), done: false };\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n}\n\nif (! (IteratorPrototype.reduce instanceof Function)) {\n\tIteratorPrototype.reduce = function reduce(callback, initialValue) {\n\t\tlet current = typeof initialValue === 'undefined' ? this.next().value : initialValue;\n\n\t\tfor (const item of this) {\n\t\t\tcurrent = callback.call(this, current, item);\n\t\t}\n\n\t\treturn current;\n\t};\n}\n\nif (! (IteratorPrototype.filter instanceof Function)) {\n\tIteratorPrototype.filter = function filter(callback) {\n\t\tconst iter = this;\n\t\tlet done = false;\n\t\tlet value = undefined;\n\n\t\treturn Iterator.from({\n\t\t\tnext() {\n\t\t\t\twhile (! done) {\n\t\t\t\t\tconst cur = iter.next();\n\t\t\t\t\tdone = cur.done;\n\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (callback.call(iter, cur.value)) {\n\t\t\t\t\t\tvalue = cur.value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn { done, value };\n\t\t\t}\n\t\t});\n\t};\n}\n\nif (! (IteratorPrototype.some instanceof Function)) {\n\tIteratorPrototype.some = function some(callback) {\n\t\tlet retVal = false;\n\t\tfor (const item of this) {\n\t\t\tif (callback.call(this, item)) {\n\t\t\t\tretVal = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn retVal;\n\t};\n}\n\nif (! (IteratorPrototype.every instanceof Function)) {\n\tIteratorPrototype.every = function every(callback) {\n\t\tlet retVal = true;\n\t\tfor (const item of this) {\n\t\t\tif (! callback.call(this, item)) {\n\t\t\t\tretVal = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn retVal;\n\t};\n}\n\nif (! (IteratorPrototype.find instanceof Function)) {\n\tIteratorPrototype.find = function find(callback) {\n\t\tfor (const item of this) {\n\t\t\tif (callback.call(this, item)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! (IteratorPrototype.indexed instanceof Function)) {\n\tIteratorPrototype.indexed = function indexed() {\n\t\tlet n = 0;\n\t\treturn this.map(item => [n++, item]);\n\t};\n}\n\nif (! (IteratorPrototype.chunks instanceof Function)) {\n\tIteratorPrototype.chunks = function(size) {\n\t\tif (! Number.isSafeInteger(size) || size < 1) {\n\t\t\tthrow new TypeError('Size must be a positive integer.');\n\t\t} else {\n\t\t\tconst iter = this;\n\t\t\tlet done = false;\n\n\t\t\treturn Iterator.from({\n\t\t\t\tnext() {\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\treturn { done };\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst items = [];\n\t\t\t\t\t\tlet i = 0;\n\n\t\t\t\t\t\twhile(i++ < size && ! done) {\n\t\t\t\t\t\t\tconst next = iter.next();\n\n\t\t\t\t\t\t\tif (next.done) {\n\t\t\t\t\t\t\t\tdone = true;\n\n\t\t\t\t\t\t\t\tif (typeof next.value !== 'undefined') {\n\t\t\t\t\t\t\t\t\titems.push(next.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titems.push(next.value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn { value: items, done: false };\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n}\n\nif (! (Iterator.from instanceof Function)) {\n\tIterator.from = function from(obj) {\n\t\tif (typeof obj !== 'object' || obj === null) {\n\t\t\tthrow new TypeError('Not an object.');\n\t\t} else if (obj.next instanceof Function) {\n\t\t\tconst iter = Object.create(IteratorPrototype, {\n\t\t\t\t'next': {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\twritable: false,\n\t\t\t\t\tvalue: (...args) => obj.next(...args),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn iter;\n\t\t} else if(obj[Symbol.iterator] instanceof Function) {\n\t\t\treturn Iterator.from(obj[Symbol.iterator]());\n\t\t}\n\t};\n}\n\nif (! supported) {\n\tglobalThis.Iterator = Iterator;\n}\n","if (! Number.hasOwnProperty('isSafeInteger')) {\n\tNumber.MAX_SAFE_INTEGER = 2**53 -1;\n\tNumber.MIN_SAFE_INTEGER = -Number.MAX_SAFE_INTEGER;\n\tNumber.isSafeInteger = num => num <= Number.MAX_SAFE_INTEGER && num >= Number.MIN_SAFE_INTEGER;\n}\n\nif (! Number.hasOwnProperty('EPSILON')) {\n\tNumber.EPSILON = 2**-52;\n}\n\nif (! Math.hasOwnProperty('sign')) {\n\tMath.sign = x => ((x > 0) - (x < 0)) || +x;\n}\n\nif (! Math.hasOwnProperty('trunc')) {\n\tMath.trunc = x => {\n\t\tconst n = x - x%1;\n\t\treturn n===0 && (x<0 || (x===0 && (1/x !== 1/0))) ? -0 : n;\n\t};\n}\n\nif (! Math.hasOwnProperty('expm1')) {\n\tMath.expm1 = x => Math.exp(x) - 1;\n}\n\nif (! Math.hasOwnProperty('hypot')) {\n\tMath.hypot = (...nums) => Math.sqrt(nums.reduce((sum, num) => sum + num**2, 0));\n}\n\nif (! Math.hasOwnProperty('cbrt')) {\n\tMath.cbrt = x => x**(1/3);\n}\n\nif (! Math.hasOwnProperty('log10')) {\n\tMath.log10 = x => Math.log(x) * Math.LOG10E;\n}\n\nif (! Math.hasOwnProperty('log2')) {\n\tMath.log2 = x => Math.log(x) * Math.LOG2E;\n}\n\nif (! Math.hasOwnProperty('log1p')) {\n\tMath.log1p = x => Math.log(1 + x);\n}\n\nif (! Math.hasOwnProperty('fround')) {\n\tMath.fround = (function (array) {\n\t\treturn function(x) {\n\t\t\treturn array[0] = x, array[0];\n\t\t};\n\t})(new Float32Array(1));\n}\n\nif (! (Math.clamp instanceof Function)) {\n\tMath.clamp = function(value, min, max) {\n\t\treturn Math.min(Math.max(value, min), max);\n\t};\n}\n\n/*\n * Question of if it will be `Math.clamp` or `Math.constrain`\n */\nif (! (Math.constrain instanceof Function)) {\n\tMath.constrain = Math.clamp;\n}\n\n/**\n * @see https://github.com/tc39/proposal-math-sum\n */\nif (! (Math.sumPrecise instanceof Function)) {\n\tMath.sumPrecise = function sumPrecise(nums) {\n\t\tlet sum = -0;\n\n\t\tfor (const num of nums) {\n\t\t\tif (! Number.isFinite(num)) {\n\t\t\t\tsum = -0;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tsum += num;\n\t\t\t}\n\t\t}\n\n\t\treturn sum;\n\t};\n}\n\n/**\n * @deprecated\n */\nif(! (Math.sum instanceof Function)) {\n\tMath.sum = function(...nums) {\n\t\tconsole.warn('Math.sum is deprecated. Please use Math.sumPrecise instead.');\n\t\treturn Math.sumPrecise(nums);\n\t};\n}\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(ReadableStream, 'from', function from(anyIterable) {\n\tif (anyIterable[Symbol.iterator] instanceof Function) {\n\t\treturn new ReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\ttry {\n\t\t\t\t\tfor (const chunk of anyIterable) {\n\t\t\t\t\t\tcontroller.enqueue(chunk);\n\t\t\t\t\t}\n\t\t\t\t} catch(err) {\n\t\t\t\t\tcontroller.error(err);\n\t\t\t\t} finally {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else if (anyIterable[Symbol.asyncIterator] instanceof Function) {\n\t\treturn new ReadableStream({\n\t\t\tasync start(controller) {\n\t\t\t\ttry {\n\t\t\t\t\tfor await (const chunk of anyIterable) {\n\t\t\t\t\t\tcontroller.enqueue(chunk);\n\t\t\t\t\t}\n\t\t\t\t} catch(err) {\n\t\t\t\t\tcontroller.error(err);\n\t\t\t\t} finally {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tthrow new TypeError('`ReadableStream.from()` requires an iterable source.');\n\t}\n});\n","(function() {\n\t'use strict';\n\n\tif (! ('isSecureContext' in globalThis)) {\n\t\tconst hostnames = ['localhost', '127.0.0.1'];\n\t\tconst HTTPS = 'https:';\n\t\tconst protocols = [HTTPS, 'file:', 'wss:'];\n\t\tconst hasSecureScripts = (document = globalThis.document) => {\n\t\t\treturn [...document.scripts].every(({ src }) => {\n\t\t\t\tif (src.length === 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tconst { protocol, hostname } = new URL(src, document.baseURI);\n\t\t\t\t\treturn protocol === HTTPS || hostname === location.hostname;\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\tObject.defineProperty(globalThis, 'isSecureContext', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: function isSecureContext() {\n\t\t\t\tif (window.parent !== window) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else if (protocols.includes(location.protocol) || hostnames.includes(location.hostname)) {\n\t\t\t\t\treturn hasSecureScripts();\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n})();\n","const funcs = new WeakMap();\n\nexport const between = (min, val, max) => typeof val === 'number' && val >= min && val <= max;\n\nexport function getDeferred() {\n\tif (Promise.withResolvers instanceof Function) {\n\t\treturn Promise.withResolvers();\n\t} else {\n\t\tconst def = {};\n\t\tdef.promise = new Promise((resolve, reject) => {\n\t\t\tdef.resolve = resolve;\n\t\t\tdef.reject = reject;\n\t\t});\n\n\t\treturn def;\n\t}\n}\n\nexport function isAsyncFunction(what) {\n\treturn what instanceof Function && what.constructor.name === 'AsyncFunction';\n}\n\nexport function isAsync(what) {\n\treturn isAsyncFunction(what) || what instanceof Promise;\n}\n\nexport function isObject(thing) {\n\treturn typeof thing === 'object' && ! Object.is(thing, null) && ! Array.isArray(thing);\n}\n\nexport function getType(thing) {\n\tswitch (typeof thing) {\n\t\tcase 'undefined':\n\t\t\treturn 'Undefined';\n\n\t\tcase 'function':\n\t\t\tif ('prototype' in thing) {\n\t\t\t\treturn getType(thing.prototype);\n\t\t\t} else if ('constructor' in thing) {\n\t\t\t\treturn thing.constructor.name;\n\t\t\t} else {\n\t\t\t\treturn 'Function';\n\t\t\t}\n\n\t\tcase 'object':\n\t\t\tif (Object.is(thing, null)) {\n\t\t\t\treturn 'Null';\n\t\t\t} else if ('constructor' in thing) {\n\t\t\t\treturn thing.constructor.name;\n\t\t\t} else if (Symbol.toStringTag in thing) {\n\t\t\t\treturn thing[Symbol.toStringTag];\n\t\t\t} else if ('prototype' in thing) {\n\t\t\t\treturn getType(thing.prototype);\n\t\t\t} else {\n\t\t\t\tconsole.log(thing);\n\t\t\t\treturn 'Unknown Object';\n\t\t\t}\n\n\t\tcase 'string':\n\t\t\treturn 'String';\n\n\t\tcase 'number':\n\t\t\treturn Number.isNaN(thing) ? 'NaN' : 'Number';\n\n\t\tcase 'bigint':\n\t\t\treturn 'BigInt';\n\n\t\tcase 'boolean':\n\t\t\treturn 'Boolean';\n\n\t\tcase 'symbol':\n\t\t\treturn 'Symbol';\n\n\t\tdefault:\n\t\t\treturn 'Unknown';\n\t}\n}\n\nexport function callOnce(callback, thisArg) {\n\tif (callback.once instanceof Function) {\n\t\treturn callback.once(thisArg);\n\t} else {\n\t\treturn function(...args) {\n\t\t\tif (funcs.has(callback)) {\n\t\t\t\treturn funcs.get(callback);\n\t\t\t} else if (isAsyncFunction(callback)) {\n\t\t\t\tconst retVal = callback.apply(thisArg || this, args).catch(err => {\n\t\t\t\t\tfuncs.delete(callback);\n\t\t\t\t\tthrow err;\n\t\t\t\t});\n\n\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\treturn retVal;\n\t\t\t} else if (callback instanceof Function) {\n\t\t\t\tconst retVal = callback.apply(thisArg || this, args);\n\t\t\t\tfuncs.set(callback, retVal);\n\t\t\t\treturn retVal;\n\t\t\t}\n\t\t};\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Lock\n */\nconst protectedData = new WeakMap();\n\nexport class Lock {\n\tconstructor(name, mode = 'exclusive') {\n\t\tif (! ['exclusive', 'shared'].includes(mode)) {\n\t\t\tthrow new TypeError(`'${mode}' (value of 'mode' member of LockOptions) is not a valid value for enumeration LockMode.`);\n\t\t}\n\n\t\tif (typeof name !== 'string') {\n\t\t\tname = name.toString();\n\t\t}\n\n\t\tif (name.startsWith('-')) {\n\t\t\tthrow new DOMException('Names starting with `-` are reserved');\n\t\t}\n\n\t\tprotectedData.set(this, { name, mode });\n\t}\n\n\tget name() {\n\t\treturn protectedData.get(this).name;\n\t}\n\n\tget mode() {\n\t\treturn protectedData.get(this).mode;\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n */\nimport { getDeferred, isAsync } from './utility.js';\nimport { Lock } from './Lock.js';\nconst locks = new Map();\nconst symbols = {\n\tlockKey: Symbol('lock-key'),\n};\n\nexport const nativeSupport = 'locks' in navigator && navigator.locks.request instanceof Function;\nexport async function checkSupport() {\n\treturn await new Promise(resolve => {\n\t\tif ('locks' in navigator && navigator.locks.request instanceof Function) {\n\t\t\tnavigator.locks.query().then(() => resolve(true)).catch(() => resolve(false));\n\t\t} else {\n\t\t\tresolve(false);\n\t\t}\n\t});\n}\n/**\n * Some browsing contexts (iframes) have `navigator.locks` but methods only throw\n */\nexport const actuallySupported = checkSupport();\n\nasync function callFunction(callback, arg = null) {\n\treturn new Promise((resolve, reject) => {\n\t\tif (isAsync(callback)) {\n\t\t\tcallback.call(globalThis, arg).then(resolve, reject);\n\t\t} else {\n\t\t\tqueueMicrotask(() => {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = callback.call(globalThis, arg);\n\t\t\t\t\tresolve(result);\n\t\t\t\t} catch(err) {\n\t\t\t\t\treject(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction shouldPend({ name, mode }) {\n\tswitch(mode) {\n\t\tcase 'exclusive': return getLocks().some(lock => lock.name === name);\n\t\tcase 'shared': return getLocks().some(lock => lock.name === name && lock.mode === 'exclusive');\n\t}\n}\n\nfunction stealLocks(name) {\n\t[...locks.entries()].filter(([lock]) => lock.name === name).forEach(([lock, { reject, controller }]) => {\n\t\trequestIdleCallback(() => {\n\t\t\tcontroller.abort();\n\t\t\tlocks.delete(lock);\n\t\t});\n\t\treject(new DOMException('The lock request is aborted'));\n\t});\n}\n\nasync function whenReleased(lock) {\n\tif (locks.has(lock)) {\n\t\tawait locks.get(lock).promise.catch(console.error);\n\t}\n}\n\nfunction queueTask(name, mode, callback) {\n\tconst { resolve, reject, promise } = getDeferred();\n\tconst controller = new AbortController();\n\tconst lock = new Lock(name, mode);\n\tconst pending = shouldPend(lock);\n\tlocks.set(lock, { resolve, reject, promise, callback, pending, controller });\n\treturn lock;\n}\n\nfunction setPending(lock, pending = true) {\n\tif (locks.has(lock)) {\n\t\tlocks.set(lock, {...locks.get(lock), pending });\n\t}\n}\n\nfunction isPending(lock) {\n\treturn lock instanceof Lock && locks.has(lock) && locks.get(lock).pending;\n}\n\nfunction getLocks(name) {\n\tif (typeof name === 'string') {\n\t\treturn [...locks.keys()].filter(lock => lock.name === name);\n\t} else {\n\t\treturn [...locks.keys()];\n\t}\n}\n\nfunction getHeldLocks(name) {\n\treturn getLocks(name).filter(lock => ! isPending(lock));\n}\n\nfunction getPendingLocks(name) {\n\treturn getLocks(name).filter(lock => isPending(lock));\n}\n\nasync function whenNotBlocked(lock) {\n\tswitch(lock.mode) {\n\t\tcase 'exclusive':\n\t\t\tawait Promise.allSettled(getLocks()\n\t\t\t\t.filter(l => l.name === lock.name && l !== lock).map(whenReleased));\n\t\t\tbreak;\n\t\tcase 'shared':\n\t\t\tawait Promise.allSettled(getLocks()\n\t\t\t\t.filter(l => l.name === lock.name && l.mode === 'exclusive' && l !== lock).map(whenReleased));\n\t\t\tbreak;\n\t}\n}\n\nfunction getLockSignal(lock) {\n\tif (locks.has(lock)) {\n\t\treturn locks.get(lock).controller.signal;\n\t}\n}\n\nasync function executeLock(lock) {\n\tif (locks.has(lock)) {\n\t\tconst { resolve, reject, promise, callback, pending, controller } = locks.get(lock);\n\t\tif (pending) {\n\t\t\tsetPending(lock, false);\n\t\t}\n\n\t\tcallFunction(callback, lock).then(resolve, reject).finally(() => {\n\t\t\tlocks.delete(lock);\n\t\t\trequestIdleCallback(() => controller.abort());\n\t\t});\n\n\t\treturn promise;\n\t}\n}\n\n/**\n * @see https://w3c.github.io/web-locks/\n * @see https://developer.mozilla.org/en-US/docs/Web/API/LockManager\n */\nexport class LockManager {\n\tconstructor(key) {\n\t\tif (key !== symbols.lockKey) {\n\t\t\tthrow new TypeError('Invalid constructor');\n\t\t}\n\t}\n\t/**\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request\n\t * @param {[type]} name [description]\n\t * @param {[type]} args [description]\n\t * @return {Promise} [description]\n\t * static async request(name, callback)\n\t * static async request(name, { mode = 'exclusive', ifAvailable = false, steal = false, signal }, callback)\n\t */\n\tstatic async request(name, ...args) {\n\t\tlet opts = {}, callback;\n\t\tif (args[0] instanceof Function) {\n\t\t\tcallback = args[0];\n\t\t} else if (args[1] instanceof Function) {\n\t\t\t[opts, callback] = args;\n\t\t}\n\n\t\tif (typeof name !== 'string') {\n\t\t\tname = name.toString();\n\t\t}\n\n\t\tconst { mode = 'exclusive', ifAvailable = false, steal = false, signal } = opts;\n\n\t\tif (steal && ifAvailable) {\n\t\t\tthrow new DOMException('LockManager.request: `steal` and `ifAvailable` cannot be used together');\n\t\t} else if (name.startsWith('-')) {\n\t\t\tthrow new DOMException('LockManager.request: Names starting with `-` are reserved');\n\t\t} else if (! ['exclusive', 'shared'].includes(mode)) {\n\t\t\tthrow new TypeError(`LockManager.request: '${mode}' (value of 'mode' member of LockOptions) is not a valid value for enumeration LockMode.`);\n\t\t} else if (signal instanceof AbortSignal && signal.aborted) {\n\t\t\tthrow signal.reason;\n\t\t} else if (mode === 'shared' && steal) {\n\t\t\tthrow new DOMException('LockManager.request: `steal` is only supported for exclusive lock requests');\n\t\t}\n\n\t\tconst held = getHeldLocks(name);\n\t\tconst pending = getPendingLocks(name);\n\t\tconst alreadyLocked = [...held, ...pending].some(lock => lock.name === name);\n\n\t\tif (steal && alreadyLocked) {\n\t\t\tstealLocks(name);\n\t\t}\n\n\t\t/**\n\t\t * If shared & held lock found (none exclusive), then this lock may be held as well\n\t\t * If exclusive & held or pending lock found, this is pending\n\t\t */\n\t\tconst lock = queueTask(name, mode, callback);\n\t\tif (signal instanceof AbortSignal) {\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\tif (locks.has(lock)) {\n\t\t\t\t\tconst { reject, controller } = locks.get(lock);\n\t\t\t\t\tlocks.delete(lock);\n\t\t\t\t\treject(new DOMException('The lock request is aborted'));\n\t\t\t\t\tcontroller.abort();\n\t\t\t\t}\n\t\t\t}, { once: true, signal: getLockSignal(lock) });\n\t\t}\n\n\t\tswitch(mode) {\n\t\t\tcase 'exclusive': {\n\t\t\t\tif (ifAvailable && (held.length !== 0 || pending.length !== 0)) {\n\t\t\t\t\tconst controller = locks.get(lock).controller;\n\t\t\t\t\tlocks.delete(lock);\n\t\t\t\t\treturn await callFunction(callback, null).then(result => {\n\t\t\t\t\t\trequestIdleCallback(() => controller.abort());\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tawait whenNotBlocked(lock);\n\t\t\t\t\treturn await executeLock(lock);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcase 'shared': {\n\t\t\t\tif (! ifAvailable) {\n\t\t\t\t\tawait whenNotBlocked(lock);\n\t\t\t\t\treturn await executeLock(lock);\n\t\t\t\t} else if ([...held, ...pending].some(lock => lock.mode === 'exclusive')) {\n\t\t\t\t\tconst controller = locks.get(lock).controller;\n\t\t\t\t\tlocks.delete(lock);\n\t\t\t\t\treturn await callFunction(callback, null).then(result => {\n\t\t\t\t\t\trequestIdleCallback(() => controller.abort());\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tawait whenNotBlocked(lock);\n\t\t\t\t\treturn await executeLock(lock);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tthrow new TypeError(`LockManager.request: '${mode}' (value of 'mode' member of LockOptions) is not a valid value for enumeration LockMode.`);\n\t\t}\n\t}\n\n\t/**\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/LockManager/query\n\t * @return {Promise} { held: [], pending: [] }\n\t */\n\tstatic async query() {\n\t\treturn {\n\t\t\theld: getHeldLocks().map(({ name, mode }) => ({ name, mode, clientId: null })),\n\t\t\tpending: getPendingLocks().map(({ name, mode }) => ({ name, mode, clientId: null })),\n\t\t};\n\t}\n}\n\nexport async function request(...args) {\n\tif (await actuallySupported) {\n\t\treturn navigator.locks.request(...args);\n\t} else {\n\t\treturn LockManager.request(...args);\n\t}\n}\n\nexport async function query() {\n\tif (await actuallySupported) {\n\t\treturn navigator.locks.query();\n\t} else {\n\t\treturn LockManager.query();\n\t}\n}\n\nexport async function polyfill() {\n\tif (! nativeSupport) {\n\t\tglobalThis.Lock = Lock;\n\t\tglobalThis.LockManager = LockManager;\n\t\tnavigator.locks = LockManager;\n\t} else if (! await actuallySupported) {\n\t\tnavigator.locks.request = (...args) => LockManager.request(...args);\n\t\tnavigator.locks.query = () => LockManager.query();\n\t}\n}\n","export function errorToEvent(error, type = 'error') {\n\tif (error instanceof Error) {\n\t\tconst { message, name, fileName: filename, lineNumber: lineno, columnNumber: colno } = error;\n\t\treturn new ErrorEvent(type, { error, message: `${name}: ${message}`, filename, lineno, colno });\n\t} else {\n\t\tthrow new TypeError('`errorToEvent()` only accepts Errors');\n\t}\n}\n","import { LockManager, actuallySupported, nativeSupport } from './assets/LockManager.js';\nimport { errorToEvent } from './assets/error.js';\nlet polyfilled = false;\n\nconst polyfilledPromise = new Promise(async resolve => {\n\tif (nativeSupport) {\n\t\tif (await actuallySupported) {\n\t\t\tresolve(false);\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tnavigator.locks.request = LockManager.request;\n\t\t\t\tnavigator.locks.query = LockManager.query;\n\t\t\t\tpolyfilled = true;\n\t\t\t\tresolve(true);\n\t\t\t} catch(err) {\n\t\t\t\tglobalThis.dispatchEvent(errorToEvent(err));\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tnavigator.locks = LockManager;\n\t\t\tpolyfilled = true;\n\t\t\tresolve(true);\n\t\t} catch(err) {\n\t\t\tglobalThis.dispatchEvent(errorToEvent(err));\n\t\t\tresolve(false);\n\t\t}\n\t}\n});\n\n\nexport { polyfilled, polyfilledPromise };\n","'use strict';\n\nif (! ('AbortSignal' in globalThis)) {\n\tconst symbols = {\n\t\tsignal: Symbol('signal'),\n\t\taborted: Symbol('aborted'),\n\t\treason: Symbol('reason'),\n\t\tonabort: Symbol('onabort'),\n\t};\n\n\tglobalThis.AbortError = class AbortError extends Error {};\n\n\tglobalThis.AbortSignal = class AbortSignal extends EventTarget {\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tObject.defineProperties(this,{\n\t\t\t\t[symbols.aborted]: {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: false,\n\t\t\t\t},\n\t\t\t\t[symbols.reason]: {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t},\n\t\t\t\t[symbols.onabort]: {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: null,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.addEventListener('abort', event => {\n\t\t\t\tif (this.onabort instanceof Function) {\n\t\t\t\t\tthis.onabort.call(this, event);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tget aborted() {\n\t\t\treturn this[symbols.aborted];\n\t\t}\n\n\t\tget onabort() {\n\t\t\treturn this[symbols.onabort];\n\t\t}\n\n\t\tset onabort(value) {\n\t\t\tif (value instanceof Function) {\n\t\t\t\tthis[symbols.onabort] = value;\n\t\t\t} else {\n\t\t\t\tthis[symbols.onabort] = null;\n\t\t\t}\n\t\t}\n\n\t\tget reason() {\n\t\t\treturn this[symbols.reason];\n\t\t}\n\n\t\tthrowIfAborted() {\n\t\t\tif (this.aborted) {\n\t\t\t\tthrow this.reason;\n\t\t\t}\n\t\t}\n\n\t\tstatic abort(reason = new DOMException('Operation aborted')) {\n\t\t\tconst signal = new AbortSignal();\n\t\t\tsignal[symbols.aborted] = true;\n\t\t\tsignal[symbols.reason] = reason;\n\t\t\treturn signal;\n\t\t}\n\t};\n\n\tglobalThis.AbortController = class AbortController {\n\t\tconstructor() {\n\t\t\tthis[symbols.signal] = new AbortSignal();\n\t\t}\n\n\t\tget signal() {\n\t\t\treturn this[symbols.signal];\n\t\t}\n\n\t\tabort(reason = new DOMException('Operation aborted')) {\n\t\t\tconst signal = this.signal;\n\n\t\t\tif (! signal.aborted) {\n\t\t\t\tsignal[symbols.aborted] = true;\n\t\t\t\tsignal[symbols.reason] = reason;\n\t\t\t\tsignal.dispatchEvent(new Event('abort'));\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! ('reason' in AbortSignal.prototype)) {\n\tconst reasons = new WeakMap();\n\tconst abort = AbortController.prototype.abort;\n\n\tif (AbortSignal.abort instanceof Function) {\n\t\tconst staticAbort = AbortSignal.abort;\n\n\t\tAbortSignal.abort = function(reason = new DOMException('Operation aborted')) {\n\t\t\tconst signal = staticAbort();\n\t\t\treasons.set(signal, reason);\n\t\t\treturn signal;\n\t\t};\n\t} else {\n\t\tAbortSignal.abort = function abort(reason = new DOMException('Operation aborted')) {\n\t\t\tconst controller = new AbortController();\n\t\t\tcontroller.abort(reason);\n\t\t\treturn controller.reason;\n\t\t};\n\t}\n\n\tObject.defineProperty(AbortSignal.prototype, 'reason', {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\tget: function() {\n\t\t\tif (reasons.has(this)) {\n\t\t\t\treturn reasons.get(this);\n\t\t\t} else {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\t});\n\n\tAbortController.prototype.abort = function(reason = new DOMException('Operation aborted')) {\n\t\treasons.set(this.signal, reason);\n\t\tabort.call(this);\n\t};\n}\n\nif (! (AbortSignal.prototype.throwIfAborted instanceof Function)) {\n\tAbortSignal.prototype.throwIfAborted = function() {\n\t\tif (this.aborted) {\n\t\t\tthrow this.reason;\n\t\t}\n\t};\n}\n\nif (! (AbortSignal.timeout instanceof Function)) {\n\tAbortSignal.timeout = function(ms) {\n\t\tif (typeof ms === 'undefined') {\n\t\t\tthrow new TypeError('At least one 1 argument required but only 0 passed');\n\t\t} else if (! Number.isFinite(ms)) {\n\t\t\tthrow new TypeError('Argument 1 is not a finite value, so it is out of range for unsigned long long.');\n\t\t} else if (ms < 0) {\n\t\t\tthrow new TypeError('Argument 1 is out of range for unsigned long long.');\n\t\t} else {\n\t\t\tconst controller = new AbortController();\n\t\t\tsetTimeout(() => controller.abort(new DOMException('The operation timed out.')), ms);\n\t\t\treturn controller.signal;\n\t\t}\n\t};\n}\n\n/**\n * @see https://chromestatus.com/feature/5202879349522432\n * @TODO How do I handle if a signal is already aborted\n * @TODO Should controller abort on a TypeError\n */\nif (! (AbortSignal.any instanceof Function)) {\n\tAbortSignal.any = function(signals) {\n\t\tif (! Array.isArray(signals)) {\n\t\t\tthrow new TypeError('Expected an array of signals');\n\t\t}\n\n\t\tconst controller = new AbortController();\n\n\t\tfor (const signal of signals) {\n\t\t\tif (! (signal instanceof AbortSignal)) {\n\t\t\t\tconst err = new TypeError('`signal` is not an `AbortSignal`');\n\t\t\t\tcontroller.abort(err);\n\t\t\t\tthrow err;\n\t\t\t} else if (signal.aborted) {\n\t\t\t\tcontroller.abort(signal.reason || new DOMException('Operation aborted.'));\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\t\tcontroller.abort(target.reason || new DOMException('Operation aborted.'));\n\t\t\t\t}, { signal: controller.signal });\n\t\t\t}\n\t\t}\n\n\t\treturn controller.signal;\n\t};\n}\n","(function() {\n\t'use strict';\n\n\tif (! (navigator.canShare instanceof Function)) {\n\t\tnavigator.canShare = function({ title, text, url, files } = {}) {\n\t\t\tif (! (navigator.share instanceof Function)) {\n\t\t\t\treturn false;\n\t\t\t} else if (Array.isArray(files) && files.length !== 0) {\n\t\t\t\treturn false;\n\t\t\t} else if ([title, text, url].every(arg => typeof arg === 'undefined')) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn [title, text, url].some(arg => typeof arg === 'string' && arg.length !== 0);\n\t\t\t}\n\t\t};\n\t}\n})();\n","(function() {\n\t'use strict';\n\n\tif (! (navigator.setAppBadge instanceof Function)) {\n\t\tnavigator.setAppBadge = async (n) => {\n\t\t\tif (! Number.isInteger(n)) {\n\t\t\t\tthrow new TypeError('Failed to execute \\'setAppBadge\\' on \\'Navigator\\': Value is not of type \\'unsigned long long\\'');\n\t\t\t} else if (n < 0) {\n\t\t\t\tthrow new TypeError('Failed to execute \\'setAppBadge\\' on \\'Navigator\\': Value is outside the \\'unsigned long long\\' value range.');\n\t\t\t} else if (n === 0) {\n\t\t\t\tif (document.title.startsWith('(')) {\n\t\t\t\t\tdocument.title = document.title.replace(/^\\((\\d{1,2}\\+?)\\)\\s/, '');\n\t\t\t\t}\n\t\t\t} else if (n < 100) {\n\t\t\t\tawait navigator.clearAppBadge();\n\t\t\t\tdocument.title = `(${n}) ${document.title}`;\n\t\t\t} else {\n\t\t\t\tawait navigator.clearAppBadge();\n\t\t\t\tdocument.title = `(99+) ${document.title}`;\n\t\t\t}\n\t\t};\n\t}\n\n\tif (! (navigator.clearAppBadge instanceof Function)) {\n\t\tnavigator.clearAppBadge = () => navigator.setAppBadge(0);\n\t}\n})();\n","import './locks.js';\nimport './share.js';\nimport './appBadge.js';\n\nif (! Navigator.prototype.hasOwnProperty('pdfViewerEnabled')) {\n\tObject.defineProperty(navigator, 'pdfViewerEnabled', {\n\t\tenumerable: true,\n\t\tconfigurable: false,\n\t\twritable: false,\n\t\tvalue: false,\n\t});\n}\n\nif (! (Navigator.prototype.getInstalledRelatedApps instanceof Function)) {\n\tNavigator.prototype.getInstalledRelatedApps = async () => [];\n}\n\nif (! (Navigator.prototype.getGamepads instanceof Function)) {\n\tNavigator.prototype.getGamepads = () => [];\n}\n\nif (! ('hardwareConcurrency' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'hardwareConcurrency', {\n\t\tget: () => 1,\n\t});\n}\n\nif (! ('connection' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'connection', {\n\t\tget: () => Object.create(EventTarget.prototype, {\n\t\t\ttype: { value: 'unknown' },\n\t\t\teffectiveType: { value: '4g' },\n\t\t\trtt: { value: NaN },\n\t\t\tdownlink: { value: NaN },\n\t\t\tdownlinkMax: { value: Infinity },\n\t\t\tsaveData: { value: false },\n\t\t\tonchange: { value: null, writable: true },\n\t\t\tontypechange: { value: null, writable: true },\n\t\t})\n\t});\n} else if (! ('type' in navigator.connection)) {\n\tnavigator.connection.type = 'unknown';\n}\n\nif (! ('doNotTrack' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'doNotTrack', {\n\t\tget: () => 'unspecified',\n\t});\n}\n\nif (! ('globalPrivacyControl' in Navigator.prototype)) {\n\tObject.defineProperty(Navigator.prototype, 'globalPrivacyControl', {\n\t\tget: () => false,\n\t});\n}\n","(function() {\n\t'use strict';\n\n\tif (! (globalThis.requestIdleCallback instanceof Function)) {\n\t\tconst isValidTimeout = timeout => Number.isSafeInteger(timeout) && timeout > 0;\n\n\t\tglobalThis.requestIdleCallback = function(callback, { timeout } = {}) {\n\t\t\tconst start = performance.now();\n\t\t\tconst timeRemaining = () => isValidTimeout(timeout)\n\t\t\t\t? Math.max(0, timeout - (performance.now() - start))\n\t\t\t\t: Math.max(0, 600 - (performance.now() - start));\n\n\t\t\treturn setTimeout(() => callback({\n\t\t\t\tdidTimeout: isValidTimeout(timeout) ? timeRemaining() === 0 : false,\n\t\t\t\ttimeRemaining,\n\t\t\t}), 1);\n\t\t};\n\t}\n\n\tif (! (globalThis.cancelIdleCallback instanceof Function)) {\n\t\tglobalThis.cancelIdleCallback = id => clearTimeout(id);\n\t}\n\n\tif (! (globalThis.requestAnimationFrame instanceof Function)) {\n\t\tglobalThis.requestAnimationFrame = callback => setTimeout(() => callback(performance.now()), 1000 / 60);\n\t}\n\n\tif (! (globalThis.cancelAnimationFrame instanceof Function)) {\n\t\tglobalThis.cancelAnimationFrame = id => clearTimeout(id);\n\t}\n\n\tif (! (globalThis.queueMicrotask instanceof Function)) {\n\t\tglobalThis.queueMicrotask = cb => Promise.resolve().then(cb)\n\t\t\t.catch(e => setTimeout(() => { throw e; }));\n\t}\n})();\n","import { errorToEvent } from './assets/error.js';\n\nif (! globalThis.hasOwnProperty('AggregateError')) {\n\tglobalThis.AggregateError = class AggregateError extends Error {\n\t\tconstructor(errors, message) {\n\t\t\tif (typeof message === 'undefined') {\n\t\t\t\tsuper(errors);\n\t\t\t\tthis.errors = [];\n\t\t\t} else {\n\t\t\t\tsuper(message);\n\t\t\t\tthis.errors = errors;\n\t\t\t}\n\t\t}\n\t};\n}\n\nif (! (globalThis.reportError instanceof Function)) {\n\tglobalThis.reportError = function reportError(error) {\n\t\tglobalThis.dispatchEvent(errorToEvent(error));\n\t};\n}\n\n\nif (! (Error.isError instanceof Function)) {\n\t// @see https://github.com/tc39/proposal-is-error/blob/main/polyfill.js\n\tconst toStr = Function.bind.call(Function.call, Object.prototype.toString);\n\n\tError.isError = function isError(arg) {\n\t\treturn arg instanceof Error || (typeof arg === 'object' && toStr(arg) === '[object Error]' && arg[Symbol.toStringTag] === undefined);\n\t};\n}\n","(function() {\n\t'use strict';\n\n\tif (! ('MediaQueryListEvent' in globalThis)) {\n\t\t/**\n\t\t * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryListEvent\n\t\t */\n\t\tglobalThis.MediaQueryListEvent = class MediaQueryListEvent extends Event {\n\t\t\tconstructor(type, { media, matches } = {}) {\n\t\t\t\tsuper(type);\n\t\t\t\tObject.defineProperties(this, {\n\t\t\t\t\t'media': {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: false,\n\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\tvalue: media,\n\t\t\t\t\t},\n\t\t\t\t\t'matches': {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: false,\n\t\t\t\t\t\twritable: false,\n\t\t\t\t\t\tvalue: matches,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\n\tif ('MediaQueryList' in globalThis && ! (globalThis.MediaQueryList.prototype.addEventListener instanceof Function)) {\n\t\tconst targets = new WeakMap();\n\n\t\tconst listener = function listener() {\n\t\t\tconst { media, matches } = this;\n\t\t\tthis.dispatchEvent(new MediaQueryListEvent('change', { media, matches }));\n\t\t};\n\n\t\tconst init = function init(mql) {\n\t\t\tif (! targets.has(mql)) {\n\t\t\t\ttargets.set(mql, new EventTarget());\n\t\t\t\tmql.addListener(listener.bind(mql));\n\t\t\t}\n\n\t\t\treturn targets.get(mql);\n\t\t};\n\n\t\tglobalThis.MediaQueryList.prototype.addEventListener = function addEventListener(type, callback, opts) {\n\t\t\tinit(this).addEventListener(type, callback, opts);\n\t\t};\n\n\t\tglobalThis.MediaQueryList.prototype.removeEventListener = function removeEventListner(type, callback, opts) {\n\t\t\tinit(this).removeEventListener(type, callback, opts);\n\t\t};\n\n\t\tglobalThis.MediaQueryList.prototype.dispatchEvent = function dispatchEvent(event) {\n\t\t\tinit(this).dispatchEvent(event);\n\t\t};\n\t}\n})();\n","if ('Promise' in globalThis) {\n\tif (! (Promise.prototype.finally instanceof Function)) {\n\t\tPromise.prototype.finally = function(callback) {\n\t\t\treturn this.then(async val => {\n\t\t\t\tawait callback();\n\t\t\t\treturn val;\n\t\t\t}, async val => {\n\t\t\t\tawait callback();\n\t\t\t\treturn val;\n\t\t\t});\n\t\t};\n\t}\n\n\tif (! (Promise.allSettled instanceof Function)) {\n\t\tPromise.allSettled = function(promises) {\n\t\t\treturn Promise.all(Array.from(promises).map(function(call) {\n\t\t\t\treturn new Promise(function(resolve) {\n\t\t\t\t\tif (! (call instanceof Promise)) {\n\t\t\t\t\t\tcall = Promise.resolve(call);\n\t\t\t\t\t}\n\t\t\t\t\tcall.then(function(value) {\n\t\t\t\t\t\tresolve({ status: 'fulfilled', value: value });\n\t\t\t\t\t}).catch(function(reason) {\n\t\t\t\t\t\tresolve({ status: 'rejected', reason: reason });\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}));\n\t\t};\n\t}\n\n\tif (! (Promise.any instanceof Function)) {\n\t\tPromise.any = (promises) => new Promise((resolve, reject) => {\n\t\t\tlet errors = [];\n\n\t\t\tpromises.forEach(promise => {\n\t\t\t\tpromise.then(resolve).catch(e => {\n\t\t\t\t\terrors.push(e);\n\t\t\t\t\tif (errors.length === promises.length) {\n\t\t\t\t\t\treject(new globalThis.AggregateError(errors, 'No Promise in Promise.any was resolved'));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tif (! (Promise.race instanceof Function)) {\n\t\tPromise.race = (promises) => new Promise((resolve, reject) => {\n\t\t\tpromises.forEach(promise => promise.then(resolve, reject));\n\t\t});\n\t}\n\n\tif (! (Promise.try instanceof Function)) {\n\t\t/**\n\t\t * @see https://github.com/tc39/proposal-promise-try\n\t\t */\n\t\tPromise.try = (callback, ...args) => new Promise(resolve => resolve(callback(...args)));\n\t}\n\n\tif (! (Promise.withResolvers instanceof Function)) {\n\t\tPromise.withResolvers = function() {\n\t\t\tconst def = {};\n\t\t\tdef.promise = new Promise((resolve, reject) => {\n\t\t\t\tdef.resolve = resolve;\n\t\t\t\tdef.reject = reject;\n\t\t\t});\n\n\t\t\treturn def;\n\t\t};\n\t}\n\n\tif (! (Promise.fromEntries instanceof Function)) {\n\t\tPromise.fromEntries = async function fromEntries(entries) {\n\t\t\tconst keys = [];\n\t\t\tconst values = [];\n\n\t\t\tfor (const [key, value] of entries) {\n\t\t\t\tkeys.push(key);\n\t\t\t\tvalues.push(value);\n\t\t\t}\n\n\t\t\treturn await Promise.all(values)\n\t\t\t\t.then(values => Object.fromEntries(values.map((value, i) => [keys[i], value])));\n\t\t};\n\t}\n\n\tif (!(Promise.ownProperties instanceof Function)) {\n\t\tPromise.ownProperties = async function ownProperties(obj) {\n\t\t\treturn await Promise.fromEntries(Object.entries(obj));\n\t\t};\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n */\nexport class TextEncoder {\n\tget encoding() {\n\t\treturn 'utf-8';\n\t}\n\n\tencode(str) {\n\t\t// Identical to char up to 127, then [194, (n)] for n=(128-191),\n\t\t// then [194, (128-191)] for n=(192-255)\n\t\t// and it looks like this holds in intervals of 64\n\t\treturn new Uint8Array(str.split('').flatMap(char => {\n\t\t\tconst code = char.charCodeAt(0);\n\n\t\t\tif (code < 128) {\n\t\t\t\treturn [code];\n\t\t\t} else {\n\t\t\t\tconst pt = 194 + Math.floor((code - 128) / 64);\n\t\t\t\treturn [pt, (code % 64) + 128];\n\t\t\t}\n\t\t}));\n\t}\n\n\tencodeInto(str, ui8arr) {\n\t\tif (! (ui8arr instanceof Uint8Array)) {\n\t\t\tthrow new TypeError('TextEncoder.encodeInto: Argument 2 does not implement interface Uint8Array.');\n\t\t} else {\n\t\t\tconst encoded = this.encode(str);\n\t\t\tconst len = Math.min(ui8arr.length, encoded.length);\n\n\t\t\tif (encoded.length > ui8arr.length) {\n\t\t\t\tui8arr.set(encoded.slice(0, len));\n\t\t\t} else {\n\t\t\t\tui8arr.set(encoded);\n\t\t\t}\n\n\t\t\treturn { read: len, written: len };\n\t\t}\n\t}\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n */\nimport { between } from './utility.js';\n/**\n *\n * Array of supported encodings\n * @Todo: At least add utf-16\n * @type {Array}\n */\nconst supportedEncodings = ['utf-8', 'utf8'];\n\nexport const BOM = new Uint8Array([0xEF, 0xBB, 0xBF]);\n\nexport class TextDecoder {\n\tconstructor(encoding = 'utf-8', { fatal = false, ignoreBOM = false } = {}) {\n\t\tif (typeof encoding !== 'string') {\n\t\t\tencoding = encoding.toString().toLowerCase();\n\t\t} else {\n\t\t\tencoding = encoding.toLowerCase();\n\t\t}\n\n\t\tif (! supportedEncodings.includes(encoding)) {\n\t\t\tthrow new RangeError(`TextDecoder constructor: The given encoding '${encoding}' is not supported.`);\n\t\t}\n\n\t\tObject.defineProperties(this, {\n\t\t\tencoding: {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: encoding,\n\t\t\t},\n\t\t\tfatal: {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: fatal,\n\t\t\t},\n\t\t\tignoreBOM: {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: ignoreBOM,\n\t\t\t},\n\t\t});\n\t}\n\n\tdecode(data) {\n\t\tswitch(this.encoding) {\n\t\t\tcase 'utf-8':\n\t\t\tcase 'utf8': {\n\t\t\t\tlet prev = NaN;\n\t\t\t\t/**\n\t\t\t\t * For (0,127) we just take the charCode\n\t\t\t\t * For charCode 128+this will be in the form [n=194+, m=(128-191)]\n\t\t\t\t * where n increments after m reaches 191, increments, and rolls back to 128\n\t\t\t\t */\n\t\t\t\treturn data.reduce((str, i, n) => {\n\t\t\t\t\tif (Number.isNaN(prev) && i < 128) {\n\t\t\t\t\t\treturn str + String.fromCharCode(i);\n\t\t\t\t\t} else if (Number.isNaN(prev) && i > 193) {\n\t\t\t\t\t\tprev = i;\n\t\t\t\t\t\treturn str;\n\t\t\t\t\t} else if (prev > 193 && between(128, i, 194)) {\n\t\t\t\t\t\tconst offset = (prev - 194) * 64;\n\t\t\t\t\t\tprev = NaN;\n\t\t\t\t\t\treturn str + String.fromCharCode(offset + i);\n\t\t\t\t\t} else if (this.fatal) {\n\t\t\t\t\t\tthrow new RangeError(`Unhandled character at postion ${n}`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprev = NaN;\n\t\t\t\t\t\treturn str;\n\t\t\t\t\t}\n\t\t\t\t}, '');\n\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tthrow new TypeError(`Unsupported encoding '${this.encoding}'`);\n\t\t}\n\t}\n}\n","import { TextEncoder } from './assets/TextEncoder.js';\nimport { TextDecoder } from './assets/TextDecoder.js';\n\nif (! ('TextEncoder' in globalThis)) {\n\tglobalThis.TextEncoder = TextEncoder;\n}\n\nif (! ('TextDecoder' in globalThis)) {\n\tglobalThis.TextDecoder = TextDecoder;\n}\n\nif (! (globalThis.TextEncoder.prototype.encodeInto instanceof Function)) {\n\tglobalThis.TextEncoder.prototype.encodeInto = function(...args) {\n\t\treturn TextEncoder.prototype.encodeInto.apply(this, args);\n\t};\n}\n","if (crypto in globalThis && ! (crypto.randomUUID instanceof Function)) {\n\tcrypto.randomUUID = function randomUUID() {\n\t\t'use strict';\n\t\treturn ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\n\t\t\t(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\n\t\t);\n\t};\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n * @SEE https://wicg.github.io/cookie-store/\n * @SEE https://wicg.github.io/cookie-store/explainer.html\n * @NOTE: This offers similar methods but is not a substitute and cannot get extended\n * cookie properties, such as expires, etc.\n *\n * @TODO verify spec compliance as best as is possible\n */\n\nexport const nativeSupport = 'cookieStore' in globalThis;\n\nconst symbols = {\n\tconstructor: Symbol('constructor'),\n};\n\nfunction getAllCookies() {\n\tif (document.cookie.length === 0) {\n\t\treturn [];\n\t} else {\n\t\treturn document.cookie.split(';').map(str => {\n\t\t\tconst [name, value = null] = str.split('=');\n\t\t\treturn {\n\t\t\t\tname: decodeURIComponent(name.trim()),\n\t\t\t\tvalue: typeof value === 'string' ? decodeURIComponent(value.trim()) : null,\n\t\t\t\tpath: undefined,\n\t\t\t\texpires: undefined,\n\t\t\t\tdomain: undefined,\n\t\t\t\tsameSite: undefined,\n\t\t\t\tsecure: undefined,\n\t\t\t\tpartitioned: false,\n\t\t\t};\n\t\t});\n\t}\n}\n\nfunction defaultParams({\n\tname,\n\tvalue = null,\n\tdomain = null,\n\tpath = '/',\n\texpires = null,\n\tmaxAge = null,\n\tsameSite = 'lax',\n\tsecure = false,\n\tpartitioned = false,\n}) {\n\treturn { name, value, domain, path, expires, maxAge, sameSite, secure, partitioned };\n}\n\nfunction getter({ name = null, value = null } = {}) {\n\tif (typeof name === 'string') {\n\t\tname = decodeURIComponent(name);\n\t}\n\n\tif (typeof value === 'string') {\n\t\tvalue = decodeURIComponent(value);\n\t}\n\n\tif (typeof name === 'string' && typeof value === 'string') {\n\t\treturn getAllCookies().filter((cookie) =>\n\t\t\tcookie.name === name && cookie.value === value\n\t\t);\n\t} else if (typeof name === 'string') {\n\t\treturn getAllCookies().filter(cookie => cookie.name === name);\n\t} else if (typeof value === 'string') {\n\t\treturn getAllCookies().filter(cookie => cookie.value === value);\n\t} else {\n\t\treturn getAllCookies();\n\t}\n}\n\nfunction setter({\n\tname,\n\tvalue,\n\texpires = null,\n\tmaxAge = null,\n\tpath = '/',\n\tsameSite = 'lax',\n\tdomain = null,\n\tsecure = false,\n\tpartitioned = false,\n}) {\n\tif (Number.isInteger(maxAge)) {\n\t\tsetter({\n\t\t\tname, value, expires: Date.now() + maxAge, path, sameSite, domain, secure, partitioned,\n\t\t});\n\t} else {\n\t\tlet cookie = `${encodeURIComponent(name)}=`;\n\n\t\tif (value) {\n\t\t\tcookie += encodeURIComponent(value);\n\t\t}\n\n\t\tif (Number.isInteger(expires)) {\n\t\t\tcookie += `;expires=${new Date(expires).toUTCString()}`;\n\t\t} else if (expires instanceof Date) {\n\t\t\tcookie += `;expires=${expires.toUTCString()}`;\n\t\t}\n\n\t\tif (typeof path === 'string') {\n\t\t\tcookie += `;path=${path}`;\n\t\t}\n\n\t\tif (typeof domain === 'string') {\n\t\t\tcookie += `;domain=${domain}`;\n\t\t}\n\n\t\tif (typeof sameSite === 'string') {\n\t\t\tcookie += `;sameSite=${sameSite}`;\n\t\t}\n\n\t\tif (secure === true) {\n\t\t\tcookie += ';secure';\n\t\t}\n\n\t\tif (partitioned === true) {\n\t\t\tcookie += ';partitioned';\n\t\t}\n\n\t\tdocument.cookie = cookie;\n\t}\n}\n\nexport class CookieStore extends EventTarget {\n\tconstructor(key) {\n\t\tif (key !== symbols.constructor) {\n\t\t\tthrow new DOMException('Invalid constructor');\n\t\t}\n\n\t\tsuper();\n\n\t\tObject.defineProperty(this, symbols.onchange, {\n\t\t\tenumerable: false,\n\t\t\tconfigurable: false,\n\t\t\twritable: true,\n\t\t\tvalue: null,\n\t\t});\n\t}\n\n\tget onchange() {\n\t\treturn this[symbols.onchange];\n\t}\n\n\tset onchange(callback) {\n\t\tif (this[symbols.onchange] instanceof Function) {\n\t\t\tthis.removeEventListener('change', this[symbols.onchange]);\n\t\t}\n\n\t\tif (callback instanceof Function) {\n\t\t\tthis.addEventListener('change', callback);\n\t\t}\n\t}\n\n\tasync get(args) {\n\t\tconst cookies = await this.getAll(args);\n\n\t\tif (Array.isArray(cookies) && cookies.length !== 0) {\n\t\t\treturn cookies[0];\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync getAll(args) {\n\t\tif (typeof args === 'string') {\n\t\t\treturn getter({ name: args });\n\t\t} else {\n\t\t\treturn getter(args);\n\t\t}\n\t}\n\n\tasync set(...args) {\n\t\tif (args.length === 1 && typeof args[0] === 'object' && typeof args[0].name === 'string') {\n\t\t\tconst cookie = defaultParams(args[0]);\n\t\t\tsetter(cookie);\n\t\t\tconst event = new Event('change');\n\t\t\tevent.changed = [cookie];\n\t\t\tevent.deleted = [];\n\n\t\t\tthis.dispatchEvent(event);\n\t\t} else if (args.length === 2) {\n\t\t\tthis.set({ name: args[0], value: args[1] });\n\t\t} else {\n\t\t\tthrow new Error('Invalid arguments');\n\t\t}\n\t}\n\n\tasync delete(args = {}) {\n\t\tif (typeof args === 'string') {\n\t\t\tthis.delete({ name: args });\n\t\t} else if (typeof args === 'object' && typeof args.name === 'string') {\n\t\t\tconst cookies = await this.getAll(args);\n\n\t\t\tif (cookies.length !== 0) {\n\t\t\t\tconst event = new Event('change');\n\t\t\t\tevent.changed = [];\n\t\t\t\tevent.deleted = new Array(cookies.length);\n\n\t\t\t\tcookies.forEach((cookie, i) => {\n\t\t\t\t\tcookie.path = args.path || '/';\n\t\t\t\t\tcookie.domain = args.domain || null;\n\t\t\t\t\tcookie.secure = args.secure || null;\n\t\t\t\t\tdelete cookie.value;\n\t\t\t\t\tcookie.sameSite = args.sameSite || 'lax';\n\n\t\t\t\t\tevent.deleted[i] = cookie;\n\t\t\t\t\tsetter({...cookie, value: null, expires: 1 });\n\t\t\t\t});\n\n\t\t\t\tthis.dispatchEvent(event);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Failed to execute \\'delete\\' on \\'CookieStore\\': required member name is undefined.');\n\t\t}\n\t}\n}\n\nexport const cookieStore = new CookieStore(symbols.constructor);\n\nexport function polyfill() {\n\tif (! nativeSupport) {\n\t\tglobalThis.cookieStore = cookieStore;\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n}\n","// Polyfill only if not natively supported & if DOM is available\nif ('HTMLElement' in globalThis && ! ('trustedTypes' in globalThis)) {\n\tconst symbols = {\n\t\tkey: Symbol('trust:key'),\n\t};\n\n\tconst EVENT_ATTRS = new Set(Object.keys(HTMLElement.prototype).filter(key => key.startsWith('on')));\n\n\tconst getAllowedPolicies = () => {\n\t\tconst meta = document.head.querySelector('meta[http-equiv=\"Content-Security-Policy\"][content]');\n\n\t\tif (meta instanceof HTMLMetaElement) {\n\t\t\tconst directives = meta.content.trim().split(';').filter(str => str.length !== 0).map(dir => dir.trim());\n\n\t\t\tconst csp = Object.fromEntries(directives.map(directive => {\n\t\t\t\tconst [key, ...rest] = directive.trim().split(' ').filter(part => part.length !== 0);\n\t\t\t\treturn [key, rest];\n\t\t\t}));\n\n\t\t\tconst enforced = Array.isArray(csp['require-trusted-types-for']) && csp['require-trusted-types-for'].includes('\\'script\\'');\n\t\t\tconst allowedPolicies = enforced && Array.isArray(csp['trusted-types'])\n\t\t\t\t? new Set(csp['trusted-types'])\n\t\t\t\t: new Set();\n\n\t\t\tconst allowDuplicates = allowedPolicies.has('\\'allow-duplicates\\'');\n\n\t\t\tif (allowedPolicies.has('\\'none\\'')) {\n\t\t\t\tallowedPolicies.clear();\n\t\t\t} else if (allowDuplicates) {\n\t\t\t\tallowedPolicies.delete('\\'allow-duplicates\\'');\n\t\t\t}\n\t\t\treturn { enforced, allowedPolicies, allowDuplicates };\n\t\t} else if (document.documentElement.dataset.hasOwnProperty('trustedPolicies')) {\n\t\t\tconst allowedPolicies = new Set(document.documentElement.dataset.trustedPolicies.split(' '));\n\t\t\tconst allowDuplicates = allowedPolicies.has('\\'allow-duplicates\\'');\n\t\t\tconst hasNone = allowedPolicies.has('\\'none\\'');\n\n\t\t\tif (allowDuplicates) {\n\t\t\t\tallowedPolicies.delete('\\'allow-duplicates\\'');\n\t\t\t}\n\n\t\t\tif (hasNone) {\n\t\t\t\tallowedPolicies.clear();\n\t\t\t}\n\t\t\treturn { enforced: true, allowedPolicies, allowDuplicates };\n\t\t} else {\n\t\t\treturn { enforced: false, allowedPolicies: new Set(), allowDuplicates: true };\n\t\t}\n\t};\n\n\tclass TrustedTypePolicyFactory {\n\t\t#policies;\n\t\t#allowedPolicies;\n\t\t#enforced;\n\t\t#allowDuplicates;\n\n\t\tconstructor({\n\t\t\tenforced,\n\t\t\tallowedPolicies,\n\t\t\tallowDuplicates,\n\t\t} = {}, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new TypeError('Invalid constructor of TrustedTypePolicyFactory.');\n\t\t\t} else if (! (allowedPolicies instanceof Set)) {\n\t\t\t\tthrow new TypeError('`allowedPolicies` must be a Set.');\n\t\t\t} else {\n\t\t\t\tthis.#allowedPolicies = allowedPolicies;\n\t\t\t\tthis.#enforced = enforced;\n\t\t\t\tthis.#allowDuplicates = allowDuplicates;\n\t\t\t\tthis.#policies = new Map();\n\t\t\t}\n\t\t}\n\n\t\tget defaultPolicy() {\n\t\t\tif (this.#policies.has('default')) {\n\t\t\t\treturn this.#policies.get('default');\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tcreatePolicy(name, {\n\t\t\tcreateHTML,\n\t\t\tcreateScript,\n\t\t\tcreateScriptURL,\n\t\t}) {\n\t\t\tif (! /^[-#a-zA-Z0-9=_/@.%]+$/.test(name.toString())) {\n\t\t\t\tthrow new TypeError(`Failed to execute 'createPolicy' on 'TrustedTypePolicyFactory': Policy: \"${name}\" contains invalid characters.`);\n\t\t\t} else if (this.#enforced && ! this.#allowedPolicies.has(name)) {\n\t\t\t\tthrow new TypeError(`${name} is not an allowed policy.`);\n\t\t\t} else if (! this.#allowDuplicates && this.#policies.has(name)) {\n\t\t\t\tthrow new TypeError(`${name} has already been created and duplicates are not allowed.`);\n\t\t\t} else {\n\t\t\t\tconst policy = new TrustedTypePolicy(name.toString(), {\n\t\t\t\t\tcreateHTML,\n\t\t\t\t\tcreateScript,\n\t\t\t\t\tcreateScriptURL,\n\t\t\t\t}, symbols.key);\n\n\t\t\t\tthis.#policies.set(policy.name, policy);\n\n\t\t\t\treturn policy;\n\t\t\t}\n\t\t}\n\n\t\tgetAttributeType(tagName, attribute, elementNs/*, attrNs*/) {\n\t\t\ttagName = tagName.toLowerCase();\n\t\t\tattribute = attribute.toLowerCase();\n\n\t\t\t/**\n\t\t\t * @Todo handle namespaced attributes\n\t\t\t */\n\t\t\tif (typeof elementNS === 'string' && elementNs.length !== 0) {\n\t\t\t\treturn EVENT_ATTRS.has(attribute) ? 'TrustedScript' : null;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * This is an `on*` attribute\n\t\t\t */\n\t\t\tif (EVENT_ATTRS.has(attribute)) {\n\t\t\t\treturn 'TrustedScript';\n\t\t\t}\n\n\t\t\tswitch(tagName) {\n\t\t\t\tcase 'script': {\n\t\t\t\t\tif (attribute === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcase 'iframe': {\n\t\t\t\t\tif (attribute === 'srcdoc') {\n\t\t\t\t\t\treturn 'TrustedHTML';\n\t\t\t\t\t} else if (attribute === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tgetPropertyType(tagName, property, /*elementNS*/) {\n\t\t\ttagName = tagName.toLowerCase();\n\n\t\t\tif (EVENT_ATTRS.has(property.toLowerCase())) {\n\t\t\t\treturn 'TrustedScript';\n\t\t\t}\n\n\t\t\tswitch(tagName) {\n\t\t\t\tcase 'embed':\n\t\t\t\tcase 'iframe': {\n\t\t\t\t\tif (property === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcase 'script': {\n\t\t\t\t\tif (property === 'src') {\n\t\t\t\t\t\treturn 'TrustedScriptURL';\n\t\t\t\t\t} else if (['text', 'innerText', 'textContent', 'innerHTML'].includes(property)) {\n\t\t\t\t\t\treturn 'TrustedScript';\n\t\t\t\t\t} else if (['outerHTML'].includes(property)) {\n\t\t\t\t\t\treturn 'TrustedHTML';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tdefault: {\n\t\t\t\t\tif (['innerHTML', 'outerHTML'].includes(property)) {\n\t\t\t\t\t\treturn 'TrustedHTML';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tisHTML(thing) {\n\t\t\treturn thing instanceof globalThis.TrustedHTML;\n\t\t}\n\n\t\tisScript(thing) {\n\t\t\treturn thing instanceof globalThis.TrustedScript;\n\t\t}\n\n\t\tisScriptURL(thing) {\n\t\t\treturn thing instanceof globalThis.TrustedScriptURL;\n\t\t}\n\n\t\tget emptyHTML() {\n\t\t\treturn new TrustedHTML('', symbols.key);\n\t\t}\n\n\t\tget emptyScript() {\n\t\t\treturn new TrustedScript('', symbols.key);\n\t\t}\n\n\t\tget [Symbol.for('polyfilled')]() {\n\t\t\treturn true;\n\t\t}\n\n\t\tget [Symbol.for('enforced')]() {\n\t\t\treturn this.#enforced;\n\t\t}\n\t}\n\n\tclass TrustedTypePolicy {\n\t\t#name;\n\t\t#createHTML;\n\t\t#createScript;\n\t\t#createScriptURL;\n\n\t\tconstructor(name, {\n\t\t\tcreateHTML,\n\t\t\tcreateScript,\n\t\t\tcreateScriptURL,\n\t\t}, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new Error(`Invalid construction of ${name} policy.`);\n\t\t\t} else {\n\t\t\t\tthis.#name = name;\n\t\t\t\tthis.#createHTML = createHTML;\n\t\t\t\tthis.#createScript = createScript;\n\t\t\t\tthis.#createScriptURL = createScriptURL;\n\t\t\t}\n\t\t}\n\n\t\tget name() {\n\t\t\treturn this.#name;\n\t\t}\n\n\t\tcreateHTML(input, ...args) {\n\t\t\tif (this.#createHTML instanceof Function) {\n\t\t\t\treturn new TrustedHTML(this.#createHTML(input.toString(), ...args).toString(), symbols.key);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('This policy does not provide `createHTML()`');\n\t\t\t}\n\t\t}\n\n\t\tcreateScript(input, ...args) {\n\t\t\tif (this.#createScript instanceof Function) {\n\t\t\t\treturn new TrustedScript(this.#createScript(input.toString(), ...args).toString(), symbols.key);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('This policy does not provide `createScript()`');\n\t\t\t}\n\t\t}\n\n\t\tcreateScriptURL(input, ...args) {\n\t\t\tif (this.#createScriptURL instanceof Function) {\n\t\t\t\treturn new TrustedScriptURL(this.#createScriptURL(input.toString(), ...args).toString(), symbols.key);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('This policy does not provide `createScriptURL()`');\n\t\t\t}\n\t\t}\n\t}\n\n\tclass TrustedType {\n\t\t#value;\n\n\t\tconstructor(value, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new Error('Invalid constructor of TrustedType.');\n\t\t\t} else {\n\t\t\t\tthis.#value = value;\n\t\t\t}\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this.#value;\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.#value;\n\t\t}\n\t}\n\n\tclass TrustedHTML extends TrustedType {}\n\n\tclass TrustedScript extends TrustedType {}\n\n\tclass TrustedScriptURL extends TrustedType {}\n\n\tglobalThis.TrustedTypePolicyFactory = TrustedTypePolicyFactory;\n\tglobalThis.trustedTypes = new TrustedTypePolicyFactory(getAllowedPolicies(), symbols.key);\n\tglobalThis.TrustedHTML = TrustedHTML;\n\tglobalThis.TrustedScript = TrustedScript;\n\tglobalThis.TrustedScriptURL = TrustedScriptURL;\n}\n","(function() {\n\t'use strict';\n\n\tif (globalThis.hasOwnProperty('Animation') && ! Animation.prototype.hasOwnProperty('finished')) {\n\t\tObject.defineProperty(Animation.prototype, 'finished', {\n\t\t\tget: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (this.playState === 'finished') {\n\t\t\t\t\t\tresolve(this);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.addEventListener('finish', () => resolve(this), { once: true });\n\t\t\t\t\t\tthis.addEventListener('error', event => reject(event), { once: true });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tif (globalThis.hasOwnProperty('Animation') && ! Animation.prototype.hasOwnProperty('ready')) {\n\t\tObject.defineProperty(Animation.prototype, 'ready', {\n\t\t\tget: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (! this.pending) {\n\t\t\t\t\t\tresolve(this);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.addEventListener('ready', () => resolve(this), { once: true });\n\t\t\t\t\t\tthis.addEventListener('error', event => reject(event), { once: true });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n})();\n","/**\n * @copyright 2023-2024 Chris Zuber <admin@kernvalley.us>\n */\n/*eslint strict: [\"error\", \"never\"]*/\nif (('HTMLElement' in globalThis && ! ('trustedTypes' in globalThis)) || (\n\t'HTMLElement' in globalThis\n\t&& globalThis.trustedTypes[Symbol.for('polyfilled')]\n\t&& globalThis.trustedTypes[Symbol.for('enforced')]\n)) {\n\t(function harden() {\n\t\tfunction supported() {\n\t\t\treturn 'trustedTypes' in globalThis;\n\t\t}\n\n\t\tfunction hasDefaultPolicy() {\n\t\t\treturn supported() && ! Object.is(trustedTypes.defaultPolicy, null);\n\t\t}\n\n\t\tfunction isHTML(input) {\n\t\t\treturn supported() && trustedTypes.isHTML(input);\n\t\t}\n\n\t\tfunction isScript(input) {\n\t\t\treturn supported() && trustedTypes.isScript(input);\n\t\t}\n\n\t\tfunction isScriptURL(input) {\n\t\t\treturn supported() && trustedTypes.isScriptURL(input);\n\t\t}\n\n\t\tfunction createHTML(input) {\n\t\t\tif (isHTML(input) || ! supported()) {\n\t\t\t\treturn input;\n\t\t\t} else if (hasDefaultPolicy()) {\n\t\t\t\treturn trustedTypes.defaultPolicy.createHTML(input);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('Attempting to set HTML and no default policy is available.');\n\t\t\t}\n\t\t}\n\n\t\tfunction createScript(input) {\n\t\t\tif (isScript(input) || ! supported()) {\n\t\t\t\treturn input;\n\t\t\t} else if (hasDefaultPolicy()) {\n\t\t\t\treturn trustedTypes.defaultPolicy.createScript(input);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('Attempting to create script and no default policy is available.');\n\t\t\t}\n\t\t}\n\n\t\tfunction createScriptURL(input) {\n\t\t\tif (isScriptURL(input) || ! supported()) {\n\t\t\t\treturn input;\n\t\t\t} else if (hasDefaultPolicy()) {\n\t\t\t\treturn trustedTypes.defaultPolicy.createScriptURL(input);\n\t\t\t} else {\n\t\t\t\tthrow new TypeError('Attempting to create script URL and no default policy is available.');\n\t\t\t}\n\t\t}\n\n\t\tfunction getAttributeType(tag, attr, elementNs) {\n\t\t\tif (supported()) {\n\t\t\t\treturn trustedTypes.getAttributeType(tag, attr, elementNs);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst { write, writeln, execCommand } = Object.getOwnPropertyDescriptors(Document.prototype);\n\n\t\t\tObject.defineProperties(Document.prototype, {\n\t\t\t\twrite: {\n\t\t\t\t\tvalue: function(html) {\n\t\t\t\t\t\twrite.value.call(this, createHTML(html));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: write.enumerable,\n\t\t\t\t\tconfigurable: write.configurable,\n\t\t\t\t\twritable: write.writable,\n\t\t\t\t},\n\t\t\t\twriteln: {\n\t\t\t\t\tvalue: function(html) {\n\t\t\t\t\t\twriteln.value.call(this, createHTML(html));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: writeln.enumerable,\n\t\t\t\t\tconfigurable: writeln.configurable,\n\t\t\t\t\twritable: writeln.writable,\n\t\t\t\t},\n\t\t\t\texecCommand: {\n\t\t\t\t\tvalue: function(aCommandName, aShowDefaultUI, aValueArgument) {\n\t\t\t\t\t\tif (['insertHTML'].includes(aCommandName)) {\n\t\t\t\t\t\t\treturn execCommand.value.call(this, aCommandName, aShowDefaultUI, createHTML(aValueArgument));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn execCommand.value.call(this, aCommandName, aShowDefaultUI, aValueArgument);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: execCommand.enumerable,\n\t\t\t\t\tconfigurable: execCommand.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\tif ('ServiceWorkerContainer' in globalThis) {\n\t\t\ttry {\n\t\t\t\tconst register = Object.getOwnPropertyDescriptor(ServiceWorkerContainer.prototype, 'register');\n\n\t\t\t\tObject.defineProperty(ServiceWorkerContainer.prototype, 'register', {\n\t\t\t\t\tvalue: function(scriptURL, options) {\n\t\t\t\t\t\treturn register.value.call(this, createScriptURL(scriptURL), options);\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: register.enumerable,\n\t\t\t\t\tconfigurable: register.configurable,\n\t\t\t\t});\n\t\t\t} catch(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst createContextualFragment = Object.getOwnPropertyDescriptor(Range.prototype, 'createContextualFragment');\n\n\t\t\tObject.defineProperty(Range.prototype, 'createContextualFragment', {\n\t\t\t\tvalue: function(tagString) {\n\t\t\t\t\treturn createContextualFragment.value.call(this, createHTML(tagString));\n\t\t\t\t},\n\t\t\t\tenumerable: createContextualFragment.enumerable,\n\t\t\t\tconfigurable: createContextualFragment.configurable,\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { parseFromString } = Object.getOwnPropertyDescriptors(DOMParser.prototype);\n\n\t\t\tObject.defineProperties(DOMParser.prototype, {\n\t\t\t\tparseFromString: {\n\t\t\t\t\tvalue: function(text, type) {\n\t\t\t\t\t\tif (type === 'text/html') {\n\t\t\t\t\t\t\treturn parseFromString.value.call(this, createHTML(text), type);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn parseFromString.value.call(this, text, type);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: parseFromString.enumerable,\n\t\t\t\t\tconfigurable: parseFromString.configurable,\n\t\t\t\t\twritable: parseFromString.writable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { src, text } = Object.getOwnPropertyDescriptors(HTMLScriptElement.prototype);\n\n\t\t\tObject.defineProperties(HTMLScriptElement.prototype, {\n\t\t\t\ttext: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn text.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\ttext.set.call(this, createScript(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: text.enumerable,\n\t\t\t\t\tconfigurable: text.configurable,\n\t\t\t\t},\n\t\t\t\tsrc: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn src.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\tsrc.set.call(this, createScriptURL(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: src.enumerable,\n\t\t\t\t\tconfigurable: src.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst {\n\t\t\t\tsetAttribute, setAttributeNS, innerHTML, outerHTML, insertAdjacentHTML,\n\t\t\t} = Object.getOwnPropertyDescriptors(Element.prototype);\n\n\t\t\tObject.defineProperties(Element.prototype, {\n\t\t\t\tsetAttribute: {\n\t\t\t\t\tvalue: function(name, value) {\n\t\t\t\t\t\tswitch(getAttributeType(this.tagName, name)) {\n\t\t\t\t\t\t\tcase 'TrustedHTML':\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, createHTML(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScript':\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, createScript(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScriptURL':\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, createScriptURL(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tsetAttribute.value.call(this, name, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: setAttribute.enumerable,\n\t\t\t\t\tconfigurable: setAttribute.configurable,\n\t\t\t\t},\n\t\t\t\tsetAttributeNS: {\n\t\t\t\t\tvalue: function (elementNs, name, value) {\n\t\t\t\t\t\tswitch(getAttributeType(this.tagName, name, elementNs)) {\n\t\t\t\t\t\t\tcase 'TrustedHTML':\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, createHTML(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScript':\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, createScript(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'TrustedScriptURL':\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, createScriptURL(value));\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tsetAttributeNS.value.call(this, elementNs, name, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: setAttributeNS.enumerable,\n\t\t\t\t\tconfigurable: setAttributeNS.configurable,\n\t\t\t\t},\n\t\t\t\tinnerHTML: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn innerHTML.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\tinnerHTML.set.call(this, createHTML(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: innerHTML.enumerable,\n\t\t\t\t\tconfigurable: innerHTML.configurable,\n\t\t\t\t},\n\t\t\t\touterHTML: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn outerHTML.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\touterHTML.set.call(this, createHTML(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: outerHTML.enumerable,\n\t\t\t\t\tconfigurable: outerHTML.configurable,\n\t\t\t\t},\n\t\t\t\tinsertAdjacentHTML: {\n\t\t\t\t\tvalue: function(position, text) {\n\t\t\t\t\t\tinsertAdjacentHTML.value.call(this, position, createHTML(text));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: insertAdjacentHTML.enumerable,\n\t\t\t\t\tconfigurable: insertAdjacentHTML.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { srcdoc, src } = Object.getOwnPropertyDescriptors(HTMLIFrameElement.prototype);\n\n\t\t\tObject.defineProperties(HTMLIFrameElement.prototype, {\n\t\t\t\tsrcdoc: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn srcdoc.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(value) {\n\t\t\t\t\t\tsrcdoc.set.call(this, createHTML(value));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: srcdoc.enumerable,\n\t\t\t\t\tconfigurable: srcdoc.configurable,\n\t\t\t\t},\n\t\t\t\tsrc: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn src.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tsrc.set.call(this, createScriptURL(val));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: src.enumerable,\n\t\t\t\t\tconfigurable: src.configurable,\n\t\t\t\t}\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst { data, codeBase } = Object.getOwnPropertyDescriptors(HTMLObjectElement.prototype);\n\n\t\t\tObject.defineProperties(HTMLObjectElement.prototype, {\n\t\t\t\tdata: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn data.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tdata.set.call(this, createScriptURL(val));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: data.enumerable,\n\t\t\t\t\tconfigurable: data.configurable,\n\t\t\t\t},\n\t\t\t\tcodeBase: {\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\treturn codeBase.get.call(this);\n\t\t\t\t\t},\n\t\t\t\t\tset: function(val) {\n\t\t\t\t\t\tcodeBase.set.call(this, createScriptURL(val));\n\t\t\t\t\t},\n\t\t\t\t\tenumerable: codeBase.enumerable,\n\t\t\t\t\tconfigurable: codeBase.configurable,\n\t\t\t\t},\n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\n\t\ttry {\n\t\t\tconst {\n\t\t\t\teval: nativeEval,\n\t\t\t\tsetTimeout: nativeSTO,\n\t\t\t\tsetInterval: nativeIntverval,\n\t\t\t} = globalThis;\n\n\t\t\tglobalThis.eval = function(script) {\n\t\t\t\treturn nativeEval(createScript(script).toString());\n\t\t\t};\n\n\t\t\tglobalThis.setTimeout = function(func, delay, ...args) {\n\t\t\t\tif (typeof func === 'string') {\n\t\t\t\t\treturn nativeSTO(createScript(func), delay, ...args);\n\t\t\t\t} else {\n\t\t\t\t\treturn nativeSTO(func, delay, ...args);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tglobalThis.setInterval = function(func, delay, ...args) {\n\t\t\t\tif (typeof func === 'string') {\n\t\t\t\t\treturn nativeIntverval(createScript(func), delay, ...args);\n\t\t\t\t} else {\n\t\t\t\t\treturn nativeIntverval(func, delay, ...args);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tconst NativeFunction = globalThis.Function;\n\n\t\t\t\tglobalThis.Function = function Function(...args) {\n\t\t\t\t\tif (args.length === 0) {\n\t\t\t\t\t\treturn NativeFunction();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst funcBody = createScript(args.pop());\n\t\t\t\t\t\treturn NativeFunction( ...args, funcBody.toString());\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tglobalThis.Function.prototype = NativeFunction.prototype;\n\t\t\t\tNativeFunction.prototype.constructor = globalThis.Function;\n\t\t\t} catch(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t}\n\t\t} catch(err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t})();\n}\n","/**\n * This **REQUIRES** a CSP with `style-src blob:`\n */\nexport const adoptedStyleSheets = {\n\tget() {\n\t\treturn Array.from(this.styleSheets)\n\t\t\t.filter(sheet => sheet.ownerNode.classList.contains('_adopted'));\n\t},\n\tset(sheets) {\n\t\tif (! Array.isArray(sheets)) {\n\t\t\tthrow new TypeError('Must be an array');\n\t\t} else {\n\t\t\tconst current = new Set(this.adoptedStyleSheets);\n\n\t\t\tcurrent.difference(sheets).forEach(sheet => sheet.ownerNode.remove());\n\n\t\t\tconst links = [...new Set(sheets).difference(current)].map(sheet => {\n\t\t\t\tconst link = document.createElement('link');\n\t\t\t\tconst controller = new AbortController();\n\t\t\t\tconst signal = controller.signal;\n\t\t\t\tconst url = URL.createObjectURL(new File([], 'adopted.css', { type: 'text/css' }));\n\t\t\t\tlink.rel = 'stylesheet';\n\t\t\t\tlink.href = url;\n\t\t\t\tlink.classList.add('_adopted');\n\t\t\t\tlink.disabled = sheet.disabled;\n\n\n\t\t\t\tlink.addEventListener('load', ({ target }) => {\n\t\t\t\t\tcontroller.abort();\n\t\t\t\t\tlink.media = sheet.media.mediaText;\n\t\t\t\t\t[...sheet.cssRules].forEach((rule, index) => {\n\t\t\t\t\t\ttarget.sheet.insertRule(rule.cssText, index);\n\t\t\t\t\t});\n\n\t\t\t\t\tsetTimeout(() => URL.revokeObjectURL(target.href), 100);\n\t\t\t\t}, { once: true, signal });\n\n\t\t\t\tlink.addEventListener('error', ({ target }) => {\n\t\t\t\t\tcontroller.abort();\n\t\t\t\t\tURL.revokeObjectURL(target.href);\n\t\t\t\t}, { once: true, signal });\n\n\t\t\t\treturn link;\n\t\t\t});\n\n\t\t\tif (this instanceof Document) {\n\t\t\t\tthis.head.append(...links);\n\t\t\t} else {\n\t\t\t\tthis.append(...links);\n\t\t\t}\n\t\t}\n\t}\n};\n","const HOSTS_SYMBOL = Symbol('shadow:hosts');\n\nfunction getTagHTML(el) {\n\tconst outerHTML = el.cloneNode().outerHTML;\n\tconst closeStart = outerHTML.indexOf('/') - 1;\n\treturn closeStart > 0 ? [outerHTML.substring(0, closeStart), outerHTML.substring(closeStart)] : [outerHTML, ''];\n}\n\nfunction attachShadow(template){\n\tif (template instanceof HTMLTemplateElement && template.parentElement instanceof HTMLElement) {\n\t\tconst shadow = template.parentElement.attachShadow({\n\t\t\tmode: template.getAttribute('shadowrootmode'),\n\t\t\tclonable: template.hasAttribute('shadowrootclonable'),\n\t\t\tdelegatesFocus: template.hasAttribute('shadowrootdelegatesfocus'),\n\t\t\tserializable: template.hasAttribute('shadowrootserializable'),\n\t\t});\n\n\t\tshadow.append(template.content);\n\t\ttemplate.remove();\n\t}\n}\n\nfunction serializeChildNodes(node, { serializableShadowRoots = false, shadowRoots = [], [HOSTS_SYMBOL]: hosts = [] } = {}) {\n\treturn Array.from(\n\t\tnode.childNodes,\n\t\tchild => {\n\t\t\tif (child.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tconst [open, close] = getTagHTML(child);\n\t\t\t\treturn open + child.getHTML({ serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts }) + close;\n\t\t\t} else {\n\t\t\t\treturn child.textContent;\n\t\t\t}\n\t\t}\n\t).join('');\n}\n\nfunction serializeShadowRoot(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts = [] } = {}) {\n\tif (shadow.serializable) {\n\t\tconst openTag = `<template shadowrootmode=\"${shadow.mode}\"`;\n\t\tconst attrs = [];\n\n\t\tif (shadow.clonable) {\n\t\t\tattrs.push(' shadowrootclonable=\"\"');\n\t\t}\n\n\t\tif (shadow.serializable) {\n\t\t\tattrs.push(' shadowrootserializable=\"\"');\n\t\t}\n\n\t\tif (shadow.delegatesFocus) {\n\t\t\tattrs.push(' shadowrootdelegatesfocus=\"\"');\n\t\t}\n\n\t\tconst tag = attrs.length === 0 ? openTag + '>' : openTag + ' ' + attrs.join('') + '>';\n\n\t\treturn tag + serializeChildNodes(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts }) + '</template>';\n\t} else {\n\t\treturn serializeChildNodes(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts });\n\t}\n}\n\nexport function parseHTMLUnsafe(input){\n\tconst parser = new DOMParser();\n\t// Ensures `URL` is \"about:blank\"\n\tconst doc = document.implementation.createHTMLDocument();\n\t// Rely on this method's TrustedTypes implementation, if available\n\tconst parsed = parser.parseFromString(input, 'text/html');\n\tdoc.head.append(...parsed.head.childNodes);\n\tdoc.body.append(...parsed.body.childNodes);\n\tdoc.querySelectorAll('* > template[shadowrootmode]').forEach(attachShadow);\n\treturn doc;\n}\n\nexport function setHTMLUnsafe(input) {\n\tconst parser = new DOMParser();\n\t// Rely on this method's TrustedTypes implementation, if available\n\tconst parsed = parser.parseFromString(input, 'text/html');\n\tconst frag = document.createDocumentFragment();\n\tfrag.append(...parsed.body.childNodes);\n\tfrag.querySelectorAll('* > template[shadowrootmode]').forEach(attachShadow);\n\tthis.replaceChildren(frag);\n}\n\nexport function getHTML({ serializableShadowRoots = false, shadowRoots = [], [HOSTS_SYMBOL]: hosts = [] } = {}) {\n\tif (serializableShadowRoots && hosts.length === 0 && shadowRoots.length !== 0) {\n\t\thosts.push(...shadowRoots.map(shadow => shadow.host));\n\t}\n\n\tswitch(this.nodeType) {\n\t\tcase Node.ELEMENT_NODE:\n\t\t\tif (\n\t\t\t\tserializableShadowRoots\n\t\t\t\t&& this.shadowRoot instanceof ShadowRoot\n\t\t\t\t&& (this.shadowRoot.serializable || shadowRoots.includes(this.shadowRoot))\n\t\t\t) {\n\t\t\t\treturn this.shadowRoot.getHTML({ serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts })\n\t\t\t\t\t+ serializeChildNodes(this,{ serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts } );\n\t\t\t} else if (serializableShadowRoots && hosts.includes(this)) {\n\t\t\t\tconst shadow = shadowRoots.find(shadow => shadow.host.isSameNode(this));\n\n\t\t\t\treturn serializeShadowRoot(shadow, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts })\n\t\t\t\t\t+ serializeChildNodes(this, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts } );\n\t\t\t} else {\n\t\t\t\treturn this.innerHTML;\n\t\t\t}\n\n\t\tcase Node.DOCUMENT_FRAGMENT_NODE:\n\t\t\tif (! (this instanceof ShadowRoot)) {\n\t\t\t\treturn '';\n\t\t\t} else if (serializableShadowRoots && (this.serializable || shadowRoots.includes(this))) {\n\t\t\t\treturn serializeShadowRoot(this, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts });\n\t\t\t} else {\n\t\t\t\treturn serializeChildNodes(this, { serializableShadowRoots, shadowRoots, [HOSTS_SYMBOL]: hosts });\n\t\t\t}\n\n\t\tdefault:\n\t\t\tthrow new TypeError('\\'getHTML\\' called on an object that does not implement interface Element.');\n\t}\n}\n","export function createSheet(rules = '', { disabled = false, media } = {}) {\n\tconst style = Document.parseHTML(\n\t\t`<style>${rules}</style>`,\n\t\t{ sanitizer: { allowElements: ['style', 'html', 'head', 'body'] }}\n\t);\n\n\tconst sheet = style.styleSheets.item(0);\n\n\tif (typeof media === 'string') {\n\t\tsheet.media.appendMedium(media);\n\t}\n\tsheet.disabled = disabled;\n\treturn sheet;\n}\n\nexport function clearCSSRules(sheet) {\n\twhile (sheet.cssRules.length > 0) {\n\t\tsheet.deleteRule(0);\n\t}\n}\n\ntry {\n\tnew CSSStyleSheet();\n} catch {\n\tconst NativeStyleSheet = globalThis.CSSStyleSheet;\n\n\tglobalThis.CSSStyleSheet = function CSSStyleSheet({ disabled = false, media } = {}) {\n\t\t// Need at least one rule to create the `.sheet`\n\t\tconst sheet = createSheet('#dfgbkjdfg{color:red;}', { disabled, media });\n\t\tsheet.deleteRule(0);\n\t\treturn sheet;\n\t};\n\n\tglobalThis.CSSStyleSheet.prototype = NativeStyleSheet.prototype;\n\tNativeStyleSheet.prototype.constructor = globalThis.CSSStyleSheet;\n}\n\nif (! (CSSStyleSheet.prototype.replace instanceof Function)) {\n\tCSSStyleSheet.prototype.replace = function replace(rules) {\n\t\tconst link = document.createElement('link');\n\t\tconst controller = new AbortController();\n\t\tconst { resolve, reject, promise } = Promise.withResolvers();\n\n\t\tlink.addEventListener('load', ({ target }) => {\n\t\t\tclearCSSRules(this);\n\t\t\t[...target.sheet.cssRules].forEach((rule, i) => this.insertRule(rule.cssText, i));\n\t\t\tresolve(this);\n\t\t\tcontroller.abort();\n\t\t\tURL.revokeObjectURL(target.href);\n\t\t\ttarget.remove();\n\t\t}, { once: true, signal: controller.signal });\n\n\t\tlink.addEventListener('error', ({ target }) => {\n\t\t\tconst error = new DOMException('Error loading stylesheet.');\n\t\t\treject(error);\n\t\t\tcontroller.abort(error);\n\t\t\tURL.revokeObjectURL(target.href);\n\t\t\ttarget.remove();\n\t\t}, { once: true, signal: controller.signal });\n\n\t\tlink.rel = 'stylesheet';\n\t\tlink.crossOrigin = 'anonymous';\n\t\tlink.referrerPolicy = 'no-referrer';\n\t\tlink.media = 'no-op';\n\t\tlink.href = URL.createObjectURL(new File([rules], 'tmp.css', { type: 'text/css' }));\n\t\tdocument.head.append(link);\n\n\t\treturn promise;\n\t};\n}\n\nif (! (CSSStyleSheet.prototype.replaceSync instanceof Function)) {\n\tCSSStyleSheet.prototype.replaceSync = function replaceSync(rules) {\n\t\tconst sheet = Document.parseHTML(\n\t\t\t`<style>${rules}</style>`,\n\t\t\t{ sanitizer: { allowElements: ['style', 'html', 'head', 'body'] }}\n\t\t).styleSheets.item(0);\n\n\t\tclearCSSRules(this);\n\n\t\t[...sheet.cssRules].forEach((rule, i) => this.insertRule(rule.cssText, i));\n\t};\n}\n","import { polyfillGetterSetter, polyfillMethod } from './utils.js';\nimport { adoptedStyleSheets } from './assets/adoptedStylesheets.js';\nimport { parseHTMLUnsafe } from './methods/dom.js';\n\npolyfillGetterSetter(Document.prototype, 'adoptedStyleSheets', adoptedStyleSheets);\npolyfillMethod(Document, 'parseHTMLUnsafe', parseHTMLUnsafe);\n","import { polyfillGetterSetter, polyfillMethod } from './utils.js';\nimport { adoptedStyleSheets } from './assets/adoptedStylesheets.js';\nimport { getHTML, setHTMLUnsafe } from './methods/dom.js';\n\nif ('ShadowRoot' in globalThis) {\n\tpolyfillGetterSetter(ShadowRoot.prototype, 'adoptedStyleSheets', adoptedStyleSheets);\n\tpolyfillMethod(ShadowRoot.prototype, 'setHTMLUnsafe', setHTMLUnsafe);\n\tpolyfillMethod(ShadowRoot.prototype, 'getHTML', getHTML);\n}\n","export const aria = {\n\tariaAtomic: 'aria-atomic',\n\tariaAutoComplete: 'aria-autocomplete',\n\tariaBusy: 'aria-busy',\n\tariaChecked: 'aria-checked',\n\tariaColCount: 'aria-colcount',\n\tariaColIndex: 'aria-colindex',\n\tariaColIndexText: 'aria-colindextext',\n\tariaColSpan: 'aria-colspan',\n\tariaCurrent: 'aria-current',\n\tariaDisabled: 'aria-disabled',\n\tariaExpanded: 'aria-expanded',\n\tariaHasPopup: 'aria-haspopup',\n\tariaHidden: 'aria-hidden',\n\tariaInvalid: 'aria-invalid',\n\tariaKeyShortcuts: 'aria-keyshortcuts',\n\tariaLabel: 'aria-label',\n\tariaLevel: 'aria-level',\n\tariaLive: 'aria-live',\n\tariaModal: 'aria-modal',\n\tariaMultiLine: 'aria-multiline',\n\tariaMultiSelectable: 'aria-multiselectable',\n\tariaOrientation: 'aria-orientation',\n\tariaPlaceholder: 'aria-placeholder',\n\tariaPosInSet: 'aria-posinset',\n\tariaPressed: 'aria-pressed',\n\tariaReadOnly: 'aria-readonly',\n\tariaRelevant: 'aria-relevant',\n\tariaRequired: 'aria-required',\n\tariaRoleDescription: 'aria-roledescription',\n\tariaRowCount: 'aria-rowcount',\n\tariaRowIndex: 'aria-rowindex',\n\tariaRowIndexText: 'aria-rowindextext',\n\tariaRowSpan: 'aria-rowspan',\n\tariaSelected: 'aria-selected',\n\tariaSetSize: 'aria-setsize',\n\tariaSort: 'aria-sort',\n\tariaValueMax: 'aria-valuemax',\n\tariaValueMin: 'aria-valuemin',\n\tariaValueNow: 'aria-valuenow',\n\tariaValueText: 'aria-valuetext',\n\trole: 'role'\n};\n","/**\n * @copyright 2023-2024 Chris Zuber <admin@kernvalley.us>\n */\nexport const HTML = 'http://www.w3.org/1999/xhtml';\nexport const SVG = 'http://www.w3.org/2000/svg';\nexport const XLINK = 'http://www.w3.org/1999/xlink';\nexport const XML = 'http://www.w3.org/XML/1998/namespace';\nexport const MATHML = 'http://www.w3.org/1998/Math/MathML';\n","import { HTML as HTMLNS } from '@aegisjsproject/sanitizer/namespaces.js';\n\nexport const EVENT_ATTRS = new Set(('HTMLElement' in globalThis\n\t? Object.keys(HTMLElement.prototype) : [])\n\t.filter(name => name.startsWith('on')));\n\nexport function normalizeElement(opt, defaultNS = HTMLNS) {\n\tif (typeof opt === 'string') {\n\t\treturn Object.freeze({ name: opt, namespace: defaultNS });\n\t} else if (typeof opt === 'object' && typeof opt.name === 'string') {\n\t\tconst { name, namespace = defaultNS, attributes } = opt;\n\t\treturn Object.freeze({\n\t\t\tname,\n\t\t\tnamespace: typeof namespace === 'string' && namespace.length !== 0 ? namespace : defaultNS,\n\t\t\tattributes,\n\t\t});\n\t} else {\n\t\tthrow new TypeError('Invalid config entry for `elements`.');\n\t}\n}\n\nfunction normalizeElementsConfig({ elements, allowElements }, defaultNS = HTMLNS) {\n\tif (Array.isArray(allowElements)) {\n\t\tconsole.warn('Use of `allowElements` is deprecated. Please use `elements` instead.');\n\t\treturn normalizeElementsConfig({ elements: allowElements }, defaultNS);\n\t} else if (! Array.isArray(elements)) {\n\t\tthrow new TypeError('`elements` expected to be an array.');\n\t} else {\n\t\treturn elements.map(opt => normalizeElement(opt, defaultNS));\n\t}\n}\n\nexport function normalizeAttr(opt, defaultNS) {\n\tif (typeof opt === 'string') {\n\t\treturn Object.freeze({ name: opt, namespace: defaultNS });\n\t} else if (typeof opt === 'object' && typeof opt.name === 'string') {\n\t\tconst { name, namespace = defaultNS, elements, ...rest } = opt;\n\t\treturn Object.freeze({\n\t\t\tname,\n\t\t\tnamespace: typeof namespace === 'string' ? namespace : defaultNS,\n\t\t\telements,\n\t\t\t...rest\n\t\t});\n\t} else {\n\t\tthrow new TypeError('Invalid entry in `attributes` config.');\n\t}\n}\n\nfunction normalizeAttrsConfig({ attributes, allowAttributes }, defaultNS) {\n\tif (typeof allowAttributes !== 'undefined') {\n\t\tconsole.warn('Use of `allowAttributes` is deprecated. Please use `attributes` instead.');\n\t\treturn normalizeAttrsConfig({ attributes: allowAttributes }, defaultNS);\n\t} else if (Array.isArray(attributes)) {\n\t\treturn attributes.map(opt => normalizeAttr(opt, defaultNS));\n\t} else if (typeof attributes === 'object' && attributes !== null) {\n\t\tconsole.warn('`attributes` should be an array, not an oobject.');\n\t\treturn normalizeAttrsConfig({\n\t\t\tattributes: Object.entries(attributes).map(([name, elements]) => ({ name, elements })),\n\t\t}, defaultNS);\n\t} else {\n\t\tthrow new TypeError('`attributes` expected to be an array.');\n\t}\n}\n\nfunction normalizeCommentsConfig({ comments, allowComments }) {\n\tif (typeof allowComments === 'boolean') {\n\t\tconsole.warn('Use of `allowComments` is deprecated. Please use `comments` instead.');\n\t\treturn allowComments;\n\t} else if (typeof comments === 'boolean') {\n\t\treturn comments;\n\t} else {\n\t\treturn true;\n\t}\n}\n\nexport function normalizeConfig(config, {\n\telementNS = HTMLNS,\n\tattributeNS,\n} = {}) {\n\tconst {\n\t\telements,\n\t\tattributes,\n\t\tallowElements,\n\t\tallowAttributes,\n\t\tcomments = false,\n\t\tallowComments,\n\t\tdataAttributes = true,\n\t\t...rest\n\t} = config;\n\tconst cfg = {\n\t\telements: normalizeElementsConfig({ elements, allowElements }, elementNS),\n\t\tattributes: normalizeAttrsConfig({ attributes, allowAttributes }, attributeNS),\n\t\tcomments: comments || allowComments,\n\t\tdataAttributes,\n\t\t...rest,\n\t};\n\n\treturn cfg;\n}\n\nfunction convertAttrConfig({ attributes, allowAttributes }, defaultNS) {\n\treturn Object.freeze(\n\t\tObject.groupBy(\n\t\t\tnormalizeAttrsConfig({ attributes, allowAttributes }, defaultNS),\n\t\t\t({ namespace }) => namespace ?? ''\n\t\t)\n\t);\n}\n\nfunction convertElementConfig({ elements, allowElements }, defaultNS = HTMLNS) {\n\treturn Object.freeze(\n\t\tObject.groupBy(\n\t\t\tnormalizeElementsConfig({ elements, allowElements }, defaultNS),\n\t\t\t({ namespace }) => namespace\n\t\t)\n\t);\n}\n\nexport function convertConfig(config, {\n\telementNS = HTMLNS,\n\tattributeNS,\n} = {}) {\n\tif (typeof config !== 'object' || config === null) {\n\t\tthrow new TypeError('Sanitizer config must be an object.');\n\t} else if (config.get instanceof Function) {\n\t\treturn convertConfig(config.get());\n\t} else {\n\t\treturn Object.freeze({\n\t\t\telements: convertElementConfig(config, elementNS),\n\t\t\tattributes: convertAttrConfig(config, attributeNS),\n\t\t\tcomments: normalizeCommentsConfig(config),\n\t\t\tdataAttributes: typeof config.dataAttributes === 'undefined' ? true : config.dataAttributes,\n\t\t});\n\t}\n}\n","import { normalizeAttr } from '@aegisjsproject/sanitizer/config-utils.js';\n\nexport const attributes = Object.freeze([\n\t'accesskey', 'autocapitalize', 'autofocus', 'class', 'contenteditable',\n\t'dir', 'draggable', 'enterkeyhint', 'exportparts', 'hidden', 'id',\n\t'inert', 'inputmode', 'itemid', 'itemprop', 'itemref',\n\t'itemscope', 'itemtype', 'lang', 'part', 'popover',\n\t'slot', 'spellcheck', 'tabindex', 'title', 'translate',\n\t'virtualkeyboardpolicy',\n\t/**\n\t * Aria-Attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/\n\t */\n\t'aria-keyshortcuts', 'aria-activedescendant', 'aria-atomic', 'aria-autocomplete',\n\t'aria-braillelabel', 'aria-brailleroledescription', 'aria-busy', 'aria-checked',\n\t'aria-colcount', 'aria-colindex', 'aria-colindextext', 'aria-colspan',\n\t'aria-controls', 'aria-current', 'aria-describedby', 'aria-description',\n\t'aria-details', 'aria-disabled', 'aria-dropeffect', 'aria-errormessage',\n\t'aria-expanded', 'aria-flowto', 'aria-grabbed', 'aria-haspopup', 'aria-hidden',\n\t'aria-invalid', 'aria-label', 'aria-labelledby', 'aria-level',\n\t'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation',\n\t'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed',\n\t'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription',\n\t'aria-rowcount', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan',\n\t'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin',\n\t'aria-valuenow', 'aria-valuetext',\n].map(attr => normalizeAttr(attr, null)));\n","/**\n * @copyright 2023-2024 Chris Zuber <admin@kernvalley.us>\n * @see https://wicg.github.io/sanitizer-api/#default-configuration-dictionary\n */\nimport { HTML as namespace } from '@aegisjsproject/sanitizer/namespaces.js';\nimport { normalizeAttr, normalizeElement } from '@aegisjsproject/sanitizer/config-utils.js';\nimport { attributes as globalAttrs } from '@aegisjsproject/sanitizer/config/global.js';\nexport const comments = true;\n\nexport const dataAttributes = true;\n\n/**\n * Tags listed on MDN, + a few deprecated / experimental ones\n * Selector: `#content table td > a[href^=\"/en-US/docs/Web/HTML/Element/\"] > code`\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element\n */\nexport const elements = Object.freeze([\n\t'html', 'head', 'link', 'meta', 'body', 'address', '`article', 'aside', 'footer',\n\t'header', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup', 'main', 'nav', 'section',\n\t'search', 'blockquote', 'cite', 'div', 'dd', 'dt', 'dl', 'figcaption', 'figure',\n\t'hr', 'li', 'ol', 'ul', 'menu', 'p', 'pre', 'a', 'abbr', 'b', 'bdi', 'bdo', 'br',\n\t'code', 'data', 'dfn', 'em', 'i', 'kbd', 'mark', 'q', 'rp', 'ruby', 'rt', 's',\n\t'del', 'ins', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u',\n\t'var', 'wbr', 'area', 'audio', 'img', 'map', 'track', 'video', 'picture',\n\t'source', 'canvas', 'caption', 'col', 'colgroup', 'table', 'tbody', 'tr', 'td',\n\t'tfoot', 'th', 'thead', 'button', 'datalist', 'option', 'fieldset', 'label',\n\t'form', 'input', 'legend', 'meter', 'optgroup', 'select', 'output', 'progress',\n\t'textarea', 'details', 'summary', 'dialog', 'slot', 'template', 'dir',\n\t'strike', 'selectmenu', 'center',\n].map(el => normalizeElement(el, namespace)));\n\nexport const attributes = Object.freeze([\n\t'abbr',\n\t'accept',\n\t'accept-charset',\n\t// 'accesskey', //global\n\t// 'action',\n\t'align',\n\t'alink',\n\t'allow',\n\t'allowfullscreen',\n\t'alt',\n\t'anchor',\n\t'archive',\n\t'as',\n\t'async',\n\t// 'autocapitalize', //global\n\t'autocomplete',\n\t'autocorrect',\n\t// 'autofocus', //global\n\t'autopictureinpicture',\n\t'autoplay',\n\t'axis',\n\t'background',\n\t'behavior',\n\t// 'bgcolor',\n\t'border',\n\t'bordercolor',\n\t'capture',\n\t'cellpadding',\n\t'cellspacing',\n\t'challenge',\n\t'char',\n\t'charoff',\n\t'charset',\n\t'checked',\n\t'cite',\n\t// 'class', //global\n\t'classid',\n\t'clear',\n\t'code',\n\t// 'codebase',\n\t'codetype',\n\t'color',\n\t'cols',\n\t'colspan',\n\t'command',\n\t'commandfor',\n\t'compact',\n\t'content',\n\t// 'contenteditable', //global\n\t'controls',\n\t'controlslist',\n\t'conversiondestination',\n\t'coords',\n\t'crossorigin',\n\t'csp',\n\t'data',\n\t'datetime',\n\t'declare',\n\t'decoding',\n\t'default',\n\t'defer',\n\t// 'dir', //global\n\t'direction',\n\t'dirname',\n\t'disabled',\n\t'disablepictureinpicture',\n\t'disableremoteplayback',\n\t'disallowdocumentaccess',\n\t'download',\n\t// 'draggable', //global\n\t'elementtiming',\n\t'enctype',\n\t'end',\n\t// 'enterkeyhint', //global\n\t// 'event',\n\t// 'exportparts', //global\n\t// 'face',\n\t'for',\n\t'form',\n\t// 'formaction',\n\t'formenctype',\n\t'formmethod',\n\t'formnovalidate',\n\t'formtarget',\n\t// 'frame',\n\t'frameborder',\n\t'headers',\n\t'height',\n\t// 'hidden', //global\n\t'high',\n\t'href',\n\t'hreflang',\n\t'hreftranslate',\n\t'hspace',\n\t// 'http-equiv',\n\t// 'id', //global\n\t'imagesizes',\n\t'imagesrcset',\n\t'importance',\n\t'impressiondata',\n\t'impressionexpiry',\n\t'incremental',\n\t// 'inert', //global\n\t// 'inputmode', //global\n\t'integrity',\n\t'invisible',\n\t'is',\n\t'ismap',\n\t'keytype',\n\t'kind',\n\t'label',\n\t// 'lang', //global\n\t'language',\n\t'latencyhint',\n\t'leftmargin',\n\t'link',\n\t'list',\n\t'loading',\n\t'longdesc',\n\t'loop',\n\t'low',\n\t'lowsrc',\n\t'manifest',\n\t'marginheight',\n\t'marginwidth',\n\t'max',\n\t'maxlength',\n\t'mayscript',\n\t'media',\n\t'method',\n\t'min',\n\t'minlength',\n\t'multiple',\n\t'muted',\n\t'name',\n\t'nohref',\n\t'nomodule',\n\t// 'nonce',\n\t'noresize',\n\t'noshade',\n\t'novalidate',\n\t'nowrap',\n\t'object',\n\t'open',\n\t'optimum',\n\t// 'part', //global\n\t'pattern',\n\t'ping',\n\t'placeholder',\n\t'playsinline',\n\t'policy',\n\t// 'popover', //global\n\t'popovertarget',\n\t'popovertargetaction',\n\t'poster',\n\t'preload',\n\t'pseudo',\n\t'readonly',\n\t'referrerpolicy',\n\t'rel',\n\t'reportingorigin',\n\t'required',\n\t'resources',\n\t'rev',\n\t'reversed',\n\t'role',\n\t'rows',\n\t'rowspan',\n\t'rules',\n\t'sandbox',\n\t'scheme',\n\t'scope',\n\t'scopes',\n\t'scrollamount',\n\t'scrolldelay',\n\t'scrolling',\n\t'select',\n\t'selected',\n\t'shadowrootclonable',\n\t'shadowrootdelegatesfocus',\n\t'shadowrootmode',\n\t'shadowrootserializable',\n\t'shape',\n\t'size',\n\t'sizes',\n\t// 'slot', //global\n\t'span',\n\t// 'spellcheck', //global\n\t'src',\n\t'srcdoc',\n\t'srclang',\n\t'srcset',\n\t'standby',\n\t'start',\n\t'step',\n\t// 'style',\n\t'summary',\n\t// 'tabindex',//global\n\t'target',\n\t'text',\n\t// 'title', //global\n\t'topmargin',\n\t// 'translate', //global\n\t'truespeed',\n\t'trusttoken',\n\t'type',\n\t'usemap',\n\t'valign',\n\t'value',\n\t'valuetype',\n\t'version',\n\t// 'virtualkeyboardpolicy', //global\n\t'vlink',\n\t'vspace',\n\t'webkitdirectory',\n\t'width',\n\t'wrap',\n].map(attr => normalizeAttr(attr, null)).concat(globalAttrs));\n\nexport const sanitizer = Object.freeze({ comments, elements, attributes, dataAttributes });\n","import { SVG as SVGNS, XLINK, XML as XMLNS } from '@aegisjsproject/sanitizer/namespaces.js';\nimport { attributes as globalAttrs } from '@aegisjsproject/sanitizer/config/global.js';\nimport { normalizeAttr, normalizeElement } from '@aegisjsproject/sanitizer/config-utils.js';\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element\n */\n\nexport const comments = true;\n\nexport const dataAttributes = true;\n\nexport const elements = Object.freeze([\n\t'a', 'animate', 'animateMotion', 'animateTransform', 'circle', 'clipPath',\n\t'defs', 'desc', 'ellipse', 'feBlend', 'feColorMatrix', 'feComponentTransfer',\n\t'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap',\n\t'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG',\n\t'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology',\n\t'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile',\n\t'feTurbulence', 'filter', 'foreignObject', 'g', 'line', 'linearGradient',\n\t'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline',\n\t'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch',\n\t'symbol', 'text', 'textPath', 'title', 'tspan', 'view', 'missing-glyph', 'font',\n\t'font-face', 'font-face-format', 'font-face-name', 'font-face-src',\n\t'font-face-uri', 'hkern', 'vkern', 'glyph', 'glyphRef', 'tref', 'cursor', 'use',\n].map(el => normalizeElement(el, SVGNS)));\n\nexport const attributes = Object.freeze([\n\t'accent-height', 'accumulate', 'additive', 'alignment-baseline',\n\t'alphabetic', 'amplitude', 'arabic-form', 'ascent', 'attributeName',\n\t'attributeType', 'azimuth', 'baseFrequency', 'baseline-shift', 'baseProfile',\n\t'bbox', 'begin', 'bias', 'by', 'calcMode', 'cap-height', 'class', 'clip',\n\t'clipPathUnits', 'clip-path', 'clip-rule', 'color', 'color-interpolation',\n\t'color-interpolation-filters', 'color-profile', 'color-rendering', 'crossorigin',\n\t'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction',\n\t'display', 'divisor', 'dominant-baseline', 'dur', 'dx', 'dy', 'edgeMode',\n\t'elevation', 'enable-background', 'end', 'exponent', 'fill', 'fill-opacity',\n\t'fill-rule', 'filter','filterUnits', 'flood-color', 'flood-opacity',\n\t'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style',\n\t'font-variant', 'font-weight', 'format', 'from', 'fr', 'fx', 'fy', 'g1', 'g2',\n\t'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical',\n\t'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'height', 'href',\n\t'hreflang', 'horiz-adv-x', 'horiz-origin-x', 'id', 'ideographic', 'image-rendering',\n\t'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kernelMatrix',\n\t'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lang',\n\t'lengthAdjust', 'letter-spacing', 'lighting-color', 'limitingConeAngle', 'local',\n\t'marker-end', 'marker-mid', 'marker-start', 'markerHeight', 'markerUnits',\n\t'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'max',\n\t'media', 'method', 'min', 'mode', 'name', 'numOctaves', 'offset', 'opacity',\n\t'operator', 'order', 'orient', 'orientation', 'origin', 'overflow',\n\t'overline-position', 'overline-thickness', 'panose-1', 'paint-order',\n\t'path', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits',\n\t'ping', 'pointer-events', 'points', 'pointsAtX', 'pointsAtY', 'pointsAtZ',\n\t'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius',\n\t'referrerPolicy', 'refX', 'refY', 'rel', 'rendering-intent', 'repeatCount',\n\t'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result',\n\t'rotate', 'rx', 'ry', 'scale', 'seed', 'shape-rendering', 'slope', 'spacing',\n\t'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset',\n\t'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stop-color', 'stop-opacity',\n\t'strikethrough-position', 'strikethrough-thickness', 'string', 'stroke',\n\t'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin',\n\t'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'style', 'surfaceScale',\n\t'systemLanguage', 'tabindex', 'tableValues', 'target', 'targetX', 'targetY',\n\t'text-anchor', 'text-decoration', 'text-rendering', 'textLength', 'to', 'transform',\n\t'transform-origin', 'type', 'u1', 'u2', 'underline-position', 'underline-thickness',\n\t'unicode', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic',\n\t'v-hanging', 'v-ideographic', 'v-mathematical', 'values', 'vector-effect',\n\t'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'viewBox',\n\t'visibility', 'width', 'widths', 'word-spacing', 'writing-mode', 'x', 'x-height',\n\t'x1', 'x2', 'xChannelSelector', 'y', 'y1', 'y2', 'yChannelSelector', 'z',\n\t'zoomAndPan', 'autoReverse', 'accelerate', 'xmlns',\n\t{ name: 'actuate', namespace: XLINK },\n\t{ name: 'arcrole', namespaec: XLINK },\n\t{ name: 'href', namespace: XLINK },\n\t{ name: 'role', namespace: XLINK },\n\t{ name: 'show', namespace: XLINK },\n\t{ name: 'title', namespace: XLINK },\n\t{ name: 'type', namespace: XLINK },\n\t{ name: 'space', namespace: XMLNS },\n].map(attr => normalizeAttr(attr, SVGNS))).concat(globalAttrs);\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n\n","import { MATHML as MATHNS } from '@aegisjsproject/sanitizer/namespaces.js';\nimport { attributes as globalAttrs } from '@aegisjsproject/sanitizer/config/global.js';\nimport { normalizeAttr, normalizeElement } from '@aegisjsproject/sanitizer/config-utils.js';\n\nexport const comments = true;\n\nexport const dataAttributes = true;\n\n/**\n *@see https://developer.mozilla.org/en-US/docs/Web/MathML/Element\n */\nexport const elements = Object.freeze([\n\t'math', 'maction', 'annotation', 'annotation-xml', 'menclose', 'merror',\n\t'mfenced', 'mfrac', 'mi', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded',\n\t'mphantom', 'mprescripts', 'mroot', 'mrow', 'ms', 'semantics', 'mspace',\n\t'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext',\n\t'mtr', 'munder', 'munderover',\n].map(el => normalizeElement(el, MATHNS)));\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute\n */\nexport const attributes = Object.freeze([\n\t'accent', 'accentunder', 'actiontype', 'align',\n\t'background', 'close', 'color', 'columnalign', 'columnlines', 'columnspacing',\n\t'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'fence',\n\t'fontfamily', 'fontsize', 'fontstyle', 'fontweight', 'frame', 'framespacing',\n\t'height', 'href', 'id', 'linethickness', 'lspace', 'lquote', 'mathbackground',\n\t'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits',\n\t'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan',\n\t'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier',\n\t'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'superscriptshift',\n\t'symmetric', 'voffset', 'width', 'xmlns',\n].map(attr => normalizeAttr(attr, MATHNS)).concat(globalAttrs));\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n","import { elements as HTMLElements, attributes as HTMLAttributes } from '@aegisjsproject/sanitizer/config/html.js';\nimport { elements as SVGElements, attributes as SVGAttributes } from '@aegisjsproject/sanitizer/config/svg.js';\n\nexport const elements = Object.freeze(Array.from(new Set(HTMLElements).union(new Set(SVGElements))));\n\nexport const attributes = Object.freeze(Array.from(new Set(HTMLAttributes).union(new Set(SVGAttributes))));\n\nexport const comments = false;\n\nexport const dataAttributes = true;\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n","import { elements as HTMLElements, attributes as HTMLAttributes } from '@aegisjsproject/sanitizer/config/html.js';\nimport { elements as SVGElements, attributes as SVGAttributes } from '@aegisjsproject/sanitizer/config/svg.js';\nimport { elements as MathMLElements, attributes as MathMLAttributes } from '@aegisjsproject/sanitizer/config/mathml.js';\n\nexport const elements = Object.freeze(Array.from(new Set(HTMLElements).union(new Set(SVGElements)).union(new Set(MathMLElements))));\n\nexport const attributes = Object.freeze(Array.from(new Set(HTMLAttributes).union(new Set(SVGAttributes)).union(new Set(MathMLAttributes))));\n\nexport const comments = true;\n\nexport const dataAttributes = true;\n\nexport const sanitizer = Object.freeze({ elements, attributes, comments, dataAttributes });\n","import { sanitizer as sanitizerConfig } from '@aegisjsproject/sanitizer/config/html.js';\nimport { convertConfig, EVENT_ATTRS } from '@aegisjsproject/sanitizer/config-utils.js';\nimport { createPolicy } from '@aegisjsproject/sanitizer/trust.js';\n\nconst LINK_ATTRS = new Set(['href', 'src' , 'action', 'xlink:href']);\nconst ILLEGAL_PROTOCOLS = new Set(['javascript:', 'data:', 'file:', 'ftp:']);\n\nconst policy = createPolicy('aegis-sanitizer#html', { createHTML: input => input });\n\nexport function setHTML(el, content, {\n\telements = sanitizerConfig.elements,\n\tattributes = sanitizerConfig.attributes,\n\tcomments = sanitizerConfig.comments,\n\tdataAttributes = sanitizerConfig.dataAttributes,\n\tsanitizer,\n\t...rest\n} = sanitizerConfig, { allowInsecure = false } = {}) {\n\tconst tmp = document.createElement('template');\n\ttmp.setHTMLUnsafe(policy.createHTML(content));\n\tsanitize(tmp.content, { elements, attributes, comments, dataAttributes, sanitizer, ...rest }, allowInsecure);\n\tel.replaceChildren(tmp.content);\n}\n\nexport function parseHTML(content, {\n\telements = sanitizerConfig.elements,\n\tattributes = sanitizerConfig.attributes,\n\tcomments = sanitizerConfig.comments,\n\tdataAttributes = sanitizerConfig.dataAttributes,\n\tsanitizer,\n\t...rest\n} = sanitizerConfig, { allowInsecure = false } = {}) {\n\tconst doc = new DOMParser().parseFromString(policy.createHTML(content), 'text/html');\n\tsanitize(doc, { elements, attributes, comments, dataAttributes, sanitizer, ...rest }, allowInsecure);\n\treturn doc;\n}\n\nexport function sanitize(node, config = sanitizerConfig, allowInsecure = false) {\n\tif (! (node instanceof Node)) {\n\t\tthrow new TypeError('Not a node.');\n\t} else {\n\t\tconst converted = convertConfig(config);\n\t\treturn sanitizeNode(node, converted, allowInsecure);\n\t}\n}\n\nfunction isAllowedElement(el, config) {\n\treturn el.namespaceURI in config.elements\n\t\t&& config.elements[el.namespaceURI].some(opt => opt.name === el.localName);\n}\n\nfunction isIllegalURLAttr(attr) {\n\tif (! LINK_ATTRS.has(attr.name)) {\n\t\treturn false;\n\t} else if (! URL.canParse(attr.value)) {\n\t\treturn false;\n\t} else {\n\t\tconst { protocol } = new URL(attr.value);\n\t\treturn ILLEGAL_PROTOCOLS.has(protocol);\n\t}\n}\n\nconst isScriptAttr = 'trustedTypes' in globalThis\n\t? attr => trustedTypes.getAttributeType(\n\t\tattr.ownerElement.tagName, attr.localName,\n\t\tattr.ownerElement.namespaceURI, attr.namespaceURI,\n\t) !== null\n\t: attr => EVENT_ATTRS.has(attr.localName);\n\nfunction isAllowedAttr(attr, config, allowInsecure = false) {\n\tconst ns = attr.namespaceURI || '';\n\n\treturn (\n\t\t(! ('dataAttributes' in config) || config.dataAttributes)\n\t\t&& attr.name.startsWith('data-')\n\t) || (\n\t\tns in config.attributes\n\t\t&& config.attributes[ns].some(opt => opt.name === attr.localName)\n\t\t&& ! (allowInsecure || isScriptAttr(attr))\n\t\t&& ! (allowInsecure || isIllegalURLAttr(attr))\n\t);\n}\n\nfunction sanitizeNode(node, config, allowInsecure = false) {\n\tswitch(node.nodeType) {\n\t\tcase Node.ELEMENT_NODE:\n\t\t\tsanitizeElement(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.DOCUMENT_NODE:\n\t\tcase Node.DOCUMENT_FRAGMENT_NODE:\n\t\t\tsanitizeFragOrDoc(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.COMMENT_NODE:\n\t\t\tsanitizeComment(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.ATTRIBUTE_NODE:\n\t\t\tsanitizeAttr(node, config, allowInsecure);\n\t\t\tbreak;\n\n\t\tcase Node.TEXT_NODE:\n\t\tcase Node.DOCUMENT_TYPE_NODE:\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tif (node.ownerElement instanceof Element) {\n\t\t\t\tnode.ownerElement.removeChild(node);\n\t\t\t}\n\t}\n}\n\nfunction sanitizeElement(el, config, allowInsecure) {\n\tif (! isAllowedElement(el, config)) {\n\t\tel.remove();\n\t} else {\n\t\tif (el.hasAttributes()) {\n\t\t\tconst attrs = el.attributes;\n\n\t\t\tfor (let i = attrs.length - 1; i !== -1; i--) {\n\t\t\t\tsanitizeAttr(attrs[i], config, allowInsecure);\n\t\t\t}\n\t\t}\n\n\t\tif (el.tagName === 'TEMPLATE') {\n\t\t\tsanitizeFragOrDoc(el.content, config, allowInsecure);\n\t\t} else if (el.hasChildNodes()) {\n\t\t\tconst childNodes = el.childNodes;\n\n\t\t\tfor (let i = childNodes.length - 1; i !== -1; i--) {\n\t\t\t\tsanitizeNode(childNodes[i], config, allowInsecure);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction sanitizeAttr(attr, config, allowInsecure = false) {\n\tif (! isAllowedAttr(attr, config, allowInsecure) && attr.ownerElement instanceof Element) {\n\t\tattr.ownerElement.removeAttributeNode(attr);\n\t}\n}\n\nfunction sanitizeFragOrDoc(node, config, allowInsecure = false) {\n\tif (node.hasChildNodes()) {\n\t\tconst childNodes = node.childNodes;\n\n\t\tfor (let i = childNodes.length - 1; i !== -1; i--) {\n\t\t\tsanitizeNode(childNodes[i], config, allowInsecure);\n\t\t}\n\t}\n}\n\nfunction sanitizeComment(node, config) {\n\tif (! config.comments) {\n\t\tnode.remove();\n\t}\n}\n","export function createPolicy(name, { createHTML: html, createScript: script, createScriptURL: scriptURL }) {\n\tif ('trustedTypes' in globalThis) {\n\t\treturn trustedTypes.createPolicy(name, { createHTML: html, createScript: script, createScriptURL: scriptURL });\n\t} else {\n\t\treturn Object.freeze({\n\t\t\t[Symbol.for('policy-name')]: name.toString(),\n\t\t\tcreateHTML(input, ...args) {\n\t\t\t\tif (html instanceof Function) {\n\t\t\t\t\tconst result = html(input.toString(), ...args).toString();\n\n\t\t\t\t\treturn Object.freeze({\n\t\t\t\t\t\ttoString() {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthrow new TypeError(`Policy \"${name}\" does not provide a createHTML method.`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcreateScript(input, ...args) {\n\t\t\t\tif (script instanceof Function) {\n\t\t\t\t\tconst result = script(input.toString(), ...args).toString();\n\n\t\t\t\t\treturn Object.freeze({\n\t\t\t\t\t\ttoString() {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthrow new TypeError(`Policy \"${name}\" does not provide a createScript method.`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tcreateScriptURL(input, ...args) {\n\t\t\t\tif (scriptURL instanceof Function) {\n\t\t\t\t\tconst result = scriptURL(input.toString(), ...args).toString();\n\n\t\t\t\t\treturn Object.freeze({\n\t\t\t\t\t\ttoString() {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthrow new TypeError(`Policy \"${name}\" does not provide a createScriptURL method.`);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t}\n}\n\nexport function createSanitizerPolicy(name = 'aegis#html', { defaultConfig = {} }= {}) {\n\treturn createPolicy(name, {\n\t\tcreateHTML(input, {\n\t\t\telements = defaultConfig.elements,\n\t\t\tattributes = defaultConfig.attributes,\n\t\t\tcomments = defaultConfig.comments,\n\t\t\tdataAttributes = defaultConfig.dataAttributes,\n\t\t\tsanitizer,\n\t\t\t...rest\n\t\t} = defaultConfig) {\n\t\t\tconst el = document.createElement('div');\n\n\t\t\tif (typeof sanitizer === 'object') {\n\t\t\t\tel.setHTML(input, { sanitizer });\n\t\t\t} else {\n\t\t\t\tel.setHTML(input, { sanitizer: { elements, attributes, comments, dataAttributes, ...rest }});\n\n\t\t\t}\n\t\t\treturn el.innerHTML;\n\t\t}\n\t});\n}\n","if (! ('command' in HTMLButtonElement.prototype)) {\n\tconst COMMAND_FOR = Symbol('command:for');\n\n\tconst CLICK_OPTIONS = { passive: true };\n\n\tObject.defineProperty(HTMLButtonElement.prototype, 'command', {\n\t\tget() {\n\t\t\treturn this.getAttribute('command');\n\t\t},\n\t\tset(val) {\n\t\t\tif (typeof val === 'string') {\n\t\t\t\tthis.setAttribute('command', val);\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('command');\n\t\t\t}\n\t\t}\n\t});\n\n\tObject.defineProperty(HTMLButtonElement.prototype, 'commandForElement', {\n\t\tget() {\n\t\t\tif (this[COMMAND_FOR] instanceof Element) {\n\t\t\t\treturn this[COMMAND_FOR];\n\t\t\t} else if (this.hasAttribute('commandfor')) {\n\t\t\t\treturn document.getElementById(this.getAttribute('commandfor'));\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tset(val) {\n\t\t\tif (! (val instanceof Element)) {\n\t\t\t\tthis.removeAttribute('commandfor');\n\t\t\t\tthis[COMMAND_FOR] = null;\n\t\t\t} else if (val.id.length === 0) {\n\t\t\t\tthis.setAttribute('commandfor', '');\n\t\t\t\tthis[COMMAND_FOR] = val;\n\t\t\t} else {\n\t\t\t\tthis.setAttribute('commandfor', val.id);\n\t\t\t\tthis[COMMAND_FOR] = null;\n\t\t\t}\n\t\t}\n\t});\n\n\tclass CommandEvent extends Event {\n\t\t#source = null;\n\t\t#command = '';\n\n\t\tconstructor(type, { source, command, bubbles, cancelable, composed } = {}) {\n\t\t\tsuper(type, { bubbles, cancelable, composed });\n\n\t\t\tif (typeof command === 'string') {\n\t\t\t\tthis.#command = command;\n\t\t\t}\n\n\t\t\tif (source instanceof HTMLButtonElement) {\n\t\t\t\tthis.#source = source;\n\t\t\t}\n\t\t}\n\n\t\tget command() {\n\t\t\treturn this.#command;\n\t\t}\n\n\t\tget source() {\n\t\t\treturn this.#source;\n\t\t}\n\t}\n\n\tfunction dispatchCommand({ currentTarget }) {\n\t\tif (currentTarget instanceof HTMLButtonElement && currentTarget.hasAttribute('command') && currentTarget.hasAttribute('commandfor')) {\n\t\t\tconst target = currentTarget.commandForElement;\n\t\t\tconst command = currentTarget.command;\n\n\t\t\tif (target instanceof Element && typeof command === 'string') {\n\t\t\t\tconst event = new CommandEvent('command', { command, source: currentTarget, cancelable: true });\n\t\t\t\ttarget.dispatchEvent(event);\n\n\t\t\t\tif (! event.defaultPrevented) {\n\t\t\t\t\tswitch(command) {\n\t\t\t\t\t\tcase 'show-modal':\n\t\t\t\t\t\t\tif (target instanceof HTMLDialogElement) {\n\t\t\t\t\t\t\t\ttarget.showModal();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'close':\n\t\t\t\t\t\t\tif (target instanceof HTMLDialogElement) {\n\t\t\t\t\t\t\t\ttarget.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'request-close':\n\t\t\t\t\t\t\tif (target instanceof HTMLDialogElement) {\n\t\t\t\t\t\t\t\ttarget.requestClose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'show-popover':\n\t\t\t\t\t\t\ttarget.showPopover();\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'hide-popover':\n\t\t\t\t\t\t\ttarget.hidePopover();\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'toggle-popover':\n\t\t\t\t\t\t\ttarget.togglePopover();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst observer = new MutationObserver(mutations => {\n\t\tfor (const mutation of mutations) {\n\t\t\tif (mutation.type === 'childList') {\n\t\t\t\tfor (const node of mutation.addedNodes) {\n\t\t\t\t\tif (node instanceof HTMLButtonElement && node.hasAttribute('command') && node.hasAttribute('commandfor')) {\n\t\t\t\t\t\tnode.addEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t\t} else if (node instanceof Element) {\n\t\t\t\t\t\tfor (const btn of node.querySelectorAll('button[command][commandfor]')) {\n\t\t\t\t\t\t\tbtn.addEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tmutation.type === 'attributes'\n\t\t\t\t&& mutation.target instanceof HTMLButtonElement\n\t\t\t\t&& typeof mutation.oldValue !== typeof mutation.target.getAttribute(mutation.attributeName)\n\t\t\t) {\n\t\t\t\tif (mutation.target.hasAttribute('command') && mutation.target.hasAttribute('commandfor')) {\n\t\t\t\t\tmutation.target.addEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t} else {\n\t\t\t\t\tmutation.target.removeEventListener('click', dispatchCommand, CLICK_OPTIONS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tconst config = { childList: true, subtree: true, attributes: true, attributeFilter: ['command', 'commandfor'], attributeOldValue: true };\n\tobserver.observe(document, config);\n\tdocument.querySelectorAll('button').forEach(btn => btn.addEventListener('click', dispatchCommand, CLICK_OPTIONS));\n\tglobalThis.CommandEvent = CommandEvent;\n\t// For use in Shadow DOM\n\tglobalThis[Symbol.for('polyfill-command')] = target => observer.observe(target, config);\n}\n","import './sanitizer.js';\nimport { setHTML as html, parseHTML as parse } from '@aegisjsproject/sanitizer/sanitize.js';\n\nif (! (Promise.withResolvers instanceof Function)) {\n\tPromise.withResolvers = function withResolvers() {\n\t\tconst def = {};\n\t\tdef.promise = new Promise((resolve, reject) => {\n\t\t\tdef.resolve = resolve;\n\t\t\tdef.reject = reject;\n\t\t});\n\t\treturn def;\n\t};\n}\n\n/**\n * This is needed for working with sanitizer configs & attrs\n */\n\nif (! (URL.canParse instanceof Function)) {\n\tURL.canParse = function canParse(url, base) {\n\t\ttry {\n\t\t\tnew URL(url, base);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t};\n}\n\nif (! (URL.parse instanceof Function)) {\n\tURL.parse = function parse(url, base) {\n\t\ttry {\n\t\t\treturn new URL(url, base);\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\nif (! (Object.groupBy instanceof Function)) {\n\tObject.groupBy = function groupBy(arr, callback) {\n\t\tconst obj = {};\n\t\tfor (const item of arr) {\n\t\t\tconst key = callback(item);\n\n\t\t\tif (! (key in obj)) {\n\t\t\t\tobj[key] = [item];\n\t\t\t} else {\n\t\t\t\tobj[key].push(item);\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t};\n}\n\nif (! (Element.prototype.setHTML instanceof Function)) {\n\tElement.prototype.setHTML = function setHTML(content, {\n\t\telements,\n\t\tattributes,\n\t\tcomments,\n\t\tdataAttributes,\n\t\tsanitizer,\n\t\t...rest\n\t} = {}) {\n\t\t/**\n\t\t * @todo Remove legacy support for v1.0.0\n\t\t */\n\t\tif (typeof sanitizer === 'object' && sanitizer !== null) {\n\t\t\thtml(this, content, sanitizer.getConfiguration instanceof Function\n\t\t\t\t? sanitizer.getConfiguration()\n\t\t\t\t: sanitizer);\n\t\t} else {\n\t\t\thtml(this, content, { elements, attributes, comments, dataAttributes, ...rest });\n\t\t}\n\t};\n\n\tDocumentFragment.prototype.setHTML = function setHTML(...args) {\n\t\tElement.prototype.setHTML.apply(this, args);\n\t};\n\n\tHTMLTemplateElement.prototype.setHTML = function setHTML(html, config) {\n\t\tthis.content.setHTML(html, config);\n\t};\n}\n\nif (! (Document.parseHTML instanceof Function)) {\n\tDocument.parseHTML = function parseHTML(content, {\n\t\telements,\n\t\tattributes,\n\t\tcomments,\n\t\tdataAttributes,\n\t\tsanitizer,\n\t\t...rest\n\t} = {}) {\n\t\t/**\n\t\t * @todo Remove legacy support for v1.0.0\n\t\t */\n\t\tif (typeof sanitizer === 'object' && sanitizer !== null) {\n\t\t\treturn Document.parseHTML(content, sanitizer.getConfiguration instanceof Function\n\t\t\t\t? sanitizer.getConfiguration()\n\t\t\t\t: sanitizer);\n\t\t} else {\n\t\t\treturn parse(content, { elements, attributes, comments, dataAttributes, ...rest });\n\t\t}\n\t};\n}\n","import { aria } from './aom.js';\nimport { polyfillGetterSetter, polyfillMethod, overwriteMethod } from './utils.js';\nimport { getHTML, setHTMLUnsafe } from './methods/dom.js';\nimport './sanitizer.js';\nimport './command.js';\n\npolyfillMethod(Element.prototype, 'setHTMLUnsafe', setHTMLUnsafe);\npolyfillMethod(Element.prototype, 'getHTML', getHTML);\n\nif ('CustomElementRegistry' in globalThis && ! (CustomElementRegistry.prototype.getName instanceof Function)) {\n\tconst registry = new Map();\n\n\toverwriteMethod(CustomElementRegistry.prototype, 'define', original => {\n\t\treturn (tag, proto, opts) => {\n\t\t\toriginal.call(customElements, tag,proto, opts);\n\t\t\tregistry.set(proto, typeof opts.extends === 'string' ? opts.extends : tag);\n\t\t};\n\t});\n\n\tpolyfillMethod(CustomElementRegistry.prototype, 'getName', proto => {\n\t\tif (typeof proto === 'function') {\n\t\t\treturn registry.get(proto) ?? null;\n\t\t} else if (typeof proto === 'object' && proto !== null) {\n\t\t\t// Unnecessary, but just to be sure the same errors are thrown.\n\t\t\tthrow new TypeError('CustomElementRegistry.getName: Argument 1 is not callable.');\n\t\t} else {\n\t\t\tthrow new TypeError('CustomElementRegistry.getName: Argument 1 is not an object.');\n\t\t}\n\t});\n}\n\nfunction handlePopover({ currentTarget }) {\n\tswitch(currentTarget.popoverTargetAction) {\n\t\tcase 'show':\n\t\t\tcurrentTarget.popoverTargetElement.showPopover();\n\t\t\tbreak;\n\n\t\tcase 'hide':\n\t\t\tcurrentTarget.popoverTargetElement.hidePopover();\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tcurrentTarget.popoverTargetElement.togglePopover();\n\t}\n}\n\nexport function initPopover(target = document.body) {\n\ttarget.querySelectorAll('button[popovertarget], input[type=\"button\"][popovertarget]')\n\t\t.forEach(el => el.addEventListener('click', handlePopover));\n}\n\nif (! (globalThis.ToggleEvent instanceof Function)) {\n\tclass ToggleEvent extends Event {\n\t\t#newState;\n\t\t#oldState;\n\n\t\tconstructor(type, { newState, oldState }) {\n\t\t\tsuper(type, { bubbles: true });\n\t\t\tthis.#newState = newState;\n\t\t\tthis.#oldState = oldState;\n\t\t}\n\n\t\tget newState() {\n\t\t\treturn this.#newState;\n\t\t}\n\n\t\tget oldState() {\n\t\t\treturn this.#oldState;\n\t\t}\n\t}\n\n\tglobalThis.ToggleEvent = ToggleEvent;\n}\n\nif (! (HTMLElement.prototype.showPopover instanceof Function)) {\n\tconst isPopoverOpen = el => el.classList.contains('_popover-open');\n\n\tObject.defineProperties(HTMLElement.prototype, {\n\t\tshowPopover: {\n\t\t\tvalue: function showPopover() {\n\t\t\t\tif (! isPopoverOpen(this)) {\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('beforetoggle', { oldState: 'closed', newState: 'open' }));\n\n\t\t\t\t\tif (this.getAttribute('popover') === 'auto') {\n\t\t\t\t\t\tconst controller = new AbortController();\n\n\t\t\t\t\t\tdocument.body.addEventListener('click', ({ target }) => {\n\t\t\t\t\t\t\tif (! this.contains(target) && ! this.isSameNode(target.popoverTargetElement)) {\n\t\t\t\t\t\t\t\tcontroller.abort();\n\t\t\t\t\t\t\t\tthis.hidePopover();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { signal: controller.signal, capture: true });\n\n\t\t\t\t\t\tdocument.body.addEventListener('keydown', ({ key }) => {\n\t\t\t\t\t\t\tif (key === 'Escape') {\n\t\t\t\t\t\t\t\tcontroller.abort();\n\t\t\t\t\t\t\t\tthis.hidePopover();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { signal: controller.signal, capture: true });\n\n\t\t\t\t\t\tdocument.addEventListener('beforetoggle', ({ target }) => {\n\t\t\t\t\t\t\tif (! target.isSameNode(this) && target.getAttribute('popover') === 'auto') {\n\t\t\t\t\t\t\t\tcontroller.abort();\n\t\t\t\t\t\t\t\tthis.hidePopover();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, { signal: controller.signal });\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.classList.add('_popover-open');\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('toggle', { oldState: 'closed', newState: 'open' }));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thidePopover: {\n\t\t\tvalue: function hidePopover() {\n\t\t\t\tif (isPopoverOpen(this)) {\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('beforetoggle', { oldState: 'open', newState: 'closed' }));\n\t\t\t\t\tqueueMicrotask(() => this.classList.remove('_popover-open'));\n\t\t\t\t\tthis.dispatchEvent(new ToggleEvent('toggle', { oldState: 'open', newState: 'closed' }));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttogglePopover: {\n\t\t\tvalue: function togglePopover() {\n\t\t\t\tisPopoverOpen(this) ? this.hidePopover() : this.showPopover();\n\t\t\t}\n\t\t}\n\t});\n\n\tObject.defineProperties(HTMLButtonElement.prototype, {\n\t\tpopoverTargetElement: {\n\t\t\tget() {\n\t\t\t\treturn document.getElementById(this.getAttribute('popovertarget'));\n\t\t\t}\n\t\t},\n\t\tpopoverTargetAction: {\n\t\t\tget() {\n\t\t\t\treturn this.getAttribute('popovertargetaction') || 'toggle';\n\t\t\t},\n\t\t\tset(val) {\n\t\t\t\tthis.setAttribute('popovertargetaction', val);\n\t\t\t}\n\t\t}\n\t});\n\n\tinitPopover();\n}\n\nif (! (HTMLScriptElement.supports instanceof Function)) {\n\tHTMLScriptElement.supports = function supports(type) {\n\t\tswitch(type.toLowerCase()) {\n\t\t\tcase 'classic':\n\t\t\t\treturn true;\n\n\t\t\tcase 'module':\n\t\t\t\treturn 'noModule' in HTMLScriptElement.prototype;\n\n\t\t\tcase 'importmap':\n\t\t\t\treturn false;\n\n\t\t\tcase 'speculationrules':\n\t\t\t\treturn false;\n\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n}\n\nif (! Element.prototype.hasOwnProperty(aria.role)) {\n\tconst enumerable = true;\n\tconst configurable = true;\n\n\tconst props = Object.fromEntries(Object.entries(aria).map(([prop, attr]) => [prop, {\n\t\tget: function() {\n\t\t\treturn this.getAttribute(attr);\n\t\t},\n\t\tset: function(val) {\n\t\t\tif (typeof val === 'string') {\n\t\t\t\tthis.setAttribute(attr, val);\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute(attr);\n\t\t\t}\n\t\t},\n\t\tenumerable, configurable,\n\t}]));\n\n\tObject.defineProperties(Element.prototype, props);\n}\n\nif (! HTMLElement.prototype.hasOwnProperty('inert')) {\n\t// CSS will handle pointer events\n\tconst previous = new WeakMap();\n\tconst restoreTabIndex = el => {\n\t\tif (previous.has(el)) {\n\t\t\tel.tabIndex = previous.get(el);\n\t\t}\n\n\t\tif (el.hasChildNodes()) {\n\t\t\t[...el.children].forEach(restoreTabIndex);\n\t\t}\n\t};\n\n\tconst setTabIndex = el => {\n\t\tif (el.tabIndex !== -1) {\n\t\t\tprevious.set(el, el.tabIndex);\n\t\t\tel.tabIndex = -1;\n\t\t}\n\n\t\tif (el.hasChildNodes()) {\n\t\t\t[...el.children].forEach(setTabIndex);\n\t\t}\n\t};\n\n\tObject.defineProperty(HTMLElement.prototype, 'inert', {\n\t\tget: function() {\n\t\t\treturn this.hasAttribute('inert');\n\t\t},\n\t\tset: function(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.setAttribute('aria-hidden', 'true');\n\t\t\t\tthis.setAttribute('inert', '');\n\t\t\t\tsetTabIndex(this);\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('aria-hidden');\n\t\t\t\tthis.removeAttribute('inert');\n\t\t\t\trestoreTabIndex(this);\n\t\t\t}\n\t\t},\n\t\tenumerable: true, configurable: true,\n\t});\n}\n\nif (! HTMLImageElement.prototype.hasOwnProperty('complete')) {\n\t/**\n\t * Note: This shim cannot detect if an image has an error while loading\n\t * and will return false on an invalid URL, for example. It also does not\n\t * work for 0-sized images, if such a thing is possible.\n\t */\n\tObject.defineProperty(HTMLImageElement.prototype, 'complete', {\n\t\tget: function() {\n\t\t\treturn this.src === '' || this.naturalHeight > 0;\n\t\t}\n\t});\n}\n\nif (! (HTMLImageElement.prototype.decode instanceof Function)) {\n\tHTMLImageElement.prototype.decode = function () {\n\t\tif (this.complete) {\n\t\t\treturn Promise.resolve();\n\t\t} else {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst load = () => {\n\t\t\t\t\tthis.removeEventListener('error', error);\n\t\t\t\t\tthis.removeEventListener('load', load);\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\n\t\t\t\tconst error = (err) => {\n\t\t\t\t\tthis.removeEventListener('error', error);\n\t\t\t\t\tthis.removeEventListener('load', load);\n\t\t\t\t\treject(err);\n\t\t\t\t};\n\n\t\t\t\tthis.addEventListener('load', load);\n\t\t\t\tthis.addEventListener('error', error);\n\t\t\t});\n\t\t}\n\t};\n}\n\nif (! HTMLTemplateElement.prototype.hasOwnProperty('shadowRootMode')) {\n\tconst attachedShadows = new WeakMap();\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootMode', {\n\t\tget() {\n\t\t\treturn this.getAttribute('shadowrootmode');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.setAttribute('shadowrootmode', val);\n\t\t}\n\t});\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootDelegatesFocus', {\n\t\tget() {\n\t\t\treturn this.hasAttribute('shadowrootdelegatesfocus');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.toggleAttribute('shadowrootdelegatesfocus', val);\n\t\t}\n\t});\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootClonable', {\n\t\tget() {\n\t\t\treturn this.hasAttribute('shadowrootclonable');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.toggleAttribute('shadowrootclonable', val);\n\t\t}\n\t});\n\n\tpolyfillGetterSetter(HTMLTemplateElement.prototype, 'shadowRootSerializable', {\n\t\tget() {\n\t\t\treturn this.hasAttribute('shadowrootserializable');\n\t\t},\n\t\tset(val) {\n\t\t\tthis.toggleAttribute('shadowrootserializable', val);\n\t\t}\n\t});\n\n\tconst attachShadows = (base = document) => {\n\t\tbase.querySelectorAll('template[shadowrootmode]').forEach(tmp => {\n\t\t\tconst shadow = tmp.parentElement.attachShadow({\n\t\t\t\tmode: tmp.shadowRootMode,\n\t\t\t\tclonable: tmp.shadowRootClonable,\n\t\t\t\tdelegatesFocus: tmp.shadowRootDelegatesFocus,\n\t\t\t\tserializable: tmp.shadowRootSerializable,\n\t\t\t});\n\n\t\t\tshadow.append(tmp.content);\n\t\t\ttmp.remove();\n\t\t\tattachShadows(shadow);\n\t\t\tattachedShadows.set(shadow.host, shadow);\n\t\t});\n\t};\n\n\toverwriteMethod(HTMLElement.prototype, 'attachShadow', function(attach) {\n\t\treturn ({ mode, clonable = false, delegatesFocus = false, serializable = false, slotAssignment = 'auto' }) => {\n\t\t\tif (! attachedShadows.has(this)) {\n\t\t\t\treturn attach.call(this, { mode, clonable, delegatesFocus, serializable, slotAssignment });\n\t\t\t} else {\n\t\t\t\tconst shadow = attachedShadows.get(this);\n\n\t\t\t\tif (mode === shadow.shadowRootMode) {\n\t\t\t\t\tattachShadows.remove(this);\n\t\t\t\t\treturn shadow;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new DOMException('Element.attachShadow: Unable to re-attach to existing ShadowDOM');\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\tif (document.readyState === 'loading') {\n\t\tdocument.addEventListener('readystatechange', () => attachShadows(document), { once: true });\n\t} else {\n\t\tattachShadows(document);\n\t}\n}\n\nif (! (HTMLFormElement.prototype.requestSubmit instanceof Function)) {\n\tHTMLFormElement.prototype.requestSubmit = function(submitter) {\n\t\tif (typeof submitter === 'undefined') {\n\t\t\tconst btn = document.createElement('button');\n\t\t\tbtn.type = 'submit';\n\t\t\tbtn.hidden = true;\n\t\t\tthis.append(btn);\n\t\t\tthis.requestSubmit(btn);\n\t\t\tsetTimeout(() => btn.remove(), 100);\n\t\t} else if (! (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement)) {\n\t\t\tthrow new TypeError('HTMLFormElement.requestSubmit: The submitter is not a submit button.');\n\t\t} else if (submitter.type !== 'submit' && ! (submitter instanceof HTMLInputElement && submitter.type === 'image')) {\n\t\t\tthrow new TypeError('HTMLFormElement.requestSubmit: The submitter is not a submit button.');\n\t\t} else if (! this.isSameNode(submitter.form)) {\n\t\t\tthrow new DOMException('HTMLFormElement.requestSubmit: The submitter is not owned by this form.', 'NotFoundError');\n\t\t} else {\n\t\t\tsubmitter.click();\n\t\t}\n\t};\n}\n\nif (! ('loading' in HTMLIFrameElement.prototype)) {\n\tpolyfillGetterSetter(HTMLIFrameElement.prototype, 'loading', {\n\t\tget: function() {\n\t\t\treturn this.getAttribute('loading') || 'auto';\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis.setAttribute('loading', val);\n\t\t}\n\t});\n}\n\nif (! ('credentialless' in HTMLIFrameElement.prototype)) {\n\tpolyfillGetterSetter(HTMLIFrameElement.prototype, 'credentialless', {\n\t\tget: function() {\n\t\t\treturn this.hasAttribute('credentialless');\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis.toggleAttribute('credentialless', val);\n\t\t}\n\t});\n}\n\nif ('HTMLDialogElement' in globalThis && ! (HTMLDialogElement.prototype.requestClose instanceof Function)) {\n\tHTMLDialogElement.prototype.requestClose = function requestClose(returnValue) {\n\t\tconst event = new Event('cancel', { cancelable: true, bubbles: false });\n\t\tthis.dispatchEvent(event);\n\n\t\tif (! event.defaultPrevented) {\n\t\t\tthis.close(returnValue);\n\t\t}\n\t};\n}\n","/**\n * @see https://github.com/tc39/proposal-set-methods\n */\n'use strict';\n\nconst TYPE_ERR_MSG = 'Expected a set-like object.';\nconst SET_METHODS = ['has', 'keys'];\nconst SET_PROPS = ['size'];\nconst isSet = thing => thing instanceof Set;\nconst isSetLike = thing => isSet(thing) || (\n\ttypeof thing === 'object'\n\t&& thing !== null\n\t&& SET_METHODS.every(method => thing[method] instanceof Function)\n\t&& SET_PROPS.every(prop => prop in thing)\n);\n\nif (! (Set.prototype.intersection instanceof Function)) {\n\tSet.prototype.intersection = function intersection(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn new Set([...this].filter(item => set.has(item)));\n\t};\n}\n\nif (! (Set.prototype.difference instanceof Function)) {\n\tSet.prototype.difference = function difference(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn new Set([...this].filter(item => ! set.has(item)));\n\t};\n}\n\nif (! (Set.prototype.union instanceof Function)) {\n\tSet.prototype.union = function union(set) {\n\t\treturn new Set([...this, ...set]);\n\t};\n}\n\nif (! (Set.prototype.isSubsetOf instanceof Function)) {\n\tSet.prototype.isSubsetOf = function isSubsetOf(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn [...this].every(item => set.has(item));\n\t};\n}\n\nif (! (Set.prototype.isSupersetOf instanceof Function)) {\n\tSet.prototype.isSupersetOf = function isSupersetOf(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\t// @TODO Handle when `set` is set-like\n\t\treturn isSet(set)\n\t\t\t? set.isSubsetOf(this)\n\t\t\t: new Set(set.keys()).isSubsetOf(this);\n\t};\n}\n\nif (! (Set.prototype.symmetricDifference instanceof Function)) {\n\tSet.prototype.symmetricDifference = function symmetricDifference(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\t// @TODO Handle when `set` is set-like\n\t\treturn isSet(set)\n\t\t\t? new Set([...this.difference(set), ...set.difference(this)])\n\t\t\t: new Set([...this.difference(set), ...new Set(set.keys()).difference(this)]);\n\t};\n}\n\nif (! (Set.prototype.isDisjointFrom instanceof Function)) {\n\tSet.prototype.isDisjointFrom = function isDisjointFrom(set) {\n\t\tif (! isSetLike(set)) {\n\t\t\tthrow new TypeError(TYPE_ERR_MSG);\n\t\t}\n\n\t\treturn new Set([...this, ...set]).size === this.size + set.size;\n\t};\n}\n","if (! (WeakMap.prototype.emplace instanceof Function)) {\n\tWeakMap.prototype.emplace = function emplace(key, { insert, update } = {}) {\n\t\tconst has = this.has(key);\n\n\t\tif (has && update instanceof Function) {\n\t\t\tconst existing = this.get(key);\n\t\t\tconst value = update.call(this, existing, key, this);\n\n\t\t\tif (value !== existing) {\n\t\t\t\tthis.set(key, existing);\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} else if (has) {\n\t\t\treturn this.get(key);\n\t\t} else if (insert instanceof Function) {\n\t\t\tconst value = insert.call(this, key, this);\n\t\t\tthis.set(key, value);\n\t\t\treturn value;\n\t\t} else {\n\t\t\tthrow new Error('Key is not found and no `insert()` given');\n\t\t}\n\t};\n}\n","(function() {\n\t'use strict';\n\n\tif ('screen' in globalThis && ! (globalThis.getScreenDetails instanceof Function)) {\n\t\tclass ScreenDetailed extends EventTarget {\n\t\t\tget availHeight() {\n\t\t\t\treturn screen.availHeight;\n\t\t\t}\n\n\t\t\tget availLeft() {\n\t\t\t\treturn screen.availLeft;\n\t\t\t}\n\n\t\t\tget availTop() {\n\t\t\t\treturn screen.availTop;\n\t\t\t}\n\n\t\t\tget availWidth() {\n\t\t\t\treturn screen.availWidth;\n\t\t\t}\n\n\t\t\tget colorDepth() {\n\t\t\t\treturn screen.colorDepth;\n\t\t\t}\n\n\t\t\tget devicePixelRatio() {\n\t\t\t\treturn globalThis.devicePixelRatio || 1;\n\t\t\t}\n\n\t\t\tget height() {\n\t\t\t\treturn screen.height;\n\t\t\t}\n\n\t\t\tget isExtended() {\n\t\t\t\treturn screen.isExtended;\n\t\t\t}\n\n\t\t\tget isInternal() {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tget isPrimary() {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tget label() {\n\t\t\t\treturn 'Unknown';\n\t\t\t}\n\n\t\t\tget orientation() {\n\t\t\t\treturn screen.orientation;\n\t\t\t}\n\n\t\t\tget pixelDepth() {\n\t\t\t\treturn screen.pixelDepth;\n\t\t\t}\n\n\t\t\tget top() {\n\t\t\t\treturn screen.top;\n\t\t\t}\n\n\t\t\tget width() {\n\t\t\t\treturn screen.width;\n\t\t\t}\n\t\t}\n\n\t\tclass ScreenDetails extends EventTarget {\n\t\t\tget currentScreen() {\n\t\t\t\treturn new ScreenDetailed();\n\t\t\t}\n\n\t\t\tget screens() {\n\t\t\t\treturn [this.currentScreen];\n\t\t\t}\n\t\t}\n\n\t\tObject.defineProperty(Screen.prototype, 'isExtended', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tget: () => false,\n\t\t});\n\n\t\tglobalThis.getScreenDetails = async () => new ScreenDetails();\n\t}\n})();\n","/**\n * @copyright 2024 Chris Zuber <admin@kernvalley.us>\n */\nexport const PRIORITIES = {\n\tblocking: 'user-blocking',\n\tvisible: 'user-visible',\n\tbackground: 'background',\n};\n\nasync function delayCallback(cb, { delay = 0, signal } = {}) {\n\tconst { promise, resolve, reject } = Promise.withResolvers();\n\n\tif (signal instanceof AbortSignal && signal.aborted) {\n\t\treject(signal.reason);\n\t} else {\n\t\tconst controller = new AbortController();\n\t\tconst handle = setTimeout(async () => {\n\t\t\tawait Promise.try(cb).then(resolve, reject);\n\t\t\tcontroller.abort();\n\t\t}, delay);\n\n\t\tif (signal instanceof AbortSignal) {\n\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\treject(target.reason);\n\t\t\t\tclearTimeout(handle);\n\t\t\t\tcontroller.abort(target.reason);\n\t\t\t}, { once: true, signal: controller.signal });\n\t\t}\n\t}\n\n\treturn await promise;\n}\n\nfunction getTaskCallback(callback, resolve, reject, signal) {\n\treturn async () => {\n\t\tif (signal instanceof AbortSignal && signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t} else if (! (callback instanceof Function)) {\n\t\t\treject(new TypeError('Scheduled task is not a function.'));\n\t\t} else {\n\t\t\tawait Promise.try(callback).then(resolve, reject);\n\t\t}\n\t};\n}\n\nexport class Scheduler {\n\tasync postTask(callback, {\n\t\tpriority,\n\t\tdelay,\n\t\tsignal,\n\t} = {}) {\n\t\tconst { promise, resolve, reject } = Promise.withResolvers();\n\t\tconst controller = new AbortController();\n\t\tconst hasDelay = Number.isSafeInteger(delay) && delay > -1;\n\t\tconst taskCallback = getTaskCallback(callback, resolve, reject, signal);\n\n\t\tif (typeof priority === 'undefined') {\n\t\t\tpriority = signal instanceof globalThis.TaskSignal ? signal.priority : PRIORITIES.visible;\n\t\t}\n\n\t\tif (signal instanceof AbortSignal && signal.aborted) {\n\t\t\treject(signal.reason);\n\t\t} else {\n\t\t\tswitch(priority) {\n\t\t\t\tcase PRIORITIES.blocking:\n\t\t\t\t\tif (hasDelay) {\n\t\t\t\t\t\tawait delayCallback(taskCallback, { delay, signal });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tawait Promise.resolve();\n\t\t\t\t\t\tqueueMicrotask(taskCallback);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase PRIORITIES.visible:\n\t\t\t\t\tif (hasDelay) {\n\t\t\t\t\t\tawait delayCallback(() => requestAnimationFrame(taskCallback), { delay, signal });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst handle = requestAnimationFrame(taskCallback);\n\n\t\t\t\t\t\tif (signal instanceof AbortSignal) {\n\t\t\t\t\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\t\t\t\t\tcancelAnimationFrame(handle);\n\t\t\t\t\t\t\t\treject(target.reason);\n\t\t\t\t\t\t\t\tcontroller.abort(target.reason);\n\t\t\t\t\t\t\t}, { once: true, signal: controller.signal });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase PRIORITIES.background:\n\t\t\t\t\tif (hasDelay) {\n\t\t\t\t\t\tawait delayCallback(() => requestIdleCallback(taskCallback), { delay, signal });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst handle = requestIdleCallback(taskCallback);\n\n\t\t\t\t\t\tif (signal instanceof AbortSignal) {\n\t\t\t\t\t\t\tsignal.addEventListener('abort', ({ target }) => {\n\t\t\t\t\t\t\t\tcancelIdleCallback(handle);\n\t\t\t\t\t\t\t\treject(target.reason);\n\t\t\t\t\t\t\t\tcontroller.abort(target.reason);\n\t\t\t\t\t\t\t}, { once: true, signal: controller.signal });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new TypeError(`Scheduler.postTask: '${priority}' (value of 'priority' member of SchedulerPostTaskOptions) is not a valid value for enumeration TaskPriority.`);\n\t\t\t}\n\t\t}\n\n\t\treturn await promise.then(result => {\n\t\t\tcontroller.abort();\n\t\t\treturn result;\n\t\t}).catch(err => {\n\t\t\tcontroller.abort(err);\n\t\t\tthrow err;\n\t\t});\n\t}\n\n\tasync yield() {\n\t\tawait this.postTask(() => null, { priority: PRIORITIES.visible });\n\t}\n}\n","import { Scheduler } from './assets/Scheduler.js';\n\nif (! ('scheduler' in globalThis)) {\n\tglobalThis.scheduler = new Scheduler();\n} else if (! (globalThis.scheduler.yield instanceof Function)) {\n\tglobalThis.scheduler.yield = async function(opts) {\n\t\tawait Scheduler.prototype.yield.call(this, opts);\n\t};\n}\n\nif (! ('TaskController' in globalThis)) {\n\tconst PRIORITIES = ['user-visible', 'user-blocking', 'background'];\n\tconst PRIORITY_SYMBOL = Symbol('task:priority');\n\n\tglobalThis.TaskPriorityChangeEvent = class TaskPriorityChangeEvent extends Event {\n\t\t#previousPriority;\n\n\t\tconstructor(type, { previousPriority }) {\n\t\t\tsuper(type);\n\n\t\t\tif (typeof previousPriority !== 'string') {\n\t\t\t\tthrow new TypeError('TaskPriorityChangeEvent constructor: Missing required \\'previousPriority\\' member of TaskPriorityChangeEventInit.');\n\t\t\t} else if (! PRIORITIES.includes(previousPriority)) {\n\t\t\t\tthrow new TypeError(`TaskPriorityChangeEvent constructor: '${previousPriority}' (value of 'previousPriority' member of TaskPriorityChangeEventInit) is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else {\n\t\t\t\tthis.#previousPriority = previousPriority;\n\t\t\t}\n\t\t}\n\n\t\tget previousPriority() {\n\t\t\treturn this.#previousPriority;\n\t\t}\n\t};\n\n\tglobalThis.TaskSignal = class TaskSignal extends AbortSignal {\n\t\tget priority() {\n\t\t\treturn this[PRIORITY_SYMBOL];\n\t\t}\n\n\t\tstatic any(signals, { priority = 'user-visible' } = {}) {\n\t\t\tif (! PRIORITIES.includes(priority)) {\n\t\t\t\tthrow new TypeError(`TaskSignal.any: '${priority}' is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else {\n\t\t\t\tconst signal = super.any(signals);\n\n\t\t\t\tObject.setPrototypeOf(signal, globalThis.TaskSignal.prototype);\n\t\t\t\tObject.defineProperty(signal, PRIORITY_SYMBOL, {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: priority,\n\t\t\t\t});\n\n\t\t\t\treturn signal;\n\t\t\t}\n\t\t}\n\t};\n\n\tglobalThis.TaskController = class TaskController extends AbortController {\n\t\tconstructor({ priority = 'user-visible' } = {}) {\n\t\t\tsuper();\n\n\t\t\tif (! PRIORITIES.includes(priority)) {\n\t\t\t\tthrow new TypeError(`TaskController constructor: '${priority}' (value of 'priority' member of TaskControllerInit) is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else {\n\t\t\t\tObject.setPrototypeOf(this.signal, globalThis.TaskSignal.prototype);\n\t\t\t\tObject.defineProperty(this.signal, PRIORITY_SYMBOL, {\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\tvalue: priority,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tsetPriority(value) {\n\t\t\tif (! PRIORITIES.includes(value)) {\n\t\t\t\tthrow new TypeError(`TaskController.setPriority: '${value}' (value of argument 1) is not a valid value for enumeration TaskPriority.`);\n\t\t\t} else if (value !== this.signal.priority) {\n\t\t\t\tconst event = new globalThis.TaskPriorityChangeEvent('prioritychange', { previousPriority: this.signal.priority });\n\t\t\t\tthis.signal[PRIORITY_SYMBOL] = value;\n\t\t\t\tthis.signal.dispatchEvent(event);\n\t\t\t}\n\t\t}\n\t};\n}\n","/**\n * @copyright 2023 Chris Zuber <admin@kernvalley.us>\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals\n * @see https://caniuse.com/mdn-api_formdataevent\n * @see https://caniuse.com/mdn-api_elementinternals\n * @todo: Figure out how to cleanup MutationObserver for removed inputs\n * @todo: Can I add a MutationObserver to automatically set/unset forms,\n * even in `ShadowRoot`s?\n *\n * This polyfill needs a bit of extra work from the custom element to work.\n * Check if `internals._polyfilled` to see if extra steps are necessary:\n * - Call `internals._associateForm(form, this)` in `connectedCallback()`\n * - Call again with `(null, this)` in `disconnectedCallback()` to disassociate\n *\n * Additionally, if `internals.states._polyfilled`\n * - Use `._state--*` in addition to `:--*` to query element internals states\n * - This includes `:disabled` -> `._state--disabled` & `:invalid` -> `._state--invalid`\n */\nimport { aria } from './aom.js';\n\nconst symbols = {\n\tkey: Symbol('key'),\n\tinternals: Symbol('element-internals'),\n\tform: Symbol('form'),\n\tfieldset: Symbol('fieldset'),\n\telement: Symbol('element'),\n\tvalidity: Symbol('validity'),\n\tvalidationMessage: Symbol('validation-message'),\n\tvalue: Symbol('value'),\n\tstate: Symbol('state'),\n\tformController: Symbol('form-controller'),\n\tanchor: Symbol('anchor'),\n\tcustomInputs: Symbol('custom-inputs'),\n};\n\nfunction shimAria(prototype) {\n\tconst enumerable = true;\n\tconst configurable = true;\n\tconst props = Object.fromEntries(Object.keys(aria).map(prop => [prop, {\n\t\tget: function() {\n\t\t\treturn this[symbols.element][prop];\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[symbols.element][prop] = val;\n\t\t},\n\t\tenumerable, configurable,\n\t}]));\n\n\tObject.defineProperties(prototype, props);\n}\n\nif (! (HTMLElement.prototype.attachInternals instanceof Function) && 'FormDataEvent' in globalThis) {\n\tconst validationObject = {\n\t\tvalueMissing: false, typeMismatch: false, patternMismatch: false, tooLong: false,\n\t\ttooShort: false, rangeUnderflow: false, rangeOverflow: false, stepMismatch: false,\n\t\tbadInput: false, customError: false, valid: true,\n\t};\n\n\tconst hasDisabledFieldset = component => component.hasOwnProperty(symbols.fieldset)\n\t\t&& component[symbols.fieldset] instanceof HTMLFieldSetElement\n\t\t&& component[symbols.fieldset].disabled;\n\n\tconst isFormAssociated = (component) => {\n\t\treturn component instanceof HTMLElement\n\t\t\t&& component.tagName.includes('-')\n\t\t\t&& customElements.get(component.tagName.toLowerCase()).formAssociated;\n\t};\n\n\tconst getFormDataHandler = (component, internals) => {\n\t\treturn function(event) {\n\t\t\tif (! event.target.reportValidity()) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tevent.stopPropagation();\n\t\t\t} else if (internals.willValidate && event.formData instanceof FormData) {\n\t\t\t\tconst value = internals[symbols.value];\n\n\t\t\t\tif (value instanceof FormData) {\n\t\t\t\t\tvalue.entries().forEach(([k, v]) => event.formData.set(k, v));\n\t\t\t\t} else if (component.hasAttribute('name')) {\n\t\t\t\t\tevent.formData.set(component.getAttribute('name'), internals[symbols.value]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t};\n\n\tconst css = (el, rules) => {\n\t\tObject.entries(rules).forEach(([k, v]) => el.style.setProperty(k, v));\n\t};\n\n\tconst findAssociatedForm = (component) => {\n\t\tif (component.hasAttribute('form')) {\n\t\t\treturn document.forms[component.getAttribute('form')] || component.closest('form');\n\t\t} else {\n\t\t\treturn component.closest('form');\n\t\t}\n\t};\n\n\t// To be used in/after `connectedCallback`\n\tconst associateForm = (form, internals, component) => {\n\t\tif (! (form instanceof HTMLFormElement)) {\n\t\t\tif (internals[symbols.formController] instanceof AbortController) {\n\t\t\t\tinternals[symbols.formController].abort();\n\t\t\t}\n\n\t\t\tinternals[symbols.form] = null;\n\t\t\tinternals[symbols.formController] = null;\n\n\t\t\tif (component.hasOwnProperty(symbols.fieldset)) {\n\t\t\t\tconst fieldset = component[symbols.fieldset];\n\n\t\t\t\tif (fieldset.hasOwnProperty(symbols.customInputs)) {\n\t\t\t\t\tfieldset[symbols.customInputs].delete(component);\n\n\t\t\t\t\tif (fieldset[symbols.customInputs.size] === 0) {\n\t\t\t\t\t\tdelete fieldset[symbols.customInputs];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcomponent[symbols.fieldset] = null;\n\t\t\t}\n\t\t} else if (! (component instanceof HTMLElement && component.tagName.includes('-'))) {\n\t\t\tthrow new TypeError('Not a custom element');\n\t\t} else if (! (internals instanceof ElementInternals || internals instanceof globalThis.ElementInternals)) {\n\t\t\tthrow new TypeError('Invalid ElementInternals');\n\t\t} else if (! isFormAssociated(component)) {\n\t\t\tthrow new TypeError(`${component.tagName} is not form associated.`);\n\t\t} else if (! (component.formAssociatedCallback instanceof Function)) {\n\t\t\tthrow new TypeError(`${component.tagName} is missing a formAssociatedCallback method.`);\n\t\t} else {\n\t\t\tconst controller = new AbortController();\n\t\t\tconst fieldset = component.closest('fieldset');\n\n\t\t\tif (fieldset instanceof Element) {\n\t\t\t\tcomponent[symbols.fieldset] = fieldset;\n\t\t\t\tif (! fieldset.hasOwnProperty(symbols.customInputs)) {\n\t\t\t\t\tfieldset[symbols.customInputs] = new Set();\n\t\t\t\t}\n\n\t\t\t\tfieldset[symbols.customInputs].add(component);\n\t\t\t\tobserver.observe(fieldset, observerOpts);\n\t\t\t}\n\n\t\t\tinternals[symbols.form] = form;\n\t\t\tinternals[symbols.formController] = controller;\n\n\t\t\tconst { checkValidity, reportValidity } = form;\n\n\t\t\tform.reportValidity = function() {\n\t\t\t\tif (! reportValidity.call(this)) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn internals.reportValidity();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tform.checkValidity = function() {\n\t\t\t\tif (! checkValidity.call(this)) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn internals.checkValidity();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tcontroller.signal.addEventListener('abort', () => {\n\t\t\t\tform.reportValidity = reportValidity;\n\t\t\t\tform.checkValidity = checkValidity;\n\t\t\t}, { once: true });\n\n\t\t\tform.addEventListener('formdata', getFormDataHandler(component, internals), { signal: controller.signal });\n\t\t\tform.addEventListener('submit', event => {\n\t\t\t\tif (! event.target.reportValidity()) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t}, { signal: controller.signal });\n\n\t\t\tif (component.formResetCallback instanceof Function) {\n\t\t\t\tform.addEventListener('reset', () => component.formResetCallback(), { signal: controller.signal });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst observer = new MutationObserver((mutations) => {\n\t\tmutations.forEach(({ target, type, attributeName }) => {\n\t\t\tif (type === 'attributes' && attributeName === 'disabled') {\n\t\t\t\tconst disabled = target.hasAttribute('disabled');\n\n\t\t\t\t/**\n\t\t\t\t * Check that target is a valid candiate and not a child of a\n\t\t\t\t * `<fieldset disabled>`, unless they are both being toggled\n\t\t\t\t * together to the same value.\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\tisFormAssociated(target)\n\t\t\t\t\t&& target.hasOwnProperty(symbols.internals)\n\t\t\t\t\t&& target[symbols.internals].states.has('--disabled') !== disabled\n\t\t\t\t\t&& (\n\t\t\t\t\t\tmutations.length === 1\n\t\t\t\t\t\t\t// target is not a descendant of a `<fieldset disabled>`\n\t\t\t\t\t\t\t? ! hasDisabledFieldset(target)\n\t\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t\t// target & `<fieldset>` are being enabled/disabled together\n\t\t\t\t\t\t\t\ttarget.hasAttribute('disabled') === hasDisabledFieldset(target)\n\t\t\t\t\t\t\t\t&& mutations.some((m) =>\n\t\t\t\t\t\t\t\t\tm.target.isSameNode(target[symbols.fieldset])\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tconst internals = target[symbols.internals];\n\n\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\tinternals.states.add('--disabled');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinternals.states.delete('--disabled');\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target.formDisabledCallback instanceof Function) {\n\t\t\t\t\t\ttarget.formDisabledCallback(disabled);\n\t\t\t\t\t}\n\t\t\t\t} else if (\n\t\t\t\t\ttarget.tagName === 'FIELDSET'\n\t\t\t\t\t&& target.hasOwnProperty(symbols.customInputs)\n\t\t\t\t\t&& (\n\t\t\t\t\t\tmutations.length === 1\n\t\t\t\t\t\t|| ! mutations.some(m => target[symbols.customInputs].has(m.target))\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\ttarget[symbols.customInputs].forEach(el => {\n\t\t\t\t\t\tif (el.isConnected && el.hasOwnProperty(symbols.internals)) {\n\t\t\t\t\t\t\t// Do not toggle disabled on elements that are `disabled`\n\t\t\t\t\t\t\tif (! el.hasAttribute('disabled')) {\n\t\t\t\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\t\t\t\tel[symbols.internals].states.add('--disabled');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tel[symbols.internals].states.delete('--disabled');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (el.formDisabledCallback instanceof Function) {\n\t\t\t\t\t\t\t\t\tel.formDisabledCallback(disabled);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttarget[symbols.customInputs].delete(el);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\tconst observerOpts = { attributes :true, attributeFilter: ['disabled'] };\n\n\tclass ElementInternals {\n\t\tconstructor(element, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new TypeError('Illegal constructor');\n\t\t\t} else if (! (element instanceof HTMLElement)) {\n\t\t\t\tthrow new TypeError('Must be called on an HTMLElement');\n\t\t\t} else if (! element.tagName.includes('-')) {\n\t\t\t\tthrow new DOMException('Cannot attach internals to a built-in element.');\n\t\t\t} else {\n\t\t\t\t// internals.add(this);\n\t\t\t\tconst configurable = true;\n\t\t\t\tconst enumerable = false;\n\t\t\t\tconst writable = true;\n\n\t\t\t\tObject.defineProperties(this, {\n\t\t\t\t\t[symbols.element]: { value: element, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.form]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.fieldset]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.anchor]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.validity]: { value: validationObject, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.validationMessage]: { value: '', configurable, enumerable, writable },\n\t\t\t\t\t[symbols.value]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.state]: { value: null, configurable, enumerable, writable },\n\t\t\t\t\t[symbols.formController]: { value: null, configurable, enumerable, writable },\n\t\t\t\t});\n\n\t\t\t\tif (isFormAssociated(element)) {\n\t\t\t\t\tobserver.observe(element, observerOpts);\n\t\t\t\t}\n\n\t\t\t\tObject.defineProperty(element, symbols.internals, {\n\t\t\t\t\tvalue: this,\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\tconfigurable: false,\n\t\t\t\t\twritable: false,\n\t\t\t\t});\n\n\t\t\t\tsetTimeout(() => this.states.add('--element-internals-polyfilled'), 10);\n\t\t\t}\n\t\t}\n\n\t\tget form() {\n\t\t\treturn this[symbols.form];\n\t\t}\n\n\t\tget labels() {\n\t\t\tconst form = this.form;\n\n\t\t\tif (form instanceof HTMLFormElement && this[symbols.element].id.length !== 0) {\n\t\t\t\treturn form.querySelectorAll(`label[for=\"${this[symbols.element].id}\"]`);\n\t\t\t} else {\n\t\t\t\treturn document.createDocumentFragment().childNodes;\n\t\t\t}\n\t\t}\n\n\t\tget _polyfilled() {\n\t\t\treturn true;\n\t\t}\n\n\t\tget shadowRoot() {\n\t\t\tconst el = this[symbols.element];\n\t\t\treturn el.shadowRoot;\n\t\t}\n\n\t\tget validity() {\n\t\t\tif (isFormAssociated(this[symbols.element])) {\n\t\t\t\treturn this[symbols.validity];\n\t\t\t} else {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\n\t\tget validationMessage() {\n\t\t\tif (isFormAssociated(this[symbols.element])) {\n\t\t\t\treturn this[symbols.validationMessage] || '';\n\t\t\t} else {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\n\t\tget willValidate() {\n\t\t\tconst element = this[symbols.element];\n\n\t\t\treturn isFormAssociated(element)\n\t\t\t\t&& ! hasDisabledFieldset(element)\n\t\t\t\t&& ! ['disabled', 'readonly'].some(attr => element.hasAttribute(attr));\n\t\t}\n\n\t\tcheckValidity() {\n\t\t\tif (! this.willValidate) {\n\t\t\t\treturn true;\n\t\t\t} else if (! this.validity.valid) {\n\t\t\t\tthis[symbols.element].dispatchEvent(new Event('invalid'));\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tconst next = this[symbols.element].nextElementSibling;\n\n\t\t\t\tif (next instanceof HTMLElement && next.classList.contains('_element-internals-popup')) {\n\t\t\t\t\tnext.remove();\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treportValidity() {\n\t\t\tif (! this.checkValidity()) {\n\t\t\t\tconst message = this.validationMessage;\n\n\t\t\t\tif (typeof message === 'string' && message.length !== 0) {\n\t\t\t\t\t// this[symbols.element].scrollIntoView({ block: 'start' });\n\t\t\t\t\tconst { bottom, left } = this[symbols.element].getBoundingClientRect();\n\t\t\t\t\tconst el = document.createElement('div');\n\t\t\t\t\tel.textContent = message;\n\n\t\t\t\t\tcss(el, {\n\t\t\t\t\t\t'position': 'fixed',\n\t\t\t\t\t\t'background-color': '#2b2a33',\n\t\t\t\t\t\t'color': '#fafafa',\n\t\t\t\t\t\t'top': `${bottom + 2}px`,\n\t\t\t\t\t\t'left': `${left}px`,\n\t\t\t\t\t\t'z-index': 2147483647,\n\t\t\t\t\t\t'color-scheme': 'light-dark',\n\t\t\t\t\t\t'font-family': 'system-ui, serif',\n\t\t\t\t\t\t'font-size': '18px',\n\t\t\t\t\t\t'display': 'inline-block',\n\t\t\t\t\t\t'padding': '0.6em 0.8em',\n\t\t\t\t\t\t'border': '1px solid #1a1a1a',\n\t\t\t\t\t\t'border-radius': '6px',\n\t\t\t\t\t});\n\n\t\t\t\t\tel.classList.add('_element-internals-popup');\n\n\t\t\t\t\tthis[symbols.element].focus();\n\n\t\t\t\t\tconst next = this[symbols.element].nextElementSibling;\n\n\t\t\t\t\tif (next instanceof Element && next.classList.contains('_element-internals-popup')) {\n\t\t\t\t\t\tnext.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis[symbols.element].insertAdjacentElement('afterend', el);\n\n\t\t\t\t\tif (this[symbols.anchor] instanceof Element) {\n\t\t\t\t\t\tthis[symbols.anchor].focus();\n\t\t\t\t\t}\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (el.isConnected) {\n\t\t\t\t\t\t\tel.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 3000);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tsetFormValue(value, state) {\n\t\t\tif (isFormAssociated(this[symbols.element])) {\n\t\t\t\tthis[symbols.value] = value;\n\t\t\t\tthis[symbols.state] = state;\n\t\t\t} else {\n\t\t\t\tthrow new DOMException('Not form associated');\n\t\t\t}\n\t\t}\n\n\t\tsetValidity({\n\t\t\tvalueMissing = false,\n\t\t\ttypeMismatch = false,\n\t\t\tpatternMismatch = false,\n\t\t\ttooLong = false,\n\t\t\ttooShort = false,\n\t\t\trangeUnderflow = false,\n\t\t\trangeOverflow = false,\n\t\t\tstepMismatch = false,\n\t\t\tbadInput = false,\n\t\t\tcustomError = false,\n\t\t}, message = '', anchor) {\n\t\t\tif (! isFormAssociated(this[symbols.element])) {\n\t\t\t\tthrow new DOMException('Not form associated');\n\t\t\t} else if (\n\t\t\t\t(typeof message !== 'string' || message.length === 0)\n\t\t\t\t&& (\n\t\t\t\t\tvalueMissing || typeMismatch || patternMismatch || tooLong || tooShort\n\t\t\t\t\t|| rangeUnderflow || rangeOverflow || stepMismatch || badInput || customError\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthrow new DOMException('Message required if any flags are true.');\n\t\t\t} else {\n\t\t\t\tconst valid = [\n\t\t\t\t\tvalueMissing, typeMismatch, patternMismatch, tooLong, tooShort,\n\t\t\t\t\trangeUnderflow, rangeOverflow, stepMismatch, badInput, customError,\n\t\t\t\t].every(val => val === false);\n\n\t\t\t\tthis[symbols.validity] = {\n\t\t\t\t\tvalueMissing, typeMismatch, patternMismatch, tooLong, tooShort,\n\t\t\t\t\trangeUnderflow, rangeOverflow, stepMismatch, badInput, customError,\n\t\t\t\t\tvalid,\n\t\t\t\t};\n\n\t\t\t\tthis[symbols.validationMessage] = message;\n\t\t\t\tthis[symbols.anchor] = anchor;\n\n\t\t\t\tif (! valid) {\n\t\t\t\t\tthis.states.add('--invalid');\n\t\t\t\t\tthis.states.delete('--valid');\n\t\t\t\t\tthis[symbols.element].dispatchEvent(new Event('invalid'));\n\t\t\t\t} else {\n\t\t\t\t\tthis.states.delete('--invalid');\n\t\t\t\t\tthis.states.add('--valid');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t_associateForm(form, component) {\n\t\t\tassociateForm(form, this, component);\n\t\t}\n\n\t\t_findAssociatedForm(component) {\n\t\t\treturn findAssociatedForm(component);\n\t\t}\n\t}\n\n\tHTMLElement.prototype.attachInternals = function attachInternals() {\n\t\tif (this.hasOwnProperty(symbols.internals)) {\n\t\t\tthrow new DOMException('Invalid operation');\n\t\t} else if (! this.tagName.includes('-')) {\n\t\t\tthrow new DOMException('Cannot call attachInternals on built-in elements.');\n\t\t} else {\n\t\t\treturn new ElementInternals(this, symbols.key);\n\t\t}\n\t};\n\n\tglobalThis.ElementInternals = ElementInternals;\n}\n\n/**\n * Add `states` to `ElementInternals`\n * Uses `._state--foo` instead of `:--foo` though\n * Requires Iterator Helpers (`./iterator.js`)\n */\nif ('ElementInternals' in globalThis && ! ('CustomStateSet' in globalThis)) {\n\tconst prefix = '_state';\n\tconst protectedData = new WeakMap();\n\tconst getCName = state => {\n\t\tif (! state.toString().startsWith('--')) {\n\t\t\tthrow new DOMException(`Failed to execute 'add' on 'CustomStateSet': The specified value '${state}' must start with '--'.`);\n\t\t} else {\n\t\t\treturn `${prefix}${state}`;\n\t\t}\n\t};\n\n\tconst {\n\t\tvalue, writable, configurable, enumerable,\n\t} = Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'attachInternals');\n\n\tclass CustomStateSet {\n\t\tconstructor(el, key) {\n\t\t\tif (key !== symbols.key) {\n\t\t\t\tthrow new TypeError('Illegal Constructor');\n\t\t\t} else if (! (el instanceof HTMLElement)) {\n\t\t\t\tthrow new TypeError('el must be an HTMLElement');\n\t\t\t} else {\n\t\t\t\tprotectedData.set(this, el);\n\t\t\t\tthis.add('--custom-states-polyfilled');\n\t\t\t}\n\t\t}\n\n\t\tget _polyfilled() {\n\t\t\treturn true;\n\t\t}\n\n\t\tget size() {\n\t\t\treturn [...this.values()].length;\n\t\t}\n\n\t\tadd(state) {\n\t\t\tprotectedData.get(this).classList.add(getCName(state));\n\t\t}\n\n\t\thas(state) {\n\t\t\treturn protectedData.get(this).classList.contains(getCName(state));\n\t\t}\n\n\t\tdelete(state) {\n\t\t\tconst c = getCName(state);\n\n\t\t\tif (protectedData.get(this).classList.contains(c)) {\n\t\t\t\tprotectedData.get(this).classList.remove(c);\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tclear() {\n\t\t\tthis.values().forEach(state => this.delete(state));\n\t\t}\n\n\t\tkeys() {\n\t\t\treturn this.values();\n\t\t}\n\n\t\tvalues() {\n\t\t\tconst states = protectedData.get(this).classList.values()\n\t\t\t\t.filter(c => c.startsWith(`${prefix}--`));\n\n\t\t\treturn states.map(c => c.substr(prefix.length));\n\t\t}\n\n\t\tentries() {\n\t\t\treturn this.values().map(c => [c, c]);\n\t\t}\n\n\t\tforEach(callbackFn, thisArg) {\n\t\t\tthis.values().forEach(state => callbackFn.call(thisArg || this, state, state, this));\n\t\t}\n\n\t\t[Symbol.toStringTag]() {\n\t\t\treturn 'CustomStateSet';\n\t\t}\n\n\t\t[Symbol.iterator]() {\n\t\t\treturn this.values();\n\t\t}\n\t}\n\n\tObject.defineProperty(HTMLElement.prototype, 'attachInternals', {\n\t\tvalue: function() {\n\t\t\tconst internals = value.call(this);\n\n\t\t\tObject.defineProperty(internals, symbols.element, {\n\t\t\t\tvalue: this,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: false,\n\t\t\t\tconfigurable: false,\n\t\t\t});\n\n\t\t\tObject.defineProperty(internals, 'states', {\n\t\t\t\tvalue: new CustomStateSet(this, symbols.key),\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumberable: true,\n\t\t\t});\n\n\t\t\tif (Object.is(internals.shadowRoot, null) && ! Object.is(this.shadowRoot, null)) {\n\t\t\t\tObject.defineProperty(internals, 'shadowRoot', {\n\t\t\t\t\tvalue: this.shadowRoot,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\tenumerable: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn internals;\n\t\t},\n\t\twritable, configurable, enumerable,\n\t});\n\n\tglobalThis.CustomStateSet = CustomStateSet;\n\tshimAria(ElementInternals.prototype);\n}\n","if (! (globalThis.Record instanceof Function)) {\n\t \n\tfunction Record(obj) {\n\t\tif (new.target === Record) {\n\t\t\tthrow new TypeError('Record is not a constructor');\n\t\t}\n\n\t\tconst record = Object.create(Record.prototype);\n\t\tObject.defineProperties(record, Object.fromEntries(Object.entries(obj).map(([key, value]) => [\n\t\t\tkey, {\n\t\t\t\t'enumerable': true,\n\t\t\t\t'configurable': false,\n\t\t\t\t'writable': false,\n\t\t\t\t'value': value,\n\t\t\t}\n\t\t])));\n\n\t\tObject.freeze(record);\n\t\treturn record;\n\t}\n\n\tRecord.prototype.constructor = Record;\n\tObject.defineProperty(Record.prototype, Symbol.toStringTag, {\n\t\tvalue: 'Record',\n\t\tenumerable: true,\n\t\tconfigurable: false,\n\t\twritable: false,\n\t});\n\n\tRecord.fromEntries = function fromEntries(entries) {\n\t\treturn Record(Object.fromEntries(entries));\n\t};\n\n\tglobalThis.Record = Record;\n}\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(Blob.prototype, 'bytes', async function () {\n\treturn new Uint8Array(await this.arrayBuffer());\n});\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(Request.prototype, 'bytes', async function () {\n\treturn new Uint8Array(await this.arrayBuffer());\n});\n","import { polyfillMethod } from './utils.js';\n\npolyfillMethod(Response, 'json', (data, { status = 200, statusText = '', headers = new Headers() } = {}) => {\n\tif (! (headers instanceof Headers)) {\n\t\treturn Response.json(data, { status, statusText, headers: new Headers(headers) });\n\t} else {\n\t\theaders.set('Content-Type', 'application/json');\n\t\treturn new Response(JSON.stringify(data), { status, statusText, headers });\n\t}\n});\n\npolyfillMethod(Response, 'redirect', (url, status = 302) => {\n\treturn new Response(null, {\n\t\tstatus,\n\t\theaders: new Headers({ Location: url }),\n\t});\n});\n\npolyfillMethod(Response.prototype, 'bytes', async function() {\n\treturn new Uint8Array(await this.arrayBuffer());\n});\n","if (! (globalThis.Tuple instanceof Function)) {\n\t \n\n\t/**\n\t * Creates an unfrozen Tuple, such as for `Tuple.of()`\n\t */\n\tconst createTuple = items => {\n\t\tconst tuple = Array.apply(Object.create(Tuple.prototype), items);\n\t\tObject.setPrototypeOf(tuple, Tuple.prototype);\n\t\treturn tuple;\n\t};\n\n\tfunction Tuple(...items) {\n\t\tif (new.target === Tuple) {\n\t\t\tthrow new TypeError('Tuple is not a constructor');\n\t\t}\n\n\t\tconst tuple = createTuple(items);\n\t\tObject.freeze(tuple);\n\t\treturn tuple;\n\t}\n\n\tTuple.prototype.forEach = function forEach(callbackFn, thisArg) {\n\t\tArray.prototype.forEach.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.join = function join(separator = ',') {\n\t\treturn Array.prototype.join.call(this, separator);\n\t};\n\n\tTuple.prototype.concat = function concat(...values) {\n\t\treturn Tuple(...this, ...values);\n\t};\n\n\tTuple.prototype.slice = function slice(start, end) {\n\t\treturn Tuple.from(Array.prototype.slice.call(this, start, end));\n\t};\n\n\tTuple.prototype.indexOf = function indexOf(searchElement, fromIndex) {\n\t\treturn Array.prototype.indexOf.call(this, searchElement, fromIndex);\n\t};\n\n\tTuple.prototype.lastIndexOf = function lastIndexOf(searchElement, fromIndex) {\n\t\treturn Array.prototype.lastIndexOf.call(this, searchElement, fromIndex);\n\t};\n\n\tTuple.prototype.findIndex = function findIndex(callbackFn, thisArg) {\n\t\treturn Array.prototype.findIndex.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.find = function find(callbackFn, thisArg) {\n\t\treturn Array.prototype.find.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.findLast = function findLast(callbackFn, thisArg) {\n\t\treturn Array.prototype.findLast.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.findLastIndex = function findLastIndex(callbackFn, thisArg) {\n\t\treturn Array.prototype.findLastIndex.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.every = function every(callbackFn, thisArg) {\n\t\treturn Array.prototype.every.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.some = function some(callbackFn, thisArg) {\n\t\treturn Array.prototype.some.call(this, callbackFn, thisArg);\n\t};\n\n\tTuple.prototype.includes = function includes(searchElement, fromIndex) {\n\t\treturn Array.prototype.includes.call(this, searchElement, fromIndex);\n\t};\n\n\tTuple.prototype.map = function map(callbackFn, thisArg) {\n\t\treturn Tuple.from(Array.prototype.map.call(this, callbackFn, thisArg));\n\t};\n\n\tTuple.prototype.filter = function filter(callbackFn, thisArg) {\n\t\treturn Tuple.from(Array.prototype.filter.call(this, callbackFn, thisArg));\n\t};\n\n\tTuple.prototype.flat = function flat(depth) {\n\t\treturn Tuple.from(Array.prototype.flat.call(this, depth));\n\t};\n\n\tTuple.prototype.flatMap = function flatMap(callbackFn, thisArg) {\n\t\treturn Tuple.from(Array.prototype.flatMap.call(this, callbackFn, thisArg));\n\t};\n\n\tTuple.prototype.at = function at(index) {\n\t\treturn Array.prototype.at.call(this, index);\n\t};\n\n\tTuple.prototype.reduce = function reduce(callbackFn, initialValue) {\n\t\treturn Tuple.from(Array.prototype.reduce.call(this, callbackFn, initialValue));\n\t};\n\n\tTuple.prototype.reduceRight = function reduceRight(callbackFn, initialValue) {\n\t\treturn Tuple.from(Array.prototype.reduceRight.call(this, callbackFn, initialValue));\n\t};\n\n\tTuple.prototype.toSorted = function toSorted(toStringTag) {\n\t\treturn Tuple.from(Array.prototype.toSorted.call(this, toStringTag));\n\t};\n\n\tTuple.prototype.toSpliced = function toSpliced(start, deleteCount, ...items) {\n\t\treturn Tuple.from(Array.prototype.toSpliced.call(this, start, deleteCount, ...items));\n\t};\n\n\tTuple.prototype.toReversed = function toReversed() {\n\t\treturn Tuple.from(Array.prototype.toReversed.apply(this));\n\t};\n\n\tTuple.prototype.with = function(index, value) {\n\t\treturn Tuple.from(Array.prototype.with.call(this, index, value));\n\t};\n\n\tTuple.prototype.toLocaleString = function toLocaleString(locales, options) {\n\t\treturn Array.prototype.toLocaleString.call(this, locales, options);\n\t};\n\n\tTuple.prototype.toJSON = function toJSON() {\n\t\treturn [...this];\n\t};\n\n\tTuple.prototype.keys = function keys() {\n\t\treturn Array.prototype.keys.apply(this);\n\t};\n\n\tTuple.prototype.values = function values(){\n\t\treturn Array.prototype.values.apply(this);\n\t};\n\n\tTuple.prototype.entries = function entries(){\n\t\treturn Array.prototype.entries.apply(this);\n\t};\n\n\tTuple.prototype[Symbol.iterator] = function() {\n\t\treturn Array.prototype[Symbol.iterator].apply(this);\n\t};\n\n\tTuple.from = function from(items, mapFn, thisArg) {\n\t\tconst tuple = createTuple([]);\n\t\tArray.prototype.push.apply(tuple, Array.from(items, mapFn, thisArg));\n\t\tObject.freeze(tuple);\n\t\treturn tuple;\n\t};\n\n\tTuple.of = function(...items) {\n\t\treturn Tuple.from(items);\n\t};\n\n\tObject.defineProperties(Tuple.prototype, {\n\t\t'length': {\n\t\t\tget: function() {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(Array.prototype, 'length').get.apply(this);\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t},\n\t\t'lastItem': {\n\t\t\tget: function() {\n\t\t\t\treturn this[this.lastIndex];\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t},\n\t\t'lastIndex': {\n\t\t\tget: function() {\n\t\t\t\treturn Object.getOwnPropertyDescriptor(Array.prototype, 'lastIndex').get.apply(this);\n\t\t\t},\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t},\n\t\t[Symbol.toStringTag]: {\n\t\t\tvalue: 'Tuple',\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\twritable: false,\n\t\t},\n\t});\n\n\tglobalThis.Tuple = Tuple;\n}\n"," \n/* global Record Tuple */\nif (! (JSON.parseImmutable instanceof Function)) {\n\t \n\tfunction getImmutable(thing) {\n\t\tswitch (typeof thing) {\n\t\t\tcase 'object':\n\t\t\t\tif (thing === null) {\n\t\t\t\t\treturn null;\n\t\t\t\t} else if (Array.isArray(thing)) {\n\t\t\t\t\treturn Tuple.from(thing.map(item => getImmutable(item)));\n\t\t\t\t}\n\t\t\t\treturn Record.fromEntries(\n\t\t\t\t\tObject.entries(thing).map(([key, val]) => [key, getImmutable(val)])\n\t\t\t\t);\n\n\t\t\tdefault:\n\t\t\t\treturn thing;\n\t\t}\n\t}\n\n\tJSON.parseImmutable = function parseImmutable(str) {\n\t\treturn JSON.parse(str, (_, value) => getImmutable(value));\n\t};\n}\n","\nif (! (RegExp.escape instanceof Function)) {\n\tconst pattern = /[-[\\]/{}()<>=#&!@%*+?.\\\\^$|;:\"'`\\s]/g;\n\n\tRegExp.escape = function(input) {\n\t\treturn input.toString().replace(pattern, '\\\\$&');\n\t};\n}\n","if (! (globalThis.CloseWatcher instanceof Function)) {\n\tglobalThis.CloseWatcher = class CloseWatcher extends EventTarget {\n\t\t#controller = new AbortController();\n\t\t#cancelable = true;\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tdocument.addEventListener('keydown', event => {\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.requestClose();\n\t\t\t\t}\n\t\t\t}, { signal: this.#controller.signal });\n\t\t}\n\n\t\trequestClose() {\n\t\t\tif (! this.#controller.signal.aborted) {\n\t\t\t\tconst event = new Event('cancel', { cancelable: this.#cancelable });\n\t\t\t\tthis.dispatchEvent(event);\n\t\t\t\tthis.#cancelable = false;\n\n\t\t\t\tif (! event.defaultPrevented) {\n\t\t\t\t\tthis.close();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tclose() {\n\t\t\tif (! this.#controller.signal.aborted) {\n\t\t\t\tthis.dispatchEvent(new Event('close'));\n\t\t\t\tthis.destroy();\n\t\t\t}\n\t\t}\n\n\t\tdestroy() {\n\t\t\tif (! this.#controller.signal.aborted) {\n\t\t\t\tthis.#controller.abort();\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["getDefaultExportFromCjs","x","__esModule","Object","prototype","hasOwnProperty","call","globalThis","window","defineProperty","Window","enumerable","writable","configurable","value","global","self","this","hasRequiredDedent_umd","dedent$1","hasRequiredDedent","dedent_umd$1","exports","requireDedent_umd","cache","WeakMap","newline","leadingWhitespace","nonWhitespace","slice","Array","zero","charCodeAt","nine","lowerA","lowerF","upperA","upperF","dedent","arg","process","args","arguments","processTemplateStringsArray","apply","strings","s","getCooked","i","length","index","str","undefined","TypeError","cached","get","raw","cooked","map","cook","freeze","set","splitQuasis","quasi","split","common","lines","firstSplit","lastSplit","Error","test","j","text","lineContainsTemplateExpression","leading","exec","commonStart","min","a","b","len","Math","out","start","indexOf","next","isDigit","n","parseHex","String","fromCharCode","end","fromCodePoint","c","hexToInt","factory","Function","crypto","msCrypto","Notification","notifications","webkitNotifications","oNotifications","msNotifications","navigator","doNotTrack","msDoNotTrack","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","document","hidden","webkitHidden","msHidden","mozHidden","visibilityState","webkitVisibilityState","msVisibilityState","mozVisibilityState","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","Document","exitFullscreen","mozCancelFullScreen","webkitCancelFullScreen","msCancelFullScreen","HTMLElement","requestFullscreen","requestFullScreen","mozRequestFullScreen","webkitRequestFullScreen","Element","groupBy","items","callbackFn","from","reduce","groups","element","key","push","Map","getOrInsert","defaultValue","has","getOrInsertComputed","callbackFunction","val","emplace","insert","update","existing","console","warn","SHIM_TARGETS","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","flat","depth","result","Number","MAX_SAFE_INTEGER","max","flattenFn","item","isArray","forEach","isNaN","flatMap","cb","thisArg","findLast","callback","found","arr","lastIndex","findLastIndex","at","trunc","C","polyfillMethod","parent","name","polyfillGetterSetter","overwriteMethod","func","getOwnPropertyDescriptor","newMethod","group","groupToMap","groupByToMap","fromAsync","async","mapFn","equals","every","is","uniqueBy","Set","entry","filter","add","toReversed","reverse","toSorted","cmpFn","sort","toSpliced","deleteCount","cpy","splice","with","isTemplateObject","target","isFrozen","toHex","byte","toString","padStart","join","toBase64","alphabet","chunkSize","chunk","subarray","btoa","replaceAll","fromHex","SyntaxError","Iterator","range","step","parseInt","substring","fromBase64","lastChunkHandling","includes","lastChunkLength","atob","char","padEnd","known","Reflect","ownKeys","Symbol","toStringTag","iterator","symbol","keyFor","urlpattern","hasRequiredUrlpattern","urlpatternPolyfill","hasRequiredUrlpatternPolyfill","urlPattern$1","hasRequiredUrlPattern","requireUrlpattern","e","U","Re","Ee","getOwnPropertyNames","Oe","t","He","r","ke","URLPattern","M","o","Te","P","type","prefix","suffix","modifier","constructor","l","f","hasCustomName","ye","we","F","Ce","W","substr","_","delimiter","prefixes","u","h","p","d","g","y","A","be","N","encodePart","H","v","D","Z","B","S","m","E","k","replace","q","ignoreCase","J","z","T","sensitive","strict","endsWith","RegExp","Q","ee","te","re","startsWith","Le","ne","$","se","URL","hash","ie","search","ae","V","G","oe","password","ce","username","le","pathname","fe","K","Y","he","w","toLowerCase","ue","de","hostname","pe","ge","me","Se","parse","O","port","protocol","R","assign","X","xe","I","L","baseURL","lastIndexOf","Ie","Ne","some","message","inputs","entries","input","compareComponent","hasRegExpGroups","once","funcs","retVal","catch","err","delete","urlPattern","requireUrlpatternPolyfill","url","base","supported","IteratorPrototype","getPrototypeOf","proto","setPrototypeOf","array","option","inclusive","RangeError","ret","done","take","limit","iter","drop","toArray","mapper","cur","getSubIter","sub","initialValue","current","find","indexed","chunks","size","isSafeInteger","obj","create","ReadableStream","anyIterable","controller","enqueue","error","close","asyncIterator","MIN_SAFE_INTEGER","num","EPSILON","sign","expm1","exp","hypot","nums","sqrt","sum","cbrt","log10","log","LOG10E","log2","LOG2E","log1p","fround","clamp","constrain","sumPrecise","isFinite","hostnames","HTTPS","protocols","hasSecureScripts","scripts","src","baseURI","location","isAsync","what","isAsyncFunction","Promise","protectedData","Lock","mode","DOMException","locks","symbols","nativeSupport","request","actuallySupported","resolve","query","then","checkSupport","callFunction","reject","queueMicrotask","whenReleased","lock","promise","queueTask","withResolvers","def","getDeferred","AbortController","pending","getLocks","shouldPend","isPending","keys","getHeldLocks","getPendingLocks","whenNotBlocked","allSettled","getLockSignal","signal","executeLock","setPending","finally","requestIdleCallback","abort","LockManager","opts","ifAvailable","steal","AbortSignal","aborted","reason","held","alreadyLocked","stealLocks","addEventListener","clientId","errorToEvent","fileName","filename","lineNumber","lineno","columnNumber","colno","ErrorEvent","polyfilled","dispatchEvent","canShare","title","files","share","setAppBadge","isInteger","clearAppBadge","Navigator","getInstalledRelatedApps","getGamepads","connection","EventTarget","effectiveType","rtt","NaN","downlink","downlinkMax","Infinity","saveData","onchange","ontypechange","isValidTimeout","timeout","performance","now","timeRemaining","setTimeout","didTimeout","cancelIdleCallback","id","clearTimeout","cancelAnimationFrame","onabort","AbortError","super","defineProperties","event","throwIfAborted","Event","reasons","staticAbort","ms","any","signals","AggregateError","errors","reportError","isError","toStr","bind","MediaQueryListEvent","media","matches","MediaQueryList","targets","listener","init","mql","addListener","removeEventListener","promises","all","status","race","try","fromEntries","values","ownProperties","TextEncoder","encoding","encode","code","floor","encodeInto","ui8arr","encoded","read","written","supportedEncodings","TextDecoder","fatal","ignoreBOM","decode","data","prev","offset","randomUUID","getRandomValues","getAllCookies","cookie","decodeURIComponent","trim","path","expires","domain","sameSite","secure","partitioned","getter","setter","maxAge","Date","encodeURIComponent","toUTCString","CookieStore","cookies","getAll","defaultParams","changed","deleted","cookieStore","Animation","playState","EVENT_ATTRS","getAllowedPolicies","meta","head","querySelector","HTMLMetaElement","directives","content","dir","csp","directive","rest","part","enforced","allowedPolicies","allowDuplicates","clear","documentElement","dataset","trustedPolicies","hasNone","TrustedTypePolicyFactory","policies","defaultPolicy","createPolicy","createHTML","createScript","createScriptURL","policy","TrustedTypePolicy","getAttributeType","tagName","attribute","elementNs","elementNS","getPropertyType","property","isHTML","thing","TrustedHTML","isScript","TrustedScript","isScriptURL","TrustedScriptURL","emptyHTML","emptyScript","for","TrustedType","toJSON","trustedTypes","hasDefaultPolicy","tag","attr","write","writeln","execCommand","getOwnPropertyDescriptors","html","aCommandName","aShowDefaultUI","aValueArgument","register","ServiceWorkerContainer","scriptURL","options","createContextualFragment","Range","tagString","parseFromString","DOMParser","HTMLScriptElement","setAttribute","setAttributeNS","innerHTML","outerHTML","insertAdjacentHTML","position","srcdoc","HTMLIFrameElement","codeBase","HTMLObjectElement","eval","nativeEval","nativeSTO","setInterval","nativeIntverval","script","delay","NativeFunction","funcBody","pop","adoptedStyleSheets","styleSheets","sheet","ownerNode","classList","contains","sheets","difference","remove","links","link","createElement","createObjectURL","File","rel","href","disabled","mediaText","cssRules","rule","insertRule","cssText","revokeObjectURL","append","HOSTS_SYMBOL","attachShadow","template","HTMLTemplateElement","parentElement","getAttribute","clonable","hasAttribute","delegatesFocus","serializable","serializeChildNodes","node","serializableShadowRoots","shadowRoots","hosts","childNodes","child","nodeType","Node","ELEMENT_NODE","open","el","cloneNode","closeStart","getTagHTML","getHTML","textContent","serializeShadowRoot","shadow","openTag","attrs","setHTMLUnsafe","parsed","frag","createDocumentFragment","body","querySelectorAll","replaceChildren","host","shadowRoot","ShadowRoot","isSameNode","DOCUMENT_FRAGMENT_NODE","clearCSSRules","deleteRule","parser","doc","implementation","createHTMLDocument","CSSStyleSheet","NativeStyleSheet","rules","parseHTML","sanitizer","allowElements","appendMedium","createSheet","crossOrigin","referrerPolicy","replaceSync","aria","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColIndexText","ariaColSpan","ariaCurrent","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowIndexText","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","HTML","SVG","XLINK","MATHML","normalizeElement","opt","defaultNS","HTMLNS","namespace","attributes","normalizeElementsConfig","elements","normalizeAttr","normalizeAttrsConfig","allowAttributes","normalizeCommentsConfig","comments","allowComments","convertAttrConfig","convertElementConfig","convertConfig","config","attributeNS","dataAttributes","concat","globalAttrs","SVGNS","namespaec","MATHNS","HTMLElements","union","SVGElements","HTMLAttributes","SVGAttributes","MathMLElements","MathMLAttributes","LINK_ATTRS","ILLEGAL_PROTOCOLS","setHTML","sanitizerConfig","allowInsecure","tmp","sanitize","sanitizeNode","isScriptAttr","ownerElement","localName","namespaceURI","isAllowedAttr","ns","canParse","isIllegalURLAttr","isAllowedElement","hasAttributes","sanitizeAttr","sanitizeFragOrDoc","hasChildNodes","sanitizeElement","DOCUMENT_NODE","COMMENT_NODE","sanitizeComment","ATTRIBUTE_NODE","TEXT_NODE","DOCUMENT_TYPE_NODE","removeChild","removeAttributeNode","getConfiguration","DocumentFragment","HTMLButtonElement","COMMAND_FOR","CLICK_OPTIONS","passive","removeAttribute","getElementById","CommandEvent","source","command","bubbles","cancelable","composed","dispatchCommand","currentTarget","commandForElement","defaultPrevented","HTMLDialogElement","showModal","requestClose","showPopover","hidePopover","togglePopover","observer","MutationObserver","mutations","mutation","addedNodes","btn","oldValue","attributeName","childList","subtree","attributeFilter","attributeOldValue","observe","CustomElementRegistry","getName","registry","original","customElements","extends","handlePopover","popoverTargetAction","popoverTargetElement","ToggleEvent","newState","oldState","isPopoverOpen","capture","initPopover","supports","props","prop","previous","restoreTabIndex","tabIndex","children","setTabIndex","HTMLImageElement","naturalHeight","complete","load","attachedShadows","toggleAttribute","attachShadows","shadowRootMode","shadowRootClonable","shadowRootDelegatesFocus","shadowRootSerializable","attach","slotAssignment","readyState","HTMLFormElement","requestSubmit","submitter","HTMLInputElement","form","click","returnValue","TYPE_ERR_MSG","SET_METHODS","SET_PROPS","isSet","isSetLike","method","intersection","isSubsetOf","isSupersetOf","symmetricDifference","isDisjointFrom","getScreenDetails","ScreenDetailed","availHeight","screen","availLeft","availTop","availWidth","colorDepth","devicePixelRatio","height","isExtended","isInternal","isPrimary","label","orientation","pixelDepth","top","width","ScreenDetails","currentScreen","screens","Screen","PRIORITIES","delayCallback","handle","Scheduler","postTask","priority","hasDelay","taskCallback","getTaskCallback","TaskSignal","yield","scheduler","PRIORITY_SYMBOL","TaskPriorityChangeEvent","previousPriority","TaskController","setPriority","internals","fieldset","validity","validationMessage","state","formController","anchor","customInputs","attachInternals","validationObject","valueMissing","typeMismatch","patternMismatch","tooLong","tooShort","rangeUnderflow","rangeOverflow","stepMismatch","badInput","customError","valid","hasDisabledFieldset","component","HTMLFieldSetElement","isFormAssociated","formAssociated","getFormDataHandler","reportValidity","willValidate","formData","FormData","preventDefault","stopImmediatePropagation","stopPropagation","css","style","setProperty","findAssociatedForm","forms","closest","associateForm","ElementInternals","formAssociatedCallback","observerOpts","checkValidity","formResetCallback","states","formDisabledCallback","isConnected","labels","_polyfilled","nextElementSibling","bottom","left","getBoundingClientRect","color","display","padding","border","focus","insertAdjacentElement","setFormValue","setValidity","_associateForm","_findAssociatedForm","getCName","CustomStateSet","enumberable","shimAria","Blob","arrayBuffer","Request","Response","statusText","headers","Headers","JSON","stringify","json","Location","Record","record","Tuple","createTuple","tuple","separator","searchElement","fromIndex","findIndex","reduceRight","toLocaleString","locales","of","lastItem","parseImmutable","getImmutable","escape","pattern","CloseWatcher","destroy"],"mappings":"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SACA,iBAGA,QACA,QACA,QACA,kBACA,MACA,SACA,UACA,KACA,QAEA,eACA,cAEA,uBACA,WACA,OACA,aACA,WAEA,SACA,cACA,UACA,cACA,cACA,YACA,OACA,UACA,UACA,UACA,OAEA,UACA,QACA,OAEA,WACA,QACA,OACA,UACA,UACA,aACA,UACA,UAEA,WACA,eACA,wBACA,SACA,cACA,MACA,OACA,WACA,UACA,WACA,UACA,QAEA,YACA,UACA,WACA,0BACA,wBACA,yBACA,WAEA,gBACA,UACA,MAKA,MACA,OAEA,cACA,aACA,iBACA,aAEA,cACA,UACA,SAEA,OACA,OACA,WACA,gBACA,SAGA,aACA,cACA,aACA,iBACA,mBACA,cAGA,YACA,YACA,KACA,QACA,UACA,OACA,QAEA,WACA,cACA,aACA,OACA,OACA,UACA,WACA,OACA,MACA,SACA,WACA,eACA,cACA,MACA,YACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,SACA,WAEA,WACA,UACA,aACA,SACA,SACA,OACA,UAEA,UACA,OACA,cACA,cACA,SAEA,gBACA,sBACA,SACA,UACA,SACA,WACA,iBACA,MACA,kBACA,WACA,YACA,MACA,WACA,OACA,OACA,UACA,QACA,UACA,SACA,QACA,SACA,eACA,cACA,YACA,SACA,WACA,qBACA,2BACA,iBACA,yBACA,QACA,OACA,QAEA,OAEA,MACA,SACA,UACA,SACA,UACA,QACA,OAEA,UAEA,SACA,OAEA,YAEA,YACA,aACA,OACA,SACA,SACA,QACA,YACA,UAEA,QACA,SACA,kBACA,QACA,QACCF,IAAI6nB,GAAQiL,GAAcjL,EAAM,OAAO6L,OAAOC,KAEnC1E,GAAYxyB,OAAOyD,OAAO,CAAEgzB,UApPjB,EAoPyBL,SAAEA,GAAQF,WAAEA,GAAYc,gBAlP3C,ICGjBZ,GAAWp2B,OAAOyD,OAAO,CACrC,IAAK,UAAW,gBAAiB,mBAAoB,SAAU,WAC/D,OAAQ,OAAQ,UAAW,UAAW,gBAAiB,sBACvD,cAAe,mBAAoB,oBAAqB,oBACxD,iBAAkB,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","x_google_ignoreList":[35,37,44,45,46,47,48,49,50,51,52,53,55]}
|