Files
korean_comments_action/js/korean_comments_action-main.mjs.map

1 line
1.3 MiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"version":3,"file":"korean_comments_action-main.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/ScopedStorage.js","../node_modules/@nextcloud/browser-storage/dist/StorageBuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs","../node_modules/@nextcloud/logger/dist/index.mjs","../node_modules/@nextcloud/paths/dist/index.mjs","../node_modules/@nextcloud/files/dist/chunks/folder-29HuacU_.mjs","../node_modules/typescript-event-target/dist/index.mjs","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/events/events.js","../node_modules/inherits/inherits_browser.js","../node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.cjs","../node_modules/has-symbols/shams.js","../node_modules/has-tostringtag/shams.js","../node_modules/es-object-atoms/index.js","../node_modules/es-errors/index.js","../node_modules/es-errors/eval.js","../node_modules/es-errors/range.js","../node_modules/es-errors/ref.js","../node_modules/es-errors/syntax.js","../node_modules/es-errors/type.js","../node_modules/es-errors/uri.js","../node_modules/math-intrinsics/abs.js","../node_modules/math-intrinsics/floor.js","../node_modules/math-intrinsics/max.js","../node_modules/math-intrinsics/min.js","../node_modules/math-intrinsics/pow.js","../node_modules/math-intrinsics/round.js","../node_modules/math-intrinsics/isNaN.js","../node_modules/math-intrinsics/sign.js","../node_modules/gopd/gOPD.js","../node_modules/gopd/index.js","../node_modules/es-define-property/index.js","../node_modules/has-symbols/index.js","../node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/call-bind-apply-helpers/index.js","../node_modules/dunder-proto/get.js","../node_modules/get-proto/index.js","../node_modules/hasown/index.js","../node_modules/get-intrinsic/index.js","../node_modules/call-bound/index.js","../node_modules/is-arguments/index.js","../node_modules/is-regex/index.js","../node_modules/safe-regex-test/index.js","../node_modules/generator-function/index.js","../node_modules/is-generator-function/index.js","../node_modules/is-callable/index.js","../node_modules/for-each/index.js","../node_modules/possible-typed-array-names/index.js","../node_modules/available-typed-arrays/index.js","../node_modules/define-data-property/index.js","../node_modules/has-property-descriptors/index.js","../node_modules/set-function-length/index.js","../node_modules/call-bind-apply-helpers/applyBind.js","../node_modules/call-bind/index.js","../node_modules/which-typed-array/index.js","../node_modules/is-typed-array/index.js","../node_modules/util/support/types.js","../node_modules/util/support/isBufferBrowser.js","../node_modules/util/util.js","../node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/readable-stream/errors-browser.js","../node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/util-deprecate/browser.js","../node_modules/readable-stream/lib/_stream_writable.js","../node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/safe-buffer/index.js","../node_modules/string_decoder/lib/string_decoder.js","../node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/readable-stream/lib/_stream_readable.js","../node_modules/readable-stream/lib/_stream_transform.js","../node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/stream-browserify/index.js","../node_modules/sax/lib/sax.js","../node_modules/@file-type/xml/lib/index.js","../node_modules/is-svg/index.js","../node_modules/@nextcloud/initial-state/dist/index.js","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/@nextcloud/l10n/dist/chunks/translation-DoG5ZELJ.mjs","../node_modules/@nextcloud/files/dist/index.mjs","../node_modules/@nextcloud/sharing/dist/public.js","../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/webdav/dist/web/index.js","../node_modules/@nextcloud/files/dist/dav.mjs","../src/main.ts"],"sourcesContent":["function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar browser = {exports: {}};\n\n// shim for using process in browser\nvar process = browser.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] };\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\nvar browserExports = browser.exports;\nconst process$1 = /*@__PURE__*/getDefaultExportFromCjs(browserExports);\n\nexport { process$1 as default, process$1 as process };\n//# sourceMappingURL=index.js.map\n","'use strict'\n\nconst debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","'use strict'\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","'use strict'\n\nconst {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst safeSrc = exports.safeSrc = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n safeSrc[index] = safe\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n// Non-numeric identifiers include numeric identifiers but can be longer.\n// Therefore non-numeric identifiers must go first.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]\n}|${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER]\n}|${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifier, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","'use strict'\n\n// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","'use strict'\n\nconst numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n if (typeof a === 'number' && typeof b === 'number') {\n return a === b ? 0 : a < b ? -1 : 1\n }\n\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","'use strict'\n\nconst debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\n\nconst isPrereleaseIdentifier = (prerelease, identifier) => {\n const identifiers = identifier.split('.')\n if (identifiers.length > prerelease.length) {\n return false\n }\n\n for (let i = 0; i < identifiers.length; i++) {\n if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {\n return false\n }\n }\n\n return true\n}\n\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n if (this.major < other.major) {\n return -1\n }\n if (this.major > other.major) {\n return 1\n }\n if (this.minor < other.minor) {\n return -1\n }\n if (this.minor > other.minor) {\n return 1\n }\n if (this.patch < other.patch) {\n return -1\n }\n if (this.patch > other.patch) {\n return 1\n }\n return 0\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (isPrereleaseIdentifier(this.prerelease, identifier)) {\n const prereleaseBase = this.prerelease[identifier.split('.').length]\n if (isNaN(prereleaseBase)) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","'use strict'\n\nconst SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","'use strict'\n\nconst SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","'use strict'\n\nconst parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","import major from \"semver/functions/major.js\";\nimport valid from \"semver/functions/valid.js\";\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.3\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, ...event) {\n this.bus.emit(name, ...event);\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.3\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h) => h !== handler)\n );\n }\n emit(name, ...event) {\n const handlers = this.handlers.get(name) || [];\n handlers.forEach((h) => {\n try {\n ;\n h(event[0]);\n } catch (e) {\n console.error(\"could not invoke event listener\", e);\n }\n });\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\nfunction emit(name, ...event) {\n getBus().emit(name, ...event);\n}\nexport {\n ProxyBus,\n SimpleBus,\n emit,\n subscribe,\n unsubscribe\n};\n//# sourceMappingURL=index.mjs.map\n","function linkTo(app, file) {\n return generateFilePath(app, \"\", file);\n}\nconst linkToRemoteBase = (service) => \"/remote.php/\" + service;\nfunction generateRemoteUrl(service, options) {\n ensureBaseUrlInNonDomEnvironment(options);\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + linkToRemoteBase(service);\n}\nfunction generateOcsUrl(url, params, options) {\n const allOptions = { ocsVersion: 2, ...options || {} };\n ensureBaseUrlInNonDomEnvironment(allOptions);\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n const baseURL = options?.baseURL ?? getBaseUrl();\n return baseURL + \"/ocs/v\" + version + \".php\" + _generateUrlPath(url, params, options);\n}\nfunction _generateUrlPath(url, params, options) {\n const allOptions = { escape: true, ...options || {} };\n const _build = function(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function(a, b) {\n const r = vars[b];\n if (allOptions.escape) {\n return typeof r === \"string\" || typeof r === \"number\" ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === \"string\" || typeof r === \"number\" ? r.toString() : a;\n }\n });\n };\n if (url.charAt(0) !== \"/\") {\n url = \"/\" + url;\n }\n return _build(url, params || {});\n}\nfunction generateUrl(url, params, options) {\n const allOptions = { noRewrite: false, ...options || {} };\n ensureBaseUrlInNonDomEnvironment(allOptions);\n const baseOrRootURL = options?.baseURL ?? getRootUrl();\n if (!allOptions.noRewrite && typeof window !== \"undefined\" && window.OC?.config?.modRewriteWorking === true) {\n return baseOrRootURL + _generateUrlPath(url, params, options);\n }\n return baseOrRootURL + \"/index.php\" + _generateUrlPath(url, params, options);\n}\nfunction imagePath(app, file) {\n if (!file.includes(\".\")) {\n return generateFilePath(app, \"img\", `${file}.svg`);\n }\n return generateFilePath(app, \"img\", file);\n}\nfunction generateFilePath(app, type, file) {\n ensureDomEnvironment();\n const isCore = window.OC?.coreApps?.includes(app) ?? false;\n const isPHP = file.slice(-3) === \"php\";\n let link = getRootUrl();\n if (isPHP && !isCore) {\n link += `/index.php/apps/${app}`;\n if (type) {\n link += `/${encodeURI(type)}`;\n }\n if (file !== \"index.php\") {\n link += `/${file}`;\n }\n } else if (!isPHP && !isCore) {\n link = getAppRootUrl(app);\n if (type) {\n link += `/${type}/`;\n }\n if (link.at(-1) !== \"/\") {\n link += \"/\";\n }\n link += file;\n } else {\n if ((app === \"settings\" || app === \"core\" || app === \"search\") && type === \"ajax\") {\n link += \"/index.php\";\n }\n if (app) {\n link += `/${app}`;\n }\n if (type) {\n link += `/${type}`;\n }\n link += `/${file}`;\n }\n return link;\n}\nfunction getBaseUrl() {\n ensureDomEnvironment();\n return window.location.protocol + \"//\" + window.location.host + getRootUrl();\n}\nfunction getRootUrl() {\n ensureDomEnvironment();\n let webroot = window._oc_webroot;\n if (typeof webroot === \"undefined\") {\n webroot = location.pathname;\n const pos = webroot.indexOf(\"/index.php/\");\n if (pos !== -1) {\n webroot = webroot.slice(0, pos);\n } else {\n const index = webroot.indexOf(\"/\", 1);\n webroot = webroot.slice(0, index > 0 ? index : void 0);\n }\n }\n return webroot;\n}\nfunction getAppRootUrl(app) {\n ensureDomEnvironment();\n const webroots = window._oc_appswebroots ?? {};\n return webroots[app] ?? \"\";\n}\nfunction ensureDomEnvironment() {\n if (typeof window === \"undefined\") {\n throw new Error(\"This function is only available in a DOM environment\");\n }\n}\nfunction ensureBaseUrlInNonDomEnvironment(options) {\n if (typeof window === \"undefined\" && !options?.baseURL) {\n throw new Error(\"This function requires baseURL option to be provided in non-DOM environments\");\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction generateAvatarUrl(user, options) {\n const size = (options?.size || 64) <= 64 ? 64 : 512;\n const guestUrl = options?.isGuestUser ? \"/guest\" : \"\";\n const themeUrl = options?.isDarkTheme ? \"/dark\" : \"\";\n const url = generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n user,\n size\n });\n const query = new URLSearchParams();\n if (options?.guestFallback) {\n query.set(\"guestFallback\", \"true\");\n }\n if (options?.version !== void 0) {\n query.set(\"v\", String(options.version));\n }\n const queryString = query.toString();\n return queryString ? `${url}?${queryString}` : url;\n}\nexport {\n generateAvatarUrl,\n generateFilePath,\n generateOcsUrl,\n generateRemoteUrl,\n generateUrl,\n getAppRootUrl,\n getBaseUrl,\n getRootUrl,\n imagePath,\n linkTo\n};\n//# sourceMappingURL=index.mjs.map\n","/*\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nexport default class ScopedStorage {\n static GLOBAL_SCOPE_VOLATILE = 'nextcloud_vol';\n static GLOBAL_SCOPE_PERSISTENT = 'nextcloud_per';\n scope;\n wrapped;\n constructor(scope, wrapped, persistent) {\n this.scope = `${persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE}_${btoa(scope)}_`;\n this.wrapped = wrapped;\n }\n scopeKey(key) {\n return `${this.scope}${key}`;\n }\n setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n clear() {\n Object.keys(this.wrapped)\n .filter((key) => key.startsWith(this.scope))\n .map(this.wrapped.removeItem.bind(this.wrapped));\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport ScopedStorage from \"./ScopedStorage.js\";\nexport default class StorageBuilder {\n appId;\n persisted = false;\n clearedOnLogout = false;\n constructor(appId) {\n this.appId = appId;\n }\n persist(persist = true) {\n this.persisted = persist;\n return this;\n }\n clearOnLogout(clear = true) {\n this.clearedOnLogout = clear;\n return this;\n }\n build() {\n return new ScopedStorage(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport ScopedStorage from \"./ScopedStorage.js\";\nimport StorageBuilder from \"./StorageBuilder.js\";\n/**\n * Get the storage builder for an app\n *\n * @param appId App ID to scope storage\n */\nexport function getBuilder(appId) {\n return new StorageBuilder(appId);\n}\n/**\n * Clear values from storage\n *\n * @param storage The storage to clear\n * @param pred Callback to check if value should be cleared\n */\nfunction clearStorage(storage, pred) {\n Object.keys(storage)\n .filter((k) => pred ? pred(k) : true)\n .map(storage.removeItem.bind(storage));\n}\n/**\n * Clear all values from all storages\n */\nexport function clearAll() {\n const storages = [\n window.sessionStorage,\n window.localStorage,\n ];\n storages.map((s) => clearStorage(s));\n}\n/**\n * Clear ony non persistent values\n */\nexport function clearNonPersistent() {\n const storages = [\n window.sessionStorage,\n window.localStorage,\n ];\n storages.map((s) => clearStorage(s, (k) => !k.startsWith(ScopedStorage.GLOBAL_SCOPE_PERSISTENT)));\n}\n","import { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\n_subscribeToTokenUpdates();\nfunction getRequestToken() {\n if (globalThis._nc_auth_requestToken) {\n return globalThis._nc_auth_requestToken;\n }\n if (globalThis.document) {\n return document.head.dataset.requesttoken ?? null;\n }\n return null;\n}\nfunction setRequestToken(token) {\n if (!token || typeof token !== \"string\") {\n throw new Error(\"Invalid CSRF token given\", { cause: { token } });\n }\n if (globalThis._nc_auth_requestToken === token) {\n return;\n }\n globalThis._nc_auth_requestToken = token;\n if (globalThis.document) {\n document.head.dataset.requesttoken = token;\n }\n emit(\"csrf-token-update\", { token, _internal: true });\n}\nasync function fetchRequestToken() {\n const url = generateUrl(\"/csrftoken\");\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(\"Could not fetch CSRF token from API\", { cause: response });\n }\n try {\n const { token } = await response.json();\n setRequestToken(token);\n return token;\n } catch (error) {\n throw new Error(\"Could not parse CSRF token from API response\", { cause: error });\n }\n}\nfunction onRequestTokenUpdate(observer) {\n const wrapper = async ({ token }) => {\n try {\n observer(token);\n } catch (error) {\n console.error(\"Error updating CSRF token observer\", error);\n }\n };\n subscribe(\"csrf-token-update\", wrapper);\n return () => unsubscribe(\"csrf-token-update\", wrapper);\n}\nfunction _subscribeToTokenUpdates() {\n subscribe(\"csrf-token-update\", ({ token, _internal }) => {\n if (!_internal) {\n setRequestToken(token);\n }\n });\n}\nfunction getCSPNonce() {\n const meta = document?.querySelector('meta[name=\"csp-nonce\"]');\n if (!meta) {\n const token = getRequestToken();\n return token ? btoa(token) : void 0;\n }\n return meta.nonce;\n}\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nconst browserStorage = getBuilder(\"public\").persist().build();\nclass GuestUser {\n _displayName;\n uid;\n isAdmin;\n constructor() {\n if (!browserStorage.getItem(\"guestUid\")) {\n browserStorage.setItem(\"guestUid\", randomUUID());\n }\n this._displayName = browserStorage.getItem(\"guestNickname\") || \"\";\n this.uid = browserStorage.getItem(\"guestUid\") || randomUUID();\n this.isAdmin = false;\n subscribe(\"user:info:changed\", (guest) => {\n this._displayName = guest.displayName;\n browserStorage.setItem(\"guestNickname\", guest.displayName || \"\");\n });\n }\n get displayName() {\n return this._displayName;\n }\n set displayName(displayName) {\n this._displayName = displayName;\n browserStorage.setItem(\"guestNickname\", displayName);\n emit(\"user:info:changed\", this);\n }\n}\nlet currentUser$1;\nfunction getGuestUser() {\n if (!currentUser$1) {\n currentUser$1 = new GuestUser();\n }\n return currentUser$1;\n}\nfunction getGuestNickname() {\n return getGuestUser()?.displayName || null;\n}\nfunction setGuestNickname(nickname) {\n if (!nickname || nickname.trim().length === 0) {\n throw new Error(\"Nickname cannot be empty\");\n }\n getGuestUser().displayName = nickname;\n}\nfunction randomUUID() {\n if (globalThis.crypto?.randomUUID) {\n return globalThis.crypto.randomUUID();\n }\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === \"x\" ? r : r & 3 | 8;\n return v.toString(16);\n });\n}\nlet currentUser;\nfunction getAttribute(el, attribute) {\n if (el) {\n return el.getAttribute(attribute);\n }\n return null;\n}\nfunction getCurrentUser() {\n if (currentUser !== void 0) {\n return currentUser;\n }\n const head = document?.getElementsByTagName(\"head\")[0];\n if (!head) {\n return null;\n }\n const uid = getAttribute(head, \"data-user\");\n if (uid === null) {\n currentUser = null;\n return currentUser;\n }\n currentUser = {\n uid,\n displayName: getAttribute(head, \"data-user-displayname\"),\n isAdmin: !!window._oc_isadmin\n };\n return currentUser;\n}\nexport {\n fetchRequestToken,\n getCSPNonce,\n getCurrentUser,\n getGuestNickname,\n getGuestUser,\n getRequestToken,\n onRequestTokenUpdate,\n setGuestNickname,\n setRequestToken\n};\n//# sourceMappingURL=index.mjs.map\n","import { getCurrentUser } from \"@nextcloud/auth\";\nvar LogLevel = /* @__PURE__ */ ((LogLevel2) => {\n LogLevel2[LogLevel2[\"Debug\"] = 0] = \"Debug\";\n LogLevel2[LogLevel2[\"Info\"] = 1] = \"Info\";\n LogLevel2[LogLevel2[\"Warn\"] = 2] = \"Warn\";\n LogLevel2[LogLevel2[\"Error\"] = 3] = \"Error\";\n LogLevel2[LogLevel2[\"Fatal\"] = 4] = \"Fatal\";\n return LogLevel2;\n})(LogLevel || {});\nclass ConsoleLogger {\n context;\n constructor(context) {\n this.context = context || {};\n }\n formatMessage(message, level, context) {\n let msg = \"[\" + LogLevel[level].toUpperCase() + \"] \";\n if (context && context.app) {\n msg += context.app + \": \";\n }\n if (typeof message === \"string\") return msg + message;\n msg += `Unexpected ${message.name}`;\n if (message.message) msg += ` \"${message.message}\"`;\n if (level === LogLevel.Debug && message.stack) msg += `\n\nStack trace:\n${message.stack}`;\n return msg;\n }\n log(level, message, context) {\n if (typeof this.context?.level === \"number\" && level < this.context?.level) {\n return;\n }\n if (typeof message === \"object\" && context?.error === void 0) {\n context.error = message;\n }\n switch (level) {\n case LogLevel.Debug:\n console.debug(this.formatMessage(message, LogLevel.Debug, context), context);\n break;\n case LogLevel.Info:\n console.info(this.formatMessage(message, LogLevel.Info, context), context);\n break;\n case LogLevel.Warn:\n console.warn(this.formatMessage(message, LogLevel.Warn, context), context);\n break;\n case LogLevel.Error:\n console.error(this.formatMessage(message, LogLevel.Error, context), context);\n break;\n case LogLevel.Fatal:\n default:\n console.error(this.formatMessage(message, LogLevel.Fatal, context), context);\n break;\n }\n }\n debug(message, context) {\n this.log(LogLevel.Debug, message, Object.assign({}, this.context, context));\n }\n info(message, context) {\n this.log(LogLevel.Info, message, Object.assign({}, this.context, context));\n }\n warn(message, context) {\n this.log(LogLevel.Warn, message, Object.assign({}, this.context, context));\n }\n error(message, context) {\n this.log(LogLevel.Error, message, Object.assign({}, this.context, context));\n }\n fatal(message, context) {\n this.log(LogLevel.Fatal, message, Object.assign({}, this.context, context));\n }\n}\nfunction buildConsoleLogger(context) {\n return new ConsoleLogger(context);\n}\nclass LoggerBuilder {\n context;\n factory;\n constructor(factory) {\n this.context = {};\n this.factory = factory;\n }\n /**\n * Set the app name within the logging context\n *\n * @param appId App name\n */\n setApp(appId) {\n this.context.app = appId;\n return this;\n }\n /**\n * Set the logging level within the logging context\n *\n * @param level Logging level\n */\n setLogLevel(level) {\n this.context.level = level;\n return this;\n }\n /* eslint-disable jsdoc/no-undefined-types */\n /**\n * Set the user id within the logging context\n * @param uid User ID\n * @see {@link detectUser}\n */\n /* eslint-enable jsdoc/no-undefined-types */\n setUid(uid) {\n this.context.uid = uid;\n return this;\n }\n /**\n * Detect the currently logged in user and set the user id within the logging context\n */\n detectUser() {\n const user = getCurrentUser();\n if (user !== null) {\n this.context.uid = user.uid;\n }\n return this;\n }\n /**\n * Detect and use logging level configured in nextcloud config\n */\n detectLogLevel() {\n const self = this;\n const onLoaded = () => {\n if (document.readyState === \"complete\" || document.readyState === \"interactive\") {\n self.context.level = window._oc_config?.loglevel ?? LogLevel.Warn;\n if (window._oc_debug) {\n self.context.level = LogLevel.Debug;\n }\n document.removeEventListener(\"readystatechange\", onLoaded);\n } else {\n document.addEventListener(\"readystatechange\", onLoaded);\n }\n };\n onLoaded();\n return this;\n }\n /** Build a logger using the logging context and factory */\n build() {\n if (this.context.level === void 0) {\n this.detectLogLevel();\n }\n return this.factory(this.context);\n }\n}\nfunction getLoggerBuilder() {\n return new LoggerBuilder(buildConsoleLogger);\n}\nfunction getLogger() {\n return getLoggerBuilder().build();\n}\nexport {\n LogLevel,\n getLogger,\n getLoggerBuilder\n};\n//# sourceMappingURL=index.mjs.map\n","function encodePath(path) {\n if (!path) {\n return path;\n }\n return path.split(\"/\").map(encodeURIComponent).join(\"/\");\n}\nfunction basename(path, extname2) {\n path = path.replace(/\\\\/g, \"/\").replace(/\\/+$/g, \"\").replace(/.*\\//, \"\");\n if (extname2 && extname2 !== path && path.endsWith(extname2)) {\n return path.substring(0, path.length - extname2.length);\n }\n return path;\n}\nfunction dirname(path) {\n path = path.replaceAll(/\\\\/g, \"/\");\n const sections = path.split(\"/\");\n if (sections.length <= 1) {\n return \".\";\n }\n sections.pop();\n if (sections.length === 1 && sections[0] === \"\") {\n return \"/\";\n }\n return sections.join(\"/\");\n}\nfunction extname(path) {\n const base = basename(path);\n const index = base.lastIndexOf(\".\");\n if (index > 0) {\n return base.substring(index);\n }\n return \"\";\n}\nfunction join(...args) {\n if (arguments.length < 1) {\n return \"\";\n }\n const nonEmptyArgs = args.filter((arg) => arg.length > 0);\n if (nonEmptyArgs.length < 1) {\n return \"\";\n }\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === \"/\";\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === \"/\";\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split(\"/\")), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === \"\") {\n return acc;\n }\n if (first) {\n first = false;\n return acc + section;\n }\n return acc + \"/\" + section;\n }, \"\");\n if (trailingSlash) {\n return path + \"/\";\n }\n return path;\n}\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || \"\").split(\"/\").filter((p) => p !== \".\");\n const pathSections2 = (path2 || \"\").split(\"/\").filter((p) => p !== \".\");\n path1 = join(...pathSections1);\n path2 = join(...pathSections2);\n return path1 === path2;\n}\nfunction normalize(path) {\n const sections = path.split(\"/\").filter((p, index, arr) => p !== \"\" || index === 0 || index === arr.length - 1).filter((p) => p !== \".\");\n const sanitizedSections = [];\n for (const section of sections) {\n const lastSection = sanitizedSections.at(-1);\n if (section === \"..\" && lastSection !== \"..\") {\n if (lastSection === void 0) {\n sanitizedSections.push(section);\n } else if (lastSection !== \"\") {\n sanitizedSections.pop();\n }\n } else {\n sanitizedSections.push(section);\n }\n }\n return sanitizedSections.join(\"/\");\n}\nexport {\n basename,\n dirname,\n encodePath,\n extname,\n isSamePath,\n join,\n normalize\n};\n//# sourceMappingURL=index.mjs.map\n","import { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { join, encodePath, basename, extname, dirname } from \"@nextcloud/paths\";\nwindow._nc_files_scope ??= {};\nwindow._nc_files_scope.v4_0 ??= {};\nconst scopedGlobals = window._nc_files_scope.v4_0;\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/files\").detectUser().build();\nconst FileType = Object.freeze({\n Folder: \"folder\",\n File: \"file\"\n});\nconst Permission = Object.freeze({\n /**\n * No permissions granted\n */\n NONE: 0,\n /**\n * Can read the file content\n */\n READ: 1,\n /**\n * Can modify the file itself (move, rename, etc)\n */\n UPDATE: 2,\n /**\n * Can create new files/folders inside a folder\n */\n CREATE: 4,\n /**\n * Can change the file content\n */\n WRITE: 4,\n /**\n * Can delete the node\n */\n DELETE: 8,\n /**\n * Can share the node\n */\n SHARE: 16,\n /**\n * All permissions are granted\n */\n ALL: 31\n});\nconst NodeStatus = Object.freeze({\n /** This is a new node and it doesn't exists on the filesystem yet */\n NEW: \"new\",\n /** This node has failed and is unavailable */\n FAILED: \"failed\",\n /** This node is currently loading or have an operation in progress */\n LOADING: \"loading\",\n /** This node is locked and cannot be modified */\n LOCKED: \"locked\"\n});\nfunction isDavResource(source, davService) {\n return source.match(davService) !== null;\n}\nfunction validateData(data, davService) {\n if (data.id && typeof data.id !== \"number\" && typeof data.id !== \"string\") {\n throw new Error(\"Invalid id type of value\");\n }\n if (!data.source) {\n throw new Error(\"Missing mandatory source\");\n }\n try {\n new URL(data.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!data.source.startsWith(\"http\")) {\n throw new Error(\"Invalid source format, only http(s) is supported\");\n }\n if (!data.root) {\n throw new Error(\"Missing mandatory root\");\n }\n if (typeof data.root !== \"string\") {\n throw new Error(\"Invalid root type\");\n }\n if (!data.root.startsWith(\"/\")) {\n throw new Error(\"Root must start with a leading slash\");\n }\n if (!data.source.includes(data.root)) {\n throw new Error(\"Root must be part of the source\");\n }\n if (isDavResource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n }\n if (data.displayname && typeof data.displayname !== \"string\") {\n throw new Error(\"Invalid displayname type\");\n }\n if (data.mtime && !(data.mtime instanceof Date)) {\n throw new Error(\"Invalid mtime type\");\n }\n if (data.crtime && !(data.crtime instanceof Date)) {\n throw new Error(\"Invalid crtime type\");\n }\n if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error(\"Missing or invalid mandatory mime\");\n }\n if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n throw new Error(\"Invalid size type\");\n }\n if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n throw new Error(\"Invalid permissions\");\n }\n if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n throw new Error(\"Invalid owner type\");\n }\n if (data.attributes && typeof data.attributes !== \"object\") {\n throw new Error(\"Invalid attributes type\");\n }\n if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n throw new Error(\"Status must be a valid NodeStatus\");\n }\n}\nfunction fixDates(data) {\n if (data.mtime && typeof data.mtime === \"string\") {\n if (!isNaN(Date.parse(data.mtime)) && JSON.stringify(new Date(data.mtime)) === JSON.stringify(data.mtime)) {\n data.mtime = new Date(data.mtime);\n }\n }\n if (data.crtime && typeof data.crtime === \"string\") {\n if (!isNaN(Date.parse(data.crtime)) && JSON.stringify(new Date(data.crtime)) === JSON.stringify(data.crtime)) {\n data.crtime = new Date(data.crtime);\n }\n }\n}\nfunction fixRegExp(pattern) {\n if (pattern instanceof RegExp) {\n return pattern;\n }\n const matches = pattern.match(/(\\/?)(.+)\\1([a-z]*)/i);\n if (!matches) {\n throw new Error(\"Invalid regular expression format.\");\n }\n const validFlags = Array.from(new Set(matches[3])).filter((flag) => \"gimsuy\".includes(flag)).join(\"\");\n return new RegExp(matches[2], validFlags);\n}\nclass Node {\n _attributes;\n _data;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n handler = {\n set: (target, prop, value) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.deleteProperty(target, prop);\n }\n };\n constructor(...[data, davService]) {\n if (!data.mime) {\n data.mime = \"application/octet-stream\";\n }\n fixDates(data);\n davService = fixRegExp(davService || this._knownDavService);\n validateData(data, davService);\n this._data = {\n ...data,\n attributes: {}\n };\n this._attributes = new Proxy(this._data.attributes, this.handler);\n this.update(data.attributes ?? {});\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin } = new URL(this.source);\n return origin + encodePath(this.source.slice(origin.length));\n }\n /**\n * Get this object name\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * The nodes displayname\n * By default the display name and the `basename` are identical,\n * but it is possible to have a different name. This happens\n * on the files app for example for shared folders.\n */\n get displayname() {\n return this._data.displayname || this.basename;\n }\n /**\n * Set the displayname\n */\n set displayname(displayname) {\n validateData({ ...this._data, displayname }, this._knownDavService);\n this._data.displayname = displayname;\n }\n /**\n * Get this object's extension\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n *\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get dirname() {\n return dirname(this.path);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime || \"application/octet-stream\";\n }\n /**\n * Set the file mime\n * Removing the mime type will set it to `application/octet-stream`\n */\n set mime(mime) {\n mime ??= \"application/octet-stream\";\n validateData({ ...this._data, mime }, this._knownDavService);\n this._data.mime = mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Set the file modification time\n */\n set mtime(mtime) {\n validateData({ ...this._data, mtime }, this._knownDavService);\n this._data.mtime = mtime;\n }\n /**\n * Get the file creation time\n * There is no setter as the creation time is not meant to be changed\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Set the file size\n */\n set size(size) {\n validateData({ ...this._data, size }, this._knownDavService);\n this.updateMtime();\n this._data.size = size;\n }\n /**\n * Get the file attribute\n * This contains all additional attributes not provided by the Node class\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n if (this.owner === null && !this.isDavResource) {\n return Permission.READ;\n }\n return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n }\n /**\n * Set the file permissions\n */\n set permissions(permissions) {\n validateData({ ...this._data, permissions }, this._knownDavService);\n this.updateMtime();\n this._data.permissions = permissions;\n }\n /**\n * Get the file owner\n * There is no setter as the owner is not meant to be changed\n */\n get owner() {\n if (!this.isDavResource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related resource ?\n */\n get isDavResource() {\n return isDavResource(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n * There is no setter as the root is not meant to be changed\n */\n get root() {\n return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n const idx = this.source.indexOf(\"://\");\n const protocol = this.source.slice(0, idx);\n const remainder = this.source.slice(idx + 3);\n const slashIndex = remainder.indexOf(\"/\");\n const host = remainder.slice(0, slashIndex);\n const rawPath = remainder.slice(slashIndex);\n const safeUrl = `${protocol}://${host}${encodePath(rawPath)}`;\n const url = new URL(safeUrl);\n let source = decodeURIComponent(url.pathname);\n if (this.isDavResource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return source.slice(firstMatch + root.length) || \"/\";\n }\n /**\n * Get the nodes file id if defined.\n * There is no setter as the fileid is not meant to be changed.\n *\n * @deprecated Nextcloud is migrating to snowflake ids which are strings. Use the `id` attribute instead.\n */\n get fileid() {\n return typeof this._data?.id === \"number\" ? this._data.id : void 0;\n }\n /**\n * Get the nodes id - if defined.\n *\n * Note: As Nextcloud is migrating to snowflake ids the id has to be a string,\n * due to limitations of the JavaScript number type (snowflake ids are 64bit JavaScript numbers can only accurately represent integers up to 53 bit).\n */\n get id() {\n if (typeof this._data?.id === \"undefined\" || typeof this._data.id === \"number\" && this._data.id < 0) {\n return void 0;\n }\n return String(this._data.id);\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(status) {\n validateData({ ...this._data, status }, this._knownDavService);\n this._data.status = status;\n }\n /**\n * Move the node to a new destination\n *\n * @param destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n const oldBasename = this.basename;\n this._data.source = destination;\n if (this.displayname === oldBasename && this.basename !== oldBasename) {\n this.displayname = this.basename;\n }\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(basename2) {\n if (basename2.includes(\"/\")) {\n throw new Error(\"Invalid basename\");\n }\n this.move(dirname(this.source) + \"/\" + basename2);\n }\n /**\n * Update the mtime if exists\n */\n updateMtime() {\n if (this._data.mtime) {\n this._data.mtime = /* @__PURE__ */ new Date();\n }\n }\n /**\n * Update the attributes of the node\n * Warning, updating attributes will NOT automatically update the mtime.\n *\n * @param attributes The new attributes to update on the Node attributes\n */\n update(attributes) {\n for (const [name, value] of Object.entries(attributes)) {\n try {\n if (value === void 0) {\n delete this.attributes[name];\n } else {\n this.attributes[name] = value;\n }\n } catch (e) {\n if (e instanceof TypeError) {\n continue;\n }\n throw e;\n }\n }\n }\n /**\n * Returns a clone of the node\n */\n clone() {\n return new this.constructor(structuredClone(this._data), this._knownDavService);\n }\n /**\n * JSON representation of the node\n */\n toJSON() {\n return JSON.stringify([structuredClone(this._data), this._knownDavService.toString()]);\n }\n}\nclass File extends Node {\n constructor(...[data, davService]) {\n super(data, davService);\n }\n get type() {\n return FileType.File;\n }\n}\nclass Folder extends Node {\n constructor(...[data, davService]) {\n super({\n ...data,\n mime: \"httpd/unix-directory\"\n }, davService);\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\nexport {\n FileType as F,\n Node as N,\n Permission as P,\n File as a,\n Folder as b,\n NodeStatus as c,\n logger as l,\n scopedGlobals as s\n};\n//# sourceMappingURL=folder-29HuacU_.mjs.map\n","var e=class extends EventTarget{dispatchTypedEvent(s,t){return super.dispatchEvent(t)}};export{e as TypedEventTarget};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\nObject.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });\n\nvar buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nexports.Blob = buffer.Blob;\nexports.BlobOptions = buffer.BlobOptions;\nexports.Buffer = buffer.Buffer;\nexports.File = buffer.File;\nexports.FileOptions = buffer.FileOptions;\nexports.INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nexports.SlowBuffer = buffer.SlowBuffer;\nexports.TranscodeEncoding = buffer.TranscodeEncoding;\nexports.atob = buffer.atob;\nexports.btoa = buffer.btoa;\nexports.constants = buffer.constants;\nexports.default = Buffer;\nexports.isAscii = buffer.isAscii;\nexports.isUtf8 = buffer.isUtf8;\nexports.kMaxLength = buffer.kMaxLength;\nexports.kStringMaxLength = buffer.kStringMaxLength;\nexports.resolveObjectURL = buffer.resolveObjectURL;\nexports.transcode = buffer.transcode;\n//# sourceMappingURL=index.cjs.map\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable<typeof gOPD>} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","'use strict';\n\n// eslint-disable-next-line no-extra-parens, no-empty-function\nconst cached = /** @type {GeneratorFunctionConstructor} */ (function* () {}.constructor);\n\n/** @type {import('.')} */\nmodule.exports = () => cached;\n\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunction = require('generator-function');\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tvar GeneratorFunction = getGeneratorFunction();\n\treturn GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\n/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\n/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (isArray(list)) {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType<typeof availableTypedArrays>} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = 1 + originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\tadjustedLength > 0 ? adjustedLength : 0,\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\n\n/** @import { BoundSet, BoundSlice, Cache, Getter } from './types' */\n/** @import { TypedArrayName } from '.' */\n\n/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @type {Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\tif (descriptor && descriptor.get) {\n\t\t\t\tvar bound = callBind(descriptor.get);\n\t\t\t\tcache[\n\t\t\t\t\t/** @type {`$${TypedArrayName}`} */\n\t\t\t\t\t('$' + typedArray)\n\t\t\t\t] = bound;\n\t\t\t}\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tvar bound = /** @type {typeof BoundSlice | typeof BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t\tcache[\n\t\t\t\t/** @type {`$${TypedArrayName}`} */\n\t\t\t\t('$' + typedArray)\n\t\t\t] = bound;\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | TypedArrayName} */\nfunction tryTypedArrays(value) {\n\t/** @type {ReturnType<typeof tryTypedArrays>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`$${TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @param {Getter} getter @param {`$${TypedArrayName}`} typedArray */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n}\n\n/** @type {(value: object) => false | TypedArrayName} */\nfunction trySlices(value) {\n\t/** @type {ReturnType<typeof trySlices>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`$${TypedArrayName}`, Getter>} */(cache),\n\t\t/** @param {Getter} getter @param {`$${TypedArrayName}`} name */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n}\n\n/** @type {(tag: unknown) => tag is typeof typedArrays[number]} */\nfunction isTATag(tag) {\n\treturn $indexOf(typedArrays, tag) > -1;\n}\n\n/** @type {(value: unknown) => ReturnType<typeof import('.')>} */\nfunction whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif (isTATag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n}\n\nmodule.exports = whichTypedArray;\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n",";(function (sax) {\n // wrapper for non-node envs\n sax.parser = function (strict, opt) {\n return new SAXParser(strict, opt)\n }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment',\n 'sgmlDecl',\n 'textNode',\n 'tagName',\n 'doctype',\n 'procInstName',\n 'procInstBody',\n 'entity',\n 'attribName',\n 'attribValue',\n 'cdata',\n 'script',\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace',\n ]\n\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.encoding = null;\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.opt.maxEntityCount = parser.opt.maxEntityCount || 512\n parser.opt.maxEntityDepth = parser.opt.maxEntityDepth || 4\n parser.entityCount = parser.entityDepth = 0\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES =\n parser.strictEntities ?\n Object.create(sax.XML_ENTITIES)\n : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F() {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers(parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers(parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () {\n end(this)\n },\n write: write,\n resume: function () {\n this.error = null\n return this\n },\n close: function () {\n return this.write(null)\n },\n flush: function () {\n flushBuffers(this)\n },\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream(strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function determineBufferEncoding(data, isEnd) {\n // BOM-based detection is the most reliable signal when present.\n if (data.length >= 2) {\n if (data[0] === 0xff && data[1] === 0xfe) {\n return 'utf-16le'\n }\n\n if (data[0] === 0xfe && data[1] === 0xff) {\n return 'utf-16be'\n }\n }\n\n if (data.length >= 3 && data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) {\n return 'utf8'\n }\n\n if (data.length >= 4) {\n // XML documents without a BOM still start with \"<?xml\", which is enough\n // to distinguish UTF-16LE/BE from UTF-8 by looking at the zero bytes.\n if (data[0] === 0x3c && data[1] === 0x00 && data[2] === 0x3f && data[3] === 0x00) {\n return 'utf-16le'\n }\n\n if (data[0] === 0x00 && data[1] === 0x3c && data[2] === 0x00 && data[3] === 0x3f) {\n return 'utf-16be'\n }\n\n return 'utf8'\n }\n\n return isEnd ? 'utf8' : null\n }\n\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n this._decoderBuffer = null\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false,\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream,\n },\n })\n\n SAXStream.prototype._decodeBuffer = function (data, isEnd) {\n if (this._decoderBuffer) {\n // Keep incomplete leading bytes until we have enough data to infer the\n // stream encoding, then decode the buffered prefix together with the next chunk.\n data = Buffer.concat([this._decoderBuffer, data])\n this._decoderBuffer = null\n }\n\n if (!this._decoder) {\n var encoding = determineBufferEncoding(data, isEnd)\n if (!encoding) {\n // A very short first chunk may not contain enough bytes to detect the\n // encoding yet, so defer decoding until the next write/end call.\n this._decoderBuffer = data\n return ''\n }\n\n // Store the detected transport encoding so strict mode can compare it\n // with the optional encoding declared in the XML prolog later on.\n this._parser.encoding = encoding\n this._decoder = new TextDecoder(encoding)\n }\n\n return this._decoder.decode(data, { stream: !isEnd })\n }\n\n SAXStream.prototype.write = function (data) {\n if (\n typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)\n ) {\n data = this._decodeBuffer(data, false)\n } else if (this._decoderBuffer) {\n // Flush any buffered binary prefix before handling a string chunk.\n // This only matters if the caller mixes Buffer and string writes (used in test).\n var remaining = this._decodeBuffer(Buffer.alloc(0), true)\n if (remaining) {\n this._parser.write(remaining)\n this.emit('data', remaining)\n }\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n // Flush any remaining decoded data from the TextDecoder\n if (this._decoderBuffer) {\n var finalChunk = this._decodeBuffer(Buffer.alloc(0), true)\n if (finalChunk) {\n this._parser.write(finalChunk)\n this.emit('data', finalChunk)\n }\n } else if (this._decoder) {\n var remaining = this._decoder.decode()\n if (remaining) {\n this._parser.write(remaining)\n this.emit('data', remaining)\n }\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args =\n arguments.length === 1 ?\n [arguments[0]]\n : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATAre = /^\\[CDATA\\[$/i\n var DOCTYPEre = /^DOCTYPE$/i\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace(c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote(c) {\n return c === '\"' || c === \"'\"\n }\n\n function isAttribEnd(c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch(regex, c) {\n return regex.test(c)\n }\n\n function notMatch(regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // &amp and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++, // <script> ... <\n }\n\n sax.XML_ENTITIES = Object.assign(Object.create(null), {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\",\n })\n\n sax.ENTITIES = Object.assign(Object.create(null), {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\",\n AElig: 198,\n Aacute: 193,\n Acirc: 194,\n Agrave: 192,\n Aring: 197,\n Atilde: 195,\n Auml: 196,\n Ccedil: 199,\n ETH: 208,\n Eacute: 201,\n Ecirc: 202,\n Egrave: 200,\n Euml: 203,\n Iacute: 205,\n Icirc: 206,\n Igrave: 204,\n Iuml: 207,\n Ntilde: 209,\n Oacute: 211,\n Ocirc: 212,\n Ograve: 210,\n Oslash: 216,\n Otilde: 213,\n Ouml: 214,\n THORN: 222,\n Uacute: 218,\n Ucirc: 219,\n Ugrave: 217,\n Uuml: 220,\n Yacute: 221,\n aacute: 225,\n acirc: 226,\n aelig: 230,\n agrave: 224,\n aring: 229,\n atilde: 227,\n auml: 228,\n ccedil: 231,\n eacute: 233,\n ecirc: 234,\n egrave: 232,\n eth: 240,\n euml: 235,\n iacute: 237,\n icirc: 238,\n igrave: 236,\n iuml: 239,\n ntilde: 241,\n oacute: 243,\n ocirc: 244,\n ograve: 242,\n oslash: 248,\n otilde: 245,\n ouml: 246,\n szlig: 223,\n thorn: 254,\n uacute: 250,\n ucirc: 251,\n ugrave: 249,\n uuml: 252,\n yacute: 253,\n yuml: 255,\n copy: 169,\n reg: 174,\n nbsp: 160,\n iexcl: 161,\n cent: 162,\n pound: 163,\n curren: 164,\n yen: 165,\n brvbar: 166,\n sect: 167,\n uml: 168,\n ordf: 170,\n laquo: 171,\n not: 172,\n shy: 173,\n macr: 175,\n deg: 176,\n plusmn: 177,\n sup1: 185,\n sup2: 178,\n sup3: 179,\n acute: 180,\n micro: 181,\n para: 182,\n middot: 183,\n cedil: 184,\n ordm: 186,\n raquo: 187,\n frac14: 188,\n frac12: 189,\n frac34: 190,\n iquest: 191,\n times: 215,\n divide: 247,\n OElig: 338,\n oelig: 339,\n Scaron: 352,\n scaron: 353,\n Yuml: 376,\n fnof: 402,\n circ: 710,\n tilde: 732,\n Alpha: 913,\n Beta: 914,\n Gamma: 915,\n Delta: 916,\n Epsilon: 917,\n Zeta: 918,\n Eta: 919,\n Theta: 920,\n Iota: 921,\n Kappa: 922,\n Lambda: 923,\n Mu: 924,\n Nu: 925,\n Xi: 926,\n Omicron: 927,\n Pi: 928,\n Rho: 929,\n Sigma: 931,\n Tau: 932,\n Upsilon: 933,\n Phi: 934,\n Chi: 935,\n Psi: 936,\n Omega: 937,\n alpha: 945,\n beta: 946,\n gamma: 947,\n delta: 948,\n epsilon: 949,\n zeta: 950,\n eta: 951,\n theta: 952,\n iota: 953,\n kappa: 954,\n lambda: 955,\n mu: 956,\n nu: 957,\n xi: 958,\n omicron: 959,\n pi: 960,\n rho: 961,\n sigmaf: 962,\n sigma: 963,\n tau: 964,\n upsilon: 965,\n phi: 966,\n chi: 967,\n psi: 968,\n omega: 969,\n thetasym: 977,\n upsih: 978,\n piv: 982,\n ensp: 8194,\n emsp: 8195,\n thinsp: 8201,\n zwnj: 8204,\n zwj: 8205,\n lrm: 8206,\n rlm: 8207,\n ndash: 8211,\n mdash: 8212,\n lsquo: 8216,\n rsquo: 8217,\n sbquo: 8218,\n ldquo: 8220,\n rdquo: 8221,\n bdquo: 8222,\n dagger: 8224,\n Dagger: 8225,\n bull: 8226,\n hellip: 8230,\n permil: 8240,\n prime: 8242,\n Prime: 8243,\n lsaquo: 8249,\n rsaquo: 8250,\n oline: 8254,\n frasl: 8260,\n euro: 8364,\n image: 8465,\n weierp: 8472,\n real: 8476,\n trade: 8482,\n alefsym: 8501,\n larr: 8592,\n uarr: 8593,\n rarr: 8594,\n darr: 8595,\n harr: 8596,\n crarr: 8629,\n lArr: 8656,\n uArr: 8657,\n rArr: 8658,\n dArr: 8659,\n hArr: 8660,\n forall: 8704,\n part: 8706,\n exist: 8707,\n empty: 8709,\n nabla: 8711,\n isin: 8712,\n notin: 8713,\n ni: 8715,\n prod: 8719,\n sum: 8721,\n minus: 8722,\n lowast: 8727,\n radic: 8730,\n prop: 8733,\n infin: 8734,\n ang: 8736,\n and: 8743,\n or: 8744,\n cap: 8745,\n cup: 8746,\n int: 8747,\n there4: 8756,\n sim: 8764,\n cong: 8773,\n asymp: 8776,\n ne: 8800,\n equiv: 8801,\n le: 8804,\n ge: 8805,\n sub: 8834,\n sup: 8835,\n nsub: 8836,\n sube: 8838,\n supe: 8839,\n oplus: 8853,\n otimes: 8855,\n perp: 8869,\n sdot: 8901,\n lceil: 8968,\n rceil: 8969,\n lfloor: 8970,\n rfloor: 8971,\n lang: 9001,\n rang: 9002,\n loz: 9674,\n spades: 9824,\n clubs: 9827,\n hearts: 9829,\n diams: 9830,\n })\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit(parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function getDeclaredEncoding(body) {\n var match = body && body.match(/(?:^|\\s)encoding\\s*=\\s*(['\"])([^'\"]+)\\1/i)\n return match ? match[2] : null\n }\n\n function normalizeEncodingName(encoding) {\n if (!encoding) {\n return null\n }\n\n return encoding.toLowerCase().replace(/[^a-z0-9]/g, '')\n }\n\n function encodingsMatch(detectedEncoding, declaredEncoding) {\n const detected = normalizeEncodingName(detectedEncoding)\n const declared = normalizeEncodingName(declaredEncoding)\n\n if (!detected || !declared) {\n return true\n }\n\n if (declared === 'utf16') {\n return detected === 'utf16le' || detected === 'utf16be'\n }\n\n return detected === declared\n }\n\n function validateXmlDeclarationEncoding(parser, data) {\n if (\n !parser.strict ||\n !parser.encoding ||\n !data ||\n data.name !== 'xml'\n ) {\n return\n }\n\n var declaredEncoding = getDeclaredEncoding(data.body)\n if (\n declaredEncoding &&\n !encodingsMatch(parser.encoding, declaredEncoding)\n ) {\n strictFail(\n parser,\n 'XML declaration encoding ' +\n declaredEncoding +\n ' does not match detected stream encoding ' +\n parser.encoding.toUpperCase()\n )\n }\n }\n\n function emitNode(parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText(parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts(opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error(parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er +=\n '\\nLine: ' +\n parser.line +\n '\\nColumn: ' +\n parser.column +\n '\\nChar: ' +\n parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end(parser) {\n if (parser.sawRoot && !parser.closedRoot)\n strictFail(parser, 'Unclosed root tag')\n if (\n parser.state !== S.BEGIN &&\n parser.state !== S.BEGIN_WHITESPACE &&\n parser.state !== S.TEXT\n ) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail(parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag(parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = (parser.tag = { name: parser.tagName, attributes: {} })\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname(name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? ['', name] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib(parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (\n parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)\n ) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(\n parser,\n 'xml: prefix must be bound to ' +\n XML_NAMESPACE +\n '\\n' +\n 'Actual: ' +\n parser.attribValue\n )\n } else if (\n local === 'xmlns' &&\n parser.attribValue !== XMLNS_NAMESPACE\n ) {\n strictFail(\n parser,\n 'xmlns: prefix must be bound to ' +\n XMLNS_NAMESPACE +\n '\\n' +\n 'Actual: ' +\n parser.attribValue\n )\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue,\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag(parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(\n parser,\n 'Unbound namespace prefix: ' + JSON.stringify(parser.tagName)\n )\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p],\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : tag.ns[prefix] || ''\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri,\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(\n parser,\n 'Unbound namespace prefix: ' + JSON.stringify(prefix)\n )\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag(parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = (parser.tag = parser.tags.pop())\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity(parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (\n isNaN(num) ||\n numStr.toLowerCase() !== entity ||\n num < 0 ||\n num > 0x10ffff ||\n !isXmlChar(num)\n ) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n // Returns true if `num` is a code point that matches the XML `Char`\n // production, false otherwise. Character references that resolve to a\n // character outside this range (e.g. surrogates or restricted control\n // characters) are not well-formed.\n // https://www.w3.org/TR/REC-xml/#NT-Char\n // https://www.w3.org/TR/REC-xml/#wf-Legalchar\n function isXmlChar(num) {\n return (\n num === 0x9 ||\n num === 0xa ||\n num === 0xd ||\n (num >= 0x20 && num <= 0xd7ff) ||\n (num >= 0xe000 && num <= 0xfffd) ||\n (num >= 0x10000 && num <= 0x10ffff)\n )\n }\n\n function beginWhiteSpace(parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt(chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write(chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(\n parser,\n 'Cannot write after close. Assign an onready handler.'\n )\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (\n c === '<' &&\n !(parser.sawRoot && parser.closedRoot && !parser.strict)\n ) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (\n !isWhitespace(c) &&\n (!parser.sawRoot || parser.closedRoot)\n ) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue\n }\n\n if (\n parser.doctype &&\n parser.doctype !== true &&\n parser.sgmlDecl\n ) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if (CDATAre.test(parser.sgmlDecl + c)) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if (DOCTYPEre.test(parser.sgmlDecl + c)) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(\n parser,\n 'Inappropriately located doctype declaration'\n )\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n var starti = i - 1\n while (c && c !== ']') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.cdata += chunk.substring(starti, i - 1)\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n const procInstEndData = {\n name: parser.procInstName,\n body: parser.procInstBody,\n }\n validateXmlDeclarationEncoding(parser, procInstEndData)\n emitNode(parser, 'onprocessinginstruction', procInstEndData)\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(\n parser,\n 'Forward-slash in opening tag not followed by >'\n )\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: '',\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName + c\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (\n parser.opt.unparsedEntities &&\n !Object.values(sax.XML_ENTITIES).includes(parsedEntity)\n ) {\n if ((parser.entityCount += 1) > parser.opt.maxEntityCount) {\n error(\n parser,\n 'Parsed entity count exceeds max entity count'\n )\n }\n\n if ((parser.entityDepth += 1) > parser.opt.maxEntityDepth) {\n error(\n parser,\n 'Parsed entity depth exceeds max entity depth'\n )\n }\n\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n parser.entityDepth -= 1\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (\n isMatch(parser.entity.length ? entityBody : entityStart, c)\n ) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n ;(function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint)\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xd800\n lowSurrogate = (codePoint % 0x400) + 0xdc00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true,\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n })()\n }\n})(typeof exports === 'undefined' ? (this.sax = {}) : exports)\n","import sax from 'sax';\nfunction startsWith(array, prefix) {\n if (prefix.length > array.length) {\n return false;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (array[i] !== prefix[i]) {\n return false;\n }\n }\n return true;\n}\nfunction hasXmlTag(xmlString) {\n return /^<\\s*\\w+(?=\\s+[^<>]*=|>)/.test(xmlString);\n}\nfunction hasArrayXmlTag(array, encoding) {\n const textDecoder = new TextDecoder(encoding);\n return hasXmlTag(textDecoder.decode(array));\n}\nexport function isXml(array) {\n if (startsWith(array, [60, 63, 120, 109, 108, 32])) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n if (startsWith(array, [0xEF, 0xBB, 0xBF])) { // UTF-8 BOM\n const encoding = 'utf-8';\n if (startsWith(array.subarray(3), [60, 63, 120, 109, 108, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 3 };\n }\n }\n if (startsWith(array, [0xFE, 0xFF])) {\n const encoding = 'utf-16be';\n if (startsWith(array.subarray(2), [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n }\n if (startsWith(array, [0xFF, 0xFE])) {\n const encoding = 'utf-16le';\n if (startsWith(array.subarray(2), [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n return { xml: true, encoding: 'utf-16le', offset: 2 };\n }\n if (startsWith(array, [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32])) {\n return { xml: true, encoding: 'utf-16be', offset: 0 };\n }\n if (startsWith(array, [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0])) {\n return { xml: true, encoding: 'utf-16le', offset: 0 };\n }\n if (hasArrayXmlTag(array, 'utf-8')) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n return { xml: false };\n}\n/**\n * Maps the root element namespace to corresponding file-type\n */\nconst namespaceMapping = {\n 'http://www.w3.org/2000/svg': {\n ext: 'svg',\n mime: 'image/svg+xml'\n },\n 'http://www.w3.org/1999/xhtml': {\n ext: 'xhtml',\n mime: 'application/xhtml+xml'\n },\n 'http://www.opengis.net/kml/2.2': {\n ext: 'kml',\n mime: 'application/vnd.google-earth.kml+xml'\n },\n 'http://www.opengis.net/gml': {\n ext: 'gml',\n mime: 'application/gml+xml'\n }\n};\n/**\n * Maps the root element name to corresponding file-type.\n * Used for Non-namespaced XML\n * @type {{rss: {ext: string, mime: string}}}\n */\nconst rootNameMapping = {\n rss: {\n ext: 'rss',\n mime: 'application/rss+xml'\n },\n 'score-partwise': {\n ext: 'musicxml',\n mime: 'application/vnd.recordare.musicxml+xml'\n },\n svg: {\n ext: 'svg',\n mime: 'image/svg+xml'\n }\n};\nexport class XmlTextDetector {\n constructor(options) {\n this.options = options ?? {};\n this.firstTag = true;\n this.onEnd = false;\n this.parser = sax.parser(true, { xmlns: true });\n this.nesting = 0;\n this.parser.onerror = e => {\n if (e.message.startsWith('Invalid character entity')) { // Allow entity reference\n return;\n }\n this.fileType = undefined;\n this.onEnd = true;\n };\n this.parser.onopentag = node => {\n ++this.nesting;\n if (!this.firstTag || this.onEnd) {\n return;\n }\n this.firstTag = false;\n if (node.uri) {\n // Resolve file-type boot root element namespace\n this.fileType = namespaceMapping[node.uri];\n }\n else if (node.name) {\n // Fall back on element name if there is no namespace\n this.fileType = rootNameMapping[node.name.toLowerCase()];\n }\n if (this.fileType && !this.options.fullScan) {\n this.onEnd = true;\n }\n };\n this.parser.onclosetag = () => {\n --this.nesting;\n };\n }\n write(text) {\n this.parser.write(text);\n }\n close() {\n this.parser.close();\n this.onEnd = true;\n }\n isValid() {\n return this.nesting === 0;\n }\n}\nexport const detectXml = {\n id: 'xml',\n detect: async (tokenizer) => {\n const buffer = new Uint8Array(512);\n // Increase sample size from 12 to 256.\n await tokenizer.peekBuffer(buffer, { length: 128, mayBeLess: true });\n const xmlDetection = isXml(buffer);\n if (xmlDetection.xml) {\n await tokenizer.ignore(xmlDetection.offset);\n const xmlTextDetector = new XmlTextDetector();\n const textDecoder = new TextDecoder(xmlDetection.encoding);\n do {\n const len = await tokenizer.readBuffer(buffer, { mayBeLess: true });\n const portion = buffer.subarray(0, len);\n const text = textDecoder.decode(portion);\n xmlTextDetector.write(text);\n if (len < buffer.length) {\n xmlTextDetector.close();\n }\n } while (!xmlTextDetector.onEnd);\n return xmlTextDetector.fileType ?? {\n ext: 'xml',\n mime: 'application/xml'\n };\n }\n }\n};\n","import {XmlTextDetector} from '@file-type/xml';\n\nexport default function isSvg(string, {validate = true} = {}) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\tconst xmlTextDetector = new XmlTextDetector({fullScan: validate});\n\n\tif (validate) {\n\t\txmlTextDetector.write(string);\n\n\t\tif (!xmlTextDetector.isValid()) {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\tconst chunkSize = 128;\n\n\t\tlet offset = 0;\n\t\twhile (string.length > offset && !xmlTextDetector.onEnd) {\n\t\t\txmlTextDetector.write(string.slice(offset, Math.min(offset + chunkSize, string.length)));\n\t\t\toffset += chunkSize;\n\t\t}\n\t}\n\n\treturn xmlTextDetector.fileType?.ext === 'svg';\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nexport function loadState(app, key, fallback) {\n const selector = `#initial-state-${app}-${key}`;\n if (window._nc_initial_state?.has(selector)) {\n return window._nc_initial_state.get(selector);\n }\n else if (!window._nc_initial_state) {\n window._nc_initial_state = new Map();\n }\n const elem = document.querySelector(selector);\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n throw new Error(`Could not find initial state ${key} of ${app}`);\n }\n try {\n const parsedValue = JSON.parse(atob(elem.value));\n window._nc_initial_state.set(selector, parsedValue);\n return parsedValue;\n }\n catch (error) {\n console.error('[@nextcloud/initial-state] Could not parse initial state', { key, app, error });\n if (fallback !== undefined) {\n return fallback;\n }\n throw new Error(`Could not parse initial state ${key} of ${app}`, { cause: error });\n }\n}\n","/*! @license DOMPurify 3.4.15 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.15/LICENSE */\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nconst entries = Object.entries,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nlet freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\nlet _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString = typeof BigInt === 'undefined' ? null : unapply(BigInt.prototype.toString);\nconst symbolToString = typeof Symbol === 'undefined' ? null : unapply(Symbol.prototype.toString);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n if (!arrayIsArray(array)) {\n return set;\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const _ref2 of entries(object)) {\n var _ref3 = _slicedToArray(_ref2, 2);\n const property = _ref3[0];\n const value = _ref3[1];\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (arrayIsArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * Convert non-node values into strings without depending on direct property access.\n *\n * @param value - The value to stringify.\n * @returns A string representation of the provided value.\n */\nfunction stringifyValue(value) {\n switch (typeof value) {\n case 'string':\n {\n return value;\n }\n case 'number':\n {\n return numberToString(value);\n }\n case 'boolean':\n {\n return booleanToString(value);\n }\n case 'bigint':\n {\n return bigintToString ? bigintToString(value) : '0';\n }\n case 'symbol':\n {\n return symbolToString ? symbolToString(value) : 'Symbol()';\n }\n case 'undefined':\n {\n return objectToString(value);\n }\n case 'function':\n case 'object':\n {\n if (value === null) {\n return objectToString(value);\n }\n const valueAsRecord = value;\n const valueToString = lookupGetter(valueAsRecord, 'toString');\n if (typeof valueToString === 'function') {\n const stringified = valueToString(valueAsRecord);\n return typeof stringified === 'string' ? stringified : objectToString(stringified);\n }\n return objectToString(value);\n }\n default:\n {\n return objectToString(value);\n }\n }\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\nfunction isRegex(value) {\n try {\n regExpTest(value, '');\n return true;\n } catch (_unused) {\n return false;\n }\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'command', 'commandfor', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dominant-baseline', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'pointer-events', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-orientation', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'vector-effect', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lquote', 'lspace', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/{{[\\w\\W]*|^[\\w\\W]*}}/g);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|^[\\w\\W]*%>/g);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*/g);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n// Markup-significant character probes used by _sanitizeElements.\n// Shared module-level instances are safe despite the sticky /g flags:\n// unapply() resets lastIndex for RegExp receivers before every call.\nconst ELEMENT_MARKUP_PROBE = seal(/<[/\\w!]/g);\nconst COMMENT_MARKUP_PROBE = seal(/<[/\\w]/g);\nconst FALLBACK_TAG_CLOSE = seal(/<\\/no(script|embed|frames)/i);\nconst SELF_CLOSING_TAG = seal(/\\/>/i);\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n processingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\n/* HTML-namespace elements whose child text nodes are serialized *literally*\n (unescaped) by the HTML fragment-serialization algorithm. Two reparse-mXSS\n shapes ride on that literal serialization:\n (a) an element child - a tree the HTML parser can never build, but the DOM\n API and an XML/XHTML parse can - after which a `</tag>`-bearing text\n sibling breaks the element open on reparse; and\n (b) text-only content that already carries the element's OWN end tag, e.g.\n `<style>...</style><img onerror=x>` built as a node, which the literal\n serializer emits verbatim for the HTML parser to re-open.\n Shape (a) is handled by the firstElementChild branch in _isUnsafeNode; shape\n (b) by the LITERAL_TEXT_CLOSE probe. Both read textContent (the raw-serialized\n form for these elements) rather than innerHTML, because an XML/XHTML working\n document serializes innerHTML with `<` escaped, which silently blinds the\n innerHTML-based probes (rule 1's second probe and FALLBACK_TAG_CLOSE) there.\n `script` is never allow-listed, but is kept here so the guard matches the\n serializer's own literal-text list exactly. */\nconst LITERAL_TEXT_ELEMENT_NAMES = ['style', 'script', 'xmp', 'iframe', 'noembed', 'noframes', 'plaintext', 'noscript'];\nconst LITERAL_TEXT_ELEMENTS = freeze(addToSet({}, LITERAL_TEXT_ELEMENT_NAMES));\n/* Per-element end-tag matcher. On an HTML reparse the ONLY token that\n terminates a literal-text element's raw content is its own end tag; a foreign\n literal-text close (e.g. `</xmp>` sitting inside `<style>`) does not break\n out, so matching is per-element, not a shared alternation. The lookahead\n requires an HTML tag-name terminator (whitespace, `/` or `>`) so a longer\n name such as `</styles` is not mistaken for `</style`. */\nconst LITERAL_TEXT_CLOSE = function () {\n const map = {};\n arrayForEach(LITERAL_TEXT_ELEMENT_NAMES, name => {\n map[name] = seal(new RegExp('</' + name + '(?=[\\\\t\\\\n\\\\f\\\\r />])', 'i'));\n });\n return freeze(map);\n}();\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\n/**\n * Resolve a set-valued configuration option: a fresh set built from\n * cfg[key] when it is an own array property (seeded with a clone of\n * options.base when given, case-normalized via options.transform),\n * the fallback set otherwise.\n *\n * @param cfg the cloned, prototype-free configuration object\n * @param key the configuration property to read\n * @param fallback the set to use when the option is absent or not an array\n * @param options transform and optional base set to merge into\n * @returns the resolved set\n */\nconst _resolveSetOption = function _resolveSetOption(cfg, key, fallback, options) {\n return objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;\n};\n/**\n * Resolve an object-valued configuration option: a prototype-free clone\n * of cfg[key] when it is an own, truthy object property, else a fresh\n * fallback built by makeFallback (fresh on every parse, so a previous\n * parse can never leak state into the next one).\n *\n * @param cfg the cloned, prototype-free configuration object\n * @param key the configuration property to read\n * @param makeFallback builds the fallback value when the option is absent\n * @returns the resolved object\n */\nconst _resolveObjectOption = function _resolveObjectOption(cfg, key, makeFallback) {\n const value = objectHasOwnProperty(cfg, key) ? cfg[key] : undefined;\n return value && typeof value === 'object' ? clone(value) : makeFallback();\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.4.15';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let document = window.document;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n window.DocumentFragment;\n const HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap;\n _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap;\n window.HTMLFormElement;\n const DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n // Clobber-safe Attr-node removal. On an HTMLFormElement a descendant named\n // \"removeAttributeNode\" shadows the prototype method via\n // [LegacyOverrideBuiltIns], so element.removeAttributeNode(attr) throws.\n // Calling the cached Element.prototype method with the element as the\n // receiver removes the exact live Attr node regardless of the shadowing.\n const removeAttributeNode = lookupGetter(ElementPrototype, 'removeAttributeNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n const getShadowRoot = lookupGetter(ElementPrototype, 'shadowRoot');\n const getAttributes = lookupGetter(ElementPrototype, 'attributes');\n const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeType') : null;\n const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeName') : null;\n const getOwnerDocument = Node && Node.prototype ? lookupGetter(Node.prototype, 'ownerDocument') : null;\n /* Clobber-safe nodeType / nodeName reads through the cached Node.prototype\n getters, with a direct-property fallback for environments that lack\n Node.prototype. Sites that need a different fallback (e.g. _isClobbered\n returns early on a null name) intentionally keep their own reads. */\n const _readNodeType = function _readNodeType(node) {\n return getNodeType ? getNodeType(node) : node.nodeType;\n };\n const _readNodeName = function _readNodeName(node) {\n return getNodeName ? getNodeName(node) : node.nodeName;\n };\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n // The instance's own internal Trusted Types policy. Unlike a caller-supplied\n // `TRUSTED_TYPES_POLICY`, this is created at most once — Trusted Types throws\n // on duplicate policy names — and is the only policy allowed to persist\n // across configurations and survive `clearConfig()`.\n let defaultTrustedTypesPolicy;\n let defaultTrustedTypesPolicyResolved = false;\n // Tracks whether we are already inside a call to the configured Trusted Types\n // policy (`createHTML` or `createScriptURL`). If a supplied policy callback\n // itself calls `DOMPurify.sanitize` (the cause of #1422), `sanitize` would\n // re-enter the policy and recurse until the stack overflows. We detect that\n // re-entry and throw a clear, actionable error instead. The guard is shared\n // across both callbacks, because either one re-entering `sanitize` triggers\n // the same unbounded recursion.\n let IN_TRUSTED_TYPES_POLICY = 0;\n const _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy() {\n if (IN_TRUSTED_TYPES_POLICY > 0) {\n throw typeErrorCreate('A configured TRUSTED_TYPES_POLICY callback (createHTML or ' + 'createScriptURL) must not call DOMPurify.sanitize, as that causes ' + 'infinite recursion. Do not pass a policy whose callbacks wrap ' + 'DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted ' + 'Types\" section of the README.');\n }\n };\n const _createTrustedHTML = function _createTrustedHTML(html) {\n _assertNotInTrustedTypesPolicy();\n IN_TRUSTED_TYPES_POLICY++;\n try {\n return trustedTypesPolicy.createHTML(html);\n } finally {\n IN_TRUSTED_TYPES_POLICY--;\n }\n };\n const _createTrustedScriptURL = function _createTrustedScriptURL(scriptUrl) {\n _assertNotInTrustedTypesPolicy();\n IN_TRUSTED_TYPES_POLICY++;\n try {\n return trustedTypesPolicy.createScriptURL(scriptUrl);\n } finally {\n IN_TRUSTED_TYPES_POLICY--;\n }\n };\n // Lazily resolve (and cache) the instance's internal default policy.\n // Resolution is attempted at most once: a successful `createPolicy` cannot be\n // repeated (Trusted Types throws on duplicate names), and a failed or\n // unsupported attempt must not be retried on every parse.\n const _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy() {\n if (!defaultTrustedTypesPolicyResolved) {\n defaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n defaultTrustedTypesPolicyResolved = true;\n }\n return defaultTrustedTypesPolicy;\n };\n const _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n const importNode = originalDocument.importNode;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE,\n CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;\n let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Pristine allowlist bindings captured at setConfig() time. On the\n * persistent-config path sanitize() restores the sets from these before\n * the per-walk hook clone-guard, so a hook's in-call widening cannot\n * carry across calls. Null until setConfig() is called; reset by\n * clearConfig(). */\n let SET_CONFIG_ALLOWED_TAGS = null;\n let SET_CONFIG_ALLOWED_ATTR = null;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script',\n // <selectedcontent> mirrors the selected <option>'s subtree, cloned by\n // the UA (customizable <select>) — including any on* handlers — and the\n // engine re-mirrors synchronously whenever a removal changes which\n // option/selectedcontent is current, even inside DOMPurify's inert\n // DOMParser document. Hoisting its children on removal re-inserts a fresh\n // mirror target ahead of the walk, which the engine refills, looping\n // forever (DoS) and amplifying output. Dropping its content on removal\n // (rather than hoisting) breaks that cascade; the content is a duplicate\n // of the option, which is sanitized on its own. See campaign-3 F1/F6.\n 'selectedcontent', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n const DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze(['mi', 'mo', 'mn', 'ms', 'mtext']);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);\n const DEFAULT_HTML_INTEGRATION_POINTS = freeze(['annotation-xml']);\n let HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = _resolveSetOption(cfg, 'ALLOWED_TAGS', DEFAULT_ALLOWED_TAGS, {\n transform: transformCaseFunc\n });\n ALLOWED_ATTR = _resolveSetOption(cfg, 'ALLOWED_ATTR', DEFAULT_ALLOWED_ATTR, {\n transform: transformCaseFunc\n });\n ALLOWED_NAMESPACES = _resolveSetOption(cfg, 'ALLOWED_NAMESPACES', DEFAULT_ALLOWED_NAMESPACES, {\n transform: stringToString\n });\n URI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, 'ADD_URI_SAFE_ATTR', DEFAULT_URI_SAFE_ATTRIBUTES, {\n transform: transformCaseFunc,\n base: DEFAULT_URI_SAFE_ATTRIBUTES\n });\n DATA_URI_TAGS = _resolveSetOption(cfg, 'ADD_DATA_URI_TAGS', DEFAULT_DATA_URI_TAGS, {\n transform: transformCaseFunc,\n base: DEFAULT_DATA_URI_TAGS\n });\n FORBID_CONTENTS = _resolveSetOption(cfg, 'FORBID_CONTENTS', DEFAULT_FORBID_CONTENTS, {\n transform: transformCaseFunc\n });\n FORBID_TAGS = _resolveSetOption(cfg, 'FORBID_TAGS', clone({}), {\n transform: transformCaseFunc\n });\n FORBID_ATTR = _resolveSetOption(cfg, 'FORBID_ATTR', clone({}), {\n transform: transformCaseFunc\n });\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === 'object' ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI; // Default regexp\n NAMESPACE = typeof cfg.NAMESPACE === 'string' ? cfg.NAMESPACE : HTML_NAMESPACE; // Default HTML namespace\n MATHML_TEXT_INTEGRATION_POINTS = _resolveObjectOption(cfg, 'MATHML_TEXT_INTEGRATION_POINTS', () => addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS) // Default built-in map\n );\n HTML_INTEGRATION_POINTS = _resolveObjectOption(cfg, 'HTML_INTEGRATION_POINTS', () => addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS) // Default built-in map\n );\n const customElementHandling = _resolveObjectOption(cfg, 'CUSTOM_ELEMENT_HANDLING', () => create(null));\n CUSTOM_ELEMENT_HANDLING = create(null);\n if (objectHasOwnProperty(customElementHandling, 'tagNameCheck') && isRegexOrFunction(customElementHandling.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck; // Default undefined\n }\n if (objectHasOwnProperty(customElementHandling, 'attributeNameCheck') && isRegexOrFunction(customElementHandling.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck; // Default undefined\n }\n if (objectHasOwnProperty(customElementHandling, 'allowCustomizedBuiltInElements') && typeof customElementHandling.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements; // Default undefined\n }\n seal(CUSTOM_ELEMENT_HANDLING);\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = create(null);\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Always reset function-based ADD_TAGS / ADD_ATTR checks to prevent\n * leaking across calls when switching from function to array config */\n EXTRA_ELEMENT_HANDLING.tagCheck = null;\n EXTRA_ELEMENT_HANDLING.attributeCheck = null;\n /* Merge configuration parameters */\n if (objectHasOwnProperty(cfg, 'ADD_TAGS')) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else if (arrayIsArray(cfg.ADD_TAGS)) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (objectHasOwnProperty(cfg, 'ADD_ATTR')) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else if (arrayIsArray(cfg.ADD_ATTR)) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (objectHasOwnProperty(cfg, 'ADD_FORBID_CONTENTS') && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n // Re-derive the active Trusted Types policy from this configuration on\n // every parse. The active policy must never be sticky closure state that\n // outlives the config that set it: a caller-supplied policy left in place\n // after `clearConfig()` — or after a later call that supplied none, or\n // `TRUSTED_TYPES_POLICY: null` — could sign a subsequent \"default\"\n // `RETURN_TRUSTED_TYPE` result with a foreign, possibly unsafe policy.\n // See GHSA-vxr8-fq34-vvx9.\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // A caller-supplied policy applies to this configuration only.\n const previousTrustedTypesPolicy = trustedTypesPolicy;\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`. If the supplied policy's\n // `createHTML` is circular (i.e. it calls `DOMPurify.sanitize`), this\n // throws via the re-entrancy guard. Restore the previous policy first so\n // the instance is not left in a poisoned state. See #1422.\n try {\n emptyHTML = _createTrustedHTML('');\n } catch (error) {\n trustedTypesPolicy = previousTrustedTypesPolicy;\n throw error;\n }\n } else if (cfg.TRUSTED_TYPES_POLICY === null) {\n // Explicit opt-out for this call: perform no Trusted Types signing and\n // create nothing (so a strict `trusted-types` CSP that disallows a\n // `dompurify` policy can still call `sanitize` from inside its own\n // policy — see #1422). Resetting to `undefined` rather than a sticky\n // `null` also drops any previously retained caller policy, so it cannot\n // resurface on a later call, while still allowing the next config-less\n // call to restore the internal default policy. See GHSA-vxr8-fq34-vvx9.\n trustedTypesPolicy = undefined;\n emptyHTML = '';\n } else {\n // No policy supplied: keep the currently active policy if one is set — a\n // previously supplied policy is intentionally sticky across config-less\n // calls — otherwise fall back to the instance's own internal policy,\n // created at most once. (A policy supplied for a *single* call still\n // lingers by design; what must not linger is a policy whose configuration\n // has been torn down via `clearConfig()`, which restores the default.)\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _getDefaultTrustedTypesPolicy();\n }\n // Sign internal variables only when a policy is active. A falsy policy\n // (Trusted Types unsupported, creation failed, or an explicit opt-out)\n // leaves `emptyHTML` as a plain string, so we never call `.createHTML` on\n // a non-policy and throw. See #1422.\n if (trustedTypesPolicy && typeof emptyHTML === 'string') {\n emptyHTML = _createTrustedHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * Namespace rules for an element in the SVG namespace.\n *\n * @param tagName the element's lowercase tag name\n * @param parent the (possibly simulated) parent node\n * @param parentTagName the parent's lowercase tag name\n * @returns true if a spec-compliant parser could produce this element\n */\n const _checkSvgNamespace = function _checkSvgNamespace(tagName, parent, parentTagName) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via <svg>\n // if the parent is either <annotation-xml> or a MathML\n // text integration point.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n };\n /**\n * Namespace rules for an element in the MathML namespace.\n *\n * @param tagName the element's lowercase tag name\n * @param parent the (possibly simulated) parent node\n * @param parentTagName the parent's lowercase tag name\n * @returns true if a spec-compliant parser could produce this element\n */\n const _checkMathMlNamespace = function _checkMathMlNamespace(tagName, parent, parentTagName) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n };\n /**\n * Namespace rules for an element in the HTML namespace.\n *\n * @param tagName the element's lowercase tag name\n * @param parent the (possibly simulated) parent node\n * @param parentTagName the parent's lowercase tag name\n * @returns true if a spec-compliant parser could produce this element\n */\n const _checkHtmlNamespace = function _checkHtmlNamespace(tagName, parent, parentTagName) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n };\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n return _checkSvgNamespace(tagName, parent, parentTagName);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n return _checkMathMlNamespace(tagName, parent, parentTagName);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n return _checkHtmlNamespace(tagName, parent, parentTagName);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n /* The normal detach failed — this is reached for a parentless node\n (getParentNode() is null, so .removeChild throws). Element.prototype\n .remove() is itself a spec no-op on a parentless node, so a recorded\n \"removal\" would otherwise hand the caller back an intact,\n payload-bearing node (e.g. a detached IN_PLACE root the mXSS canary or\n the style-with-element-child rule decided to kill). Fail closed by\n throwing — exactly as a clobbered root does at the IN_PLACE entry —\n rather than trying to \"neutralize\" the node via its own methods.\n Neutralizing would mean calling getAttributeNames()/removeAttribute()\n on the node, both of which a <form> root can clobber via a named child\n (and _isClobbered does not even probe getAttributeNames), so the\n neutralize step could itself be silently defeated, leaving the payload\n intact. A throw touches only the cached, clobber-safe remove() and\n getParentNode(). Generalizes GHSA-r47g-fvhr-h676 (clobbered-form root)\n to every root-kill reason. REPORT-3.\n This lives inside the catch, so it never fires for a normally-removed\n in-tree node: those have a parent, removeChild() succeeds, and the\n catch is not entered. Only a kept (parentless) root reaches here. */\n remove(node);\n if (!getParentNode(node)) {\n throw typeErrorCreate('a node selected for removal could not be detached from its tree ' + 'and cannot be safely returned; refusing to sanitize in place');\n }\n }\n };\n /**\n * _stripAttributeNode\n *\n * Remove a single Attr node case/namespace-exactly on an attribute-teardown\n * path. Name-based removeAttribute() ASCII-lowercases its lookup key for an\n * HTML element in an HTML document and so silently misses a case-preserved\n * handler (e.g. `ONERROR` off an XML/XHTML import) - the same defect\n * _removeAttribute() was fixed for, which a name-based call would reintroduce\n * on these IN_PLACE teardown paths. Unlike _removeAttribute this does not\n * record into DOMPurify.removed: the neutralize passes intentionally do not\n * book-keep. A clobbered/detached node falls back to best-effort name-based\n * removal.\n *\n * @param element the element to strip the attribute from\n * @param attribute the Attr node to remove\n * @param name the attribute's name, for the fallback path\n */\n const _stripAttributeNode = function _stripAttributeNode(element, attribute, name) {\n try {\n removeAttributeNode(element, attribute);\n } catch (_) {\n try {\n element.removeAttribute(name);\n } catch (_) {}\n }\n };\n /**\n * _neutralizeRoot\n *\n * Fail-closed teardown of an in-place root after the sanitize walk aborts\n * (campaign-3 F2). An internal throw mid-walk — e.g. a page-registered\n * custom element's reaction detaches a node so `_forceRemove`'s deliberate\n * parentless guard throws, or any other re-entrant engine mutation — would\n * otherwise leave the caller's *live* tree half-sanitized, with everything\n * after the abort point still carrying its handlers. There is no safe way\n * to resume the walk (the tree mutated under us), so we strip the root bare:\n * remove every child and every attribute, then let the caller's catch see\n * the original error. Clobber-safe (cached `remove`/`childNodes`/`attributes`\n * getters; the root was already clobber-pre-flighted at the IN_PLACE entry).\n *\n * @param root the in-place root to empty\n */\n const _neutralizeRoot = function _neutralizeRoot(root) {\n /* Strip every disallowed attribute (on* handlers included) off the whole\n subtree BEFORE detaching anything. Detaching first would hand back\n handler-bearing originals (e.g. an already-loading `<img onerror>`)\n whose queued resource event still fires in page scope after we throw.\n Clobber-safe reads; a doomed clobbered node's own attributes are\n irrelevant while its non-clobbered descendants are reached and scrubbed. */\n _neutralizeSubtree(root);\n const childNodes = getChildNodes(root);\n if (childNodes) {\n const snapshot = [];\n arrayForEach(childNodes, child => {\n arrayPush(snapshot, child);\n });\n arrayForEach(snapshot, child => {\n try {\n remove(child);\n } catch (_) {\n /* Best-effort teardown; a still-attached child is handled below */\n }\n });\n }\n const attributes = getAttributes(root);\n if (attributes) {\n for (let i = attributes.length - 1; i >= 0; --i) {\n const attribute = attributes[i];\n const name = attribute && attribute.name;\n if (typeof name === 'string') {\n _stripAttributeNode(root, attribute, name);\n }\n }\n }\n };\n /**\n * _removeAttribute\n *\n * Name-based getAttributeNode()/removeAttribute() ASCII-lowercase their\n * lookup key for HTML elements in an HTML document, so they silently miss an\n * attribute whose stored qualified name still contains uppercase ASCII\n * letters. That happens when the node came from a case-preserving source\n * (an XML/XHTML document imported via importNode(), or createAttributeNS()),\n * where e.g. `ONERROR` survives the walk: the policy check lowercases to\n * `onerror` and rejects it, but `removeAttribute('ONERROR')` looks up\n * `onerror` and finds nothing. Remove the exact Attr node instead, which is\n * case- and namespace-exact, and fall back to name-based removal only when\n * the caller could not supply the node.\n *\n * @param name an Attribute name\n * @param element a DOM node\n * @param attr the exact Attr node to remove, when the caller has it\n */\n const _removeAttribute = function _removeAttribute(name, element, attr) {\n if (!attr) {\n try {\n attr = element.getAttributeNode(name);\n } catch (_) {\n attr = null;\n }\n }\n arrayPush(DOMPurify.removed, {\n attribute: attr || null,\n from: element\n });\n try {\n if (attr) {\n removeAttributeNode(element, attr);\n } else {\n element.removeAttribute(name);\n }\n } catch (_) {\n /* Clobbered or already-detached node - best-effort fall back to a\n name-based removal so the \"is\" handling below still runs. Note this\n fallback ASCII-lowercases its lookup key in an HTML document and so\n cannot reach a case-preserved attribute name; the cached\n removeAttributeNode() above is what removes those, and a clobbered\n form is already removed wholesale by _isClobbered() before reaching\n here. */\n try {\n element.removeAttribute(name);\n } catch (_) {}\n }\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _stripDisallowedAttributes\n *\n * Removes every attribute the active configuration does not allow from a\n * single element, using the same allowlist as the main attribute pass (so\n * `on*` handlers go, but no `/^on/` blocklist is introduced). Used only to\n * neutralise nodes that are being discarded from an in-place tree.\n *\n * @param element the element to strip\n */\n const _stripDisallowedAttributes = function _stripDisallowedAttributes(element) {\n const attributes = getAttributes(element);\n if (!attributes) {\n return;\n }\n for (let i = attributes.length - 1; i >= 0; --i) {\n const attribute = attributes[i];\n const name = attribute && attribute.name;\n if (typeof name !== 'string' || ALLOWED_ATTR[transformCaseFunc(name)]) {\n continue;\n }\n _stripAttributeNode(element, attribute, name);\n }\n };\n /**\n * _neutralizeSubtree\n *\n * Completes the audit-5 F1 fix across every removal path. The KEEP_CONTENT\n * move-hoist neutralises only disallowed-tag removals; clobber, mXSS-canary,\n * namespace, comment, processing-instruction and KEEP_CONTENT:false removals\n * all drop their subtree wholesale via `_forceRemove`. On the IN_PLACE path\n * those dropped nodes are detached from the caller's LIVE tree but a\n * handler-bearing original among them (an `<img onerror>`/`<video>` that was\n * loading) keeps its queued resource event, which fires in page scope after\n * sanitize returns. This walks a removed subtree and strips every attribute\n * the active configuration does not allow — so `on*` handlers are cancelled\n * through the SAME allowlist that governs kept nodes, not a separate `/^on/`\n * blocklist. Run synchronously before sanitize returns, i.e. before any\n * queued event can fire. Hook-free by design: these nodes leave the output,\n * so firing attribute hooks for them would be surprising. Clobber-safe reads;\n * a doomed clobbered node may shadow `removeAttribute` (its own attributes are\n * irrelevant — it is discarded — while its non-clobbered descendants, e.g.\n * the `<img>`, are reached and scrubbed).\n *\n * @param root the root of a removed subtree to neutralise\n */\n const _neutralizeSubtree = function _neutralizeSubtree(root) {\n const stack = [root];\n while (stack.length > 0) {\n const node = stack.pop();\n const nodeType = _readNodeType(node);\n if (nodeType === NODE_TYPE.element) {\n _stripDisallowedAttributes(node);\n }\n const childNodes = getChildNodes(node);\n if (childNodes) {\n for (let i = childNodes.length - 1; i >= 0; --i) {\n stack.push(childNodes[i]);\n }\n }\n }\n };\n /**\n * _neutralizePatchLinkage\n *\n * IN_PLACE entry pre-pass (declarative-partial-updates / streaming\n * hardening, https://github.com/WICG/declarative-partial-updates).\n *\n * The main walk strips patch linkage (`for`/`patchsrc`) and removes range\n * markers (PIs / markup comments) node-by-node, in document order, AS it\n * reaches each node. On a live in-place root that leaves a window: from the\n * moment the root is connected until the walk arrives at a given node, that\n * node's linkage is live. A patch applied on connection/stream can fire as\n * a microtask during the walk and inject or teleport an unsanitized DOM\n * range into a region the iterator has already passed and will not revisit,\n * so the post-return \"tree is sanitized\" contract is violated. Sweep the\n * whole tree once up front and sever every linkage before the walk begins,\n * closing that window.\n *\n * This CANNOT undo a patch that already fired before sanitize ran — that is\n * the irreducible \"do not IN_PLACE a live-connected attacker tree\" caveat —\n * but it closes everything from sanitize-start onward. Gated on SAFE_FOR_XML\n * to group with the rest of the declarative-partial-updates handling and\n * stay overridable, consistent with the codebase.\n *\n * Clobber-safe traversal (cached childNodes getter); per-node try/catch so a\n * clobbered root cannot defeat the sweep of its non-clobbered descendants.\n *\n * NOTE (pending real-Chrome confirmation, see test/declarative-patch-probe\n * .html Q1): this mirrors the existing policy of keeping `for` on\n * <label>/<output>. If the shipping feature can drive a patch through a\n * surviving `for`-on-label/output + `id` pair, this pre-pass and the\n * attribute check at _isBasicCustomElement's caller must additionally drop\n * that pair on the IN_PLACE path. Left as-is until the taxonomy is verified.\n *\n * @param root the in-place root to sweep\n */\n /**\n * Central policy for declarative-partial-updates patch-linkage attributes,\n * shared by the _neutralizePatchLinkage pre-pass and _isValidAttribute so\n * the two sites cannot drift: `patchsrc` always links, `for` links\n * everywhere except on <label>/<output>, and the whole policy is gated on\n * SAFE_FOR_XML (see the rationale block in _isValidAttribute).\n *\n * @param lcName the transformCaseFunc'd attribute name\n * @param lcTag the transformCaseFunc'd tag name of the carrying element\n * @return true if the attribute is patch linkage and must be dropped\n */\n const _isPatchLinkageAttribute = function _isPatchLinkageAttribute(lcName, lcTag) {\n if (!SAFE_FOR_XML) {\n return false;\n }\n if (lcName === 'patchsrc') {\n return true;\n }\n return lcName === 'for' && lcTag !== 'label' && lcTag !== 'output';\n };\n const _neutralizePatchLinkage = function _neutralizePatchLinkage(root) {\n if (!SAFE_FOR_XML) {\n return;\n }\n const stack = [root];\n while (stack.length > 0) {\n const node = stack.pop();\n const nodeType = _readNodeType(node);\n /* Remove range markers (the target side of a patch linkage): every\n processing instruction, and any markup-bearing comment. */\n if (nodeType === NODE_TYPE.processingInstruction || nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, node.data)) {\n try {\n remove(node);\n } catch (_) {\n /* Best-effort */\n }\n continue;\n }\n /* Strip patch-source attributes (the source side) off elements. */\n if (nodeType === NODE_TYPE.element) {\n const element = node;\n const lcTag = transformCaseFunc(_readNodeName(node));\n try {\n if (element.hasAttribute && element.hasAttribute('patchsrc')) {\n element.removeAttribute('patchsrc');\n }\n if (element.hasAttribute && element.hasAttribute('for') && _isPatchLinkageAttribute('for', lcTag)) {\n element.removeAttribute('for');\n }\n } catch (_) {\n /* Clobbered removeAttribute/hasAttribute on a doomed node — ignore */\n }\n }\n const childNodes = getChildNodes(node);\n if (childNodes) {\n for (let i = childNodes.length - 1; i >= 0; --i) {\n stack.push(childNodes[i]);\n }\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n /* Read ownerDocument through the cached Node.prototype getter, never the\n direct property. HTMLFormElement has [LegacyOverrideBuiltIns], so a\n clobbering child (<input name=\"ownerDocument\"> or a form-associated\n external input) shadows the prototype getter and makes a direct read\n return that <input>. createNodeIterator.call(<input>, ...) then throws\n \"Illegal invocation\", and on the IN_PLACE path that throw lands before\n the walk's fail-closed barrier - leaving the caller's live tree, with\n any already-armed handler in it, un-neutralized. The cached getter\n returns the real Document regardless of the clobber. */\n const doc = getOwnerDocument ? getOwnerDocument(root) : root.ownerDocument;\n return createNodeIterator.call(doc || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * Replace template expression syntax (mustache, ERB, template\n * literal) with a space; shared by all SAFE_FOR_TEMPLATES scrub\n * sites. Order matters: mustache, then ERB, then template literal.\n *\n * @param value the string to scrub\n * @returns the scrubbed string\n */\n const _stripTemplateExpressions = function _stripTemplateExpressions(value) {\n value = stringReplace(value, MUSTACHE_EXPR$1, ' ');\n value = stringReplace(value, ERB_EXPR$1, ' ');\n value = stringReplace(value, TMPLIT_EXPR$1, ' ');\n return value;\n };\n /**\n * Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the\n * character data of an element subtree. Used as the final safety net for\n * SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions\n * which only form after text-node normalization (e.g. fragments split across\n * stripped elements) cannot survive into a template-evaluating framework.\n *\n * Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`\n * in place rather than round-tripping through innerHTML. This preserves\n * descendant node references (important for IN_PLACE callers), avoids a\n * serialize/reparse cycle, and reads literal character data — which means\n * `<%...%>` in text content matches the ERB regex against its real bytes\n * instead of the HTML-entity-escaped form innerHTML would produce.\n *\n * Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for\n * attributes is performed during the per-node `_sanitizeAttributes` pass.\n *\n * @param node The root element whose character data should be scrubbed.\n */\n const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {\n var _node$querySelectorAl;\n node.normalize();\n /* Clobber-safe ownerDocument read, same reasoning as _createNodeIterator:\n under SAFE_FOR_TEMPLATES this runs on the live IN_PLACE root, which may\n carry a form-named-getter override of ownerDocument. */\n const doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;\n const walker = createNodeIterator.call(doc || node, node,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);\n let currentNode = walker.nextNode();\n while (currentNode) {\n currentNode.data = _stripTemplateExpressions(currentNode.data);\n currentNode = walker.nextNode();\n }\n // NodeIterator does not descend into <template>.content per the DOM spec,\n // so we must explicitly recurse into each template's content fragment,\n // mirroring the approach used by _sanitizeShadowDOM.\n const templates = (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 ? void 0 : _node$querySelectorAl.call(node, 'template');\n if (templates) {\n arrayForEach(templates, tmpl => {\n if (_isDocumentFragment(tmpl.content)) {\n _scrubTemplateExpressions2(tmpl.content);\n }\n });\n }\n };\n /**\n * _isClobbered\n *\n * Detect DOM-clobbering on HTMLFormElement nodes. Form is the only HTML\n * interface with [LegacyOverrideBuiltIns]; a descendant element with a\n * `name` attribute matching a prototype property shadows that property\n * on direct reads. We use this check at the IN_PLACE entry-point and\n * during attribute sanitization to refuse clobbered forms.\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n // Realm-independent tag-name probe. If we can't determine the tag\n // name at all, we can't reason about clobbering — return false\n // (the caller's other defences still apply).\n const realTagName = getNodeName ? getNodeName(element) : null;\n if (typeof realTagName !== 'string') {\n return false;\n }\n if (transformCaseFunc(realTagName) !== 'form') {\n return false;\n }\n return typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' ||\n // Realm-safe NamedNodeMap detection: equality against the cached\n // prototype getter. Clobbered .attributes (e.g. <input name=\"attributes\">)\n // makes the direct read diverge from the cached read; a clean form\n // (same-realm OR foreign-realm) has both reads pointing at the same\n // canonical NamedNodeMap.\n element.attributes !== getAttributes(element) || typeof element.removeAttribute !== 'function' ||\n // A form descendant named \"removeAttributeNode\" or \"getAttributeNode\"\n // shadows these Attr-node methods via [LegacyOverrideBuiltIns].\n // _removeAttribute() / _stripAttributeNode() reach for\n // element.removeAttributeNode(attr) first; when it is shadowed the call\n // throws and the name-based fallback element.removeAttribute(name)\n // ASCII-lowercases its lookup key in an HTML document, silently missing\n // a case-preserved event-handler attribute (e.g. an ONANIMATIONSTART\n // that reached the sanitizer through an XML/XHTML parse). Flag the form\n // so it is removed wholesale, exactly as for the other shadowed methods.\n typeof element.removeAttributeNode !== 'function' || typeof element.getAttributeNode !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function' ||\n // NodeType clobbering probe. Cached Node.prototype.nodeType getter\n // returns the integer 1 for any Element regardless of realm; direct\n // read on a clobbered form (e.g. <input name=\"nodeType\">) returns\n // the named child element. Cheap addition — nodeType is read from\n // an internal slot, no serialization cost — and removes a residual\n // clobbering surface used by several mXSS / PI / comment branches\n // in _sanitizeElements that compare currentNode.nodeType directly.\n element.nodeType !== getNodeType(element) ||\n // HTMLFormElement has [LegacyOverrideBuiltIns]: a descendant named\n // \"childNodes\" shadows the prototype getter. Direct reads of\n // form.childNodes from a clobbered form return the named child\n // instead of the real NodeList, so any walk that reads it directly\n // skips the form's real children. Compare the direct read to the\n // cached Node.prototype getter — when the form's named-property\n // getter intercepts the read, the two values differ and we flag\n // the form. This catches every clobbering child type (input,\n // select, etc.) regardless of whether the named child happens to\n // carry a numeric .length, which a typeof-based probe would miss\n // (e.g. HTMLSelectElement.length is a defined unsigned-long).\n element.childNodes !== getChildNodes(element);\n };\n /**\n * Checks whether the given value is a DocumentFragment from any realm.\n *\n * The realm-independent replacement reads `nodeType` through the cached\n * Node.prototype getter and compares to the DOCUMENT_FRAGMENT_NODE\n * constant (11). nodeType is a numeric value resolved from the node's\n * internal slot, identical across realms for the same kind of node.\n *\n * @param value object to check\n * @return true if value is a DocumentFragment-shaped node from any realm\n */\n const _isDocumentFragment = function _isDocumentFragment(value) {\n if (!getNodeType || typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return getNodeType(value) === NODE_TYPE.documentFragment;\n } catch (_) {\n return false;\n }\n };\n /**\n * Checks whether the given object is a DOM node, including nodes that\n * originate from a different window/realm (e.g. an iframe's\n * contentDocument). The previous `value instanceof Node` check was\n * realm-bound: nodes from a different window failed it, causing\n * sanitize() to silently stringify them and reset IN_PLACE to false,\n * returning the original node unsanitized. See GHSA-4w3q-35jp-p934.\n *\n * @param value object to check whether it's a DOM node\n * @return true if value is a DOM node from any realm\n */\n const _isNode = function _isNode(value) {\n if (!getNodeType || typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof getNodeType(value) === 'number';\n } catch (_) {\n return false;\n }\n };\n function _executeHooks(hooks, currentNode, data) {\n if (hooks.length === 0) {\n return;\n }\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * Structural-threat checks that condemn a node regardless of the\n * allowlists: mXSS via namespace confusion, risky CSS construction,\n * processing instructions, markup-bearing comments. Pure predicate;\n * the caller removes. Check order is load-bearing.\n *\n * @param currentNode the node to inspect\n * @param tagName the node's transformCaseFunc'd tag name\n * @return true if the node must be removed\n */\n const _isUnsafeNode = function _isUnsafeNode(currentNode, tagName) {\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) {\n return true;\n }\n /* Remove rawtext/literal-text elements whose literal serialization\n re-opens markup on an HTML reparse - shapes (a) and (b) documented at\n LITERAL_TEXT_ELEMENTS. Both are invisible to rule 1 above (which\n self-disables once there is an element child, and whose second probe\n reads the innerHTML an XML/XHTML document serializes escaped), which\n is why both probes here read textContent instead. Previously only\n `style`-with-element-child was covered; every element in\n LITERAL_TEXT_ELEMENTS shares this literal serialization and is\n equally affected. */\n if (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && LITERAL_TEXT_ELEMENTS[tagName] && (_isNode(currentNode.firstElementChild) || typeof currentNode.textContent === 'string' && regExpTest(LITERAL_TEXT_CLOSE[tagName], currentNode.textContent))) {\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.processingInstruction) {\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) {\n return true;\n }\n return false;\n };\n /**\n * Evaluate a CUSTOM_ELEMENT_HANDLING check (a RegExp or a predicate\n * function, per the validation in _parseConfig) against a name.\n * Additional arguments are forwarded to predicate functions - the\n * attributeNameCheck predicate receives the tag name as its second\n * argument. A null/absent check never matches.\n *\n * @param check the configured tagNameCheck / attributeNameCheck value\n * @param name the name to test\n * @param args extra arguments forwarded to a predicate function\n * @return true if the check matches the name\n */\n const _matchesNameCheck = function _matchesNameCheck(check, name) {\n if (check instanceof RegExp) {\n return regExpTest(check, name);\n }\n if (check instanceof Function) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return Boolean(check(name, ...args));\n }\n return false;\n };\n /**\n * Handle a node whose tag is forbidden or not allowlisted: keep\n * allowed custom elements (false return exits _sanitizeElements\n * early - the namespace and fallback-tag removal checks are\n * intentionally skipped for kept custom elements), else hoist\n * content per KEEP_CONTENT and remove.\n *\n * A kept custom element is the ONLY case in which this function\n * returns false, so the caller uses that return value to run the\n * afterSanitizeElements hook on the kept element and keep the\n * element-hook lifecycle consistent with normal allowlisted\n * elements (GHSA-c2j3-45gr-mqc4).\n *\n * @param currentNode the disallowed node\n * @param tagName the node's transformCaseFunc'd tag name\n * @return true if the node was removed, false if kept\n */\n const _sanitizeDisallowedNode = function _sanitizeDisallowedNode(currentNode, tagName, root) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n /* Keep content except for bad-listed elements.\n Use the cached prototype getters exclusively — the previous code\n had `|| currentNode.parentNode` / `|| currentNode.childNodes`\n fallbacks, but the cached getters always return the canonical\n value (or null for a real parent-less node), so the fallback\n path was dead in safe cases and a clobbering surface in unsafe\n ones. Falsy cached results stay falsy; the `if (childNodes &&\n parentNode)` check already gates correctly. */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode);\n const childNodes = getChildNodes(currentNode);\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n /* Hoist by moving each child up one level rather than deep-cloning\n it. Moving transfers every descendant exactly once, so a chain of\n nested disallowed elements costs O(n) instead of the O(n^2) that\n re-cloning the shrinking subtree at each level produced; it also\n empties the removed original, so `DOMPurify.removed` no longer\n pins whole subtrees. Moving preserves the in-place guarantee too:\n an original carrying already-queued resource events (`<img\n onerror>`, `<video>`/`<audio>` error, lazy/`onload`, …) is\n relocated and sanitised rather than left detached but still armed.\n The sole case that must clone is removing the walk root itself.\n The result is serialised from the root's subtree, so a restrictive\n ALLOWED_TAGS that strips the root (`body` on the string path) must\n leave the content inside it, which only cloning does. In IN_PLACE\n the root is pre-validated as an allowed tag and so is never removed\n here, so that path always takes the move branch.\n `childNodes` is live; a tail-to-head walk keeps `childNodes[i]`\n valid whether we move (drops the trailing entry) or clone (leaves\n the list intact). */\n for (let i = childCount - 1; i >= 0; --i) {\n const hoisted = currentNode === root ? cloneNode(childNodes[i], true) : childNodes[i];\n parentNode.insertBefore(hoisted, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n };\n /**\n * Fork a hook-mutable allowlist off its shared binding the first time a\n * (possibly lazily-installed) uponSanitize* hook is about to see it, so the\n * hook cannot widen the per-instance default or the setConfig binding by\n * reference and leak past the call. Returns the set unchanged once it is\n * already call-local, so repeated calls across elements are idempotent.\n *\n * @param hookList the uponSanitize* hook array for this event\n * @param set the current ALLOWED_TAGS / ALLOWED_ATTR binding\n * @param defaultSet the per-instance DEFAULT_ALLOWED_* constant\n * @param setConfigSet the captured setConfig() binding, or null\n * @return a call-local clone if a hook is present and set is still shared,\n * else set unchanged\n */\n const _forkSharedAllowlist = function _forkSharedAllowlist(hookList, set, defaultSet, setConfigSet) {\n if (hookList.length === 0) {\n return set;\n }\n return set === defaultSet || set === setConfigSet ? clone(set) : set;\n };\n /**\n * Shared guard for a node that a hook has detached from the walk tree,\n * used after each element-hook site in _sanitizeElements. Detaching is a\n * long-standing user pattern (issue #469; draw.io-style foreignObject\n * filtering). Per the cached, unclobberable parentNode getter the node is\n * genuinely out of the tree, so it can reach neither the serialized\n * output nor an IN_PLACE live tree; treat it as removed and stop\n * processing it. Without this guard, the unsafe-node / namespace checks\n * would call _forceRemove on a parentless node and hit the REPORT-3\n * fail-closed throw — which exists for nodes DOMPurify wants gone but\n * *cannot* detach (clobbered / parentless roots), the opposite of a node\n * that is already safely gone. The walk root is exempt: a detached\n * IN_PLACE root is legitimate input and must still be fully sanitized,\n * and a kill-decision on it must keep hitting the REPORT-3 throw.\n *\n * Nodes detached by hooks stay the hook's responsibility for placement:\n * they are not recorded in DOMPurify.removed, so the post-walk IN_PLACE\n * pass (which iterates DOMPurify.removed) does not reach them. But a\n * hook-detached subtree can still hold a queued resource-event handler -\n * e.g. an <img onload> that began loading when the caller built the live\n * tree - which fires in page scope after sanitize returns even though the\n * handler never reached the returned tree. That is the audit-5 F1 hazard,\n * and the documented node.remove() hook pattern walks straight into it.\n * So on the IN_PLACE path we neutralize the detached subtree inline,\n * stripping its non-allow-listed attributes before returning, exactly as\n * the post-walk pass does for _forceRemove'd subtrees.\n *\n * @param currentNode the node a hook may have detached\n * @param root the current walk root\n * @return true if the node is detached and now handled, false otherwise\n */\n const _handleHookDetachedNode = function _handleHookDetachedNode(currentNode, root) {\n if (currentNode === root || getParentNode(currentNode) !== null) {\n return false;\n }\n if (IN_PLACE) {\n _neutralizeSubtree(currentNode);\n }\n return true;\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode, root) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* A hook may have detached the node - treat it as removed (see\n _handleHookDetachedNode for the full rationale). */\n if (_handleHookDetachedNode(currentNode, root)) {\n return true;\n }\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(_readNodeName(currentNode));\n /* Close the pre-walk clone-guard's timing gap: an uponSanitizeElement\n hook may have been installed after that guard sampled the hook arrays\n (e.g. lazily from beforeSanitizeElements), leaving ALLOWED_TAGS still\n aliasing a shared binding that a widening hook would mutate by\n reference. Fork it before exposing it to the hook. */\n ALLOWED_TAGS = _forkSharedAllowlist(hooks.uponSanitizeElement, ALLOWED_TAGS, DEFAULT_ALLOWED_TAGS, SET_CONFIG_ALLOWED_TAGS);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* The uponSanitizeElement hook may have detached the node, exactly as\n above (see _handleHookDetachedNode for the full rationale). */\n if (_handleHookDetachedNode(currentNode, root)) {\n return true;\n }\n /* Remove mXSS vectors, processing instructions and risky comments */\n if (_isUnsafeNode(currentNode, tagName)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {\n const removed = _sanitizeDisallowedNode(currentNode, tagName, root);\n /* A false return means the node is a custom element kept via\n CUSTOM_ELEMENT_HANDLING - the only keep path through\n _sanitizeDisallowedNode. Run afterSanitizeElements on it so the\n element-hook lifecycle matches normal allowlisted elements: a\n security policy applied in this hook (e.g. stripping an attribute\n from every surviving element) must not silently skip kept custom\n elements (GHSA-c2j3-45gr-mqc4). This mirrors the normal-element\n tail below - the hook runs, then the walker's subsequent\n _sanitizeAttributes pass sanitizes the element's attributes. The\n deliberately skipped namespace and fallback-tag removal checks stay\n skipped; they are removal decisions, not the hook contract. */\n if (removed === false) {\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n }\n return removed;\n }\n /* Check whether element has a valid namespace.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): use the cached Node.prototype\n nodeType getter rather than `instanceof Element`, which is realm-\n bound and short-circuits to false for any node minted in a different\n realm — letting a foreign-realm element with a forbidden namespace\n slip past the namespace check entirely. */\n const nt = _readNodeType(currentNode);\n if (nt === NODE_TYPE.element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(FALLBACK_TAG_CLOSE, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n const content = _stripTemplateExpressions(currentNode.textContent);\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */\n if (FORBID_ATTR[lcName]) {\n return false;\n }\n /* Reject declarative-partial-updates patch-linkage attributes\n (https://github.com/WICG/declarative-partial-updates).\n Empirical note (Chrome 150, verified — see\n test/declarative-patch-probe-v3.html): expansion is NOT applied after\n sanitization. For the string path it fires during sanitize()'s own\n parse, so the walk sees and sanitizes the fully materialized expanded\n tree — teleports into MathML/SVG integration points included; a\n weaponized `<template for>`->`<img onerror>` comes back with the handler\n stripped. For the IN_PLACE path it fires on connection, before the walk.\n Either way DOMPurify is NOT blind to the patch.\n This removal is therefore defense-in-depth rather than the sole barrier:\n it prevents live linkage from surviving into the OUTPUT and re-expanding\n in the caller's context, and keeps behaviour deterministic if a future\n engine defers expansion. `for` is legitimate only on <label>/<output>;\n anywhere else (notably <template for>) it links the element to a patch\n target and teleports or removes an arbitrary DOM range by id/marker name.\n `patchsrc` fetches remote markup and is treated as a script-loading\n mechanism (CSP). Gated on SAFE_FOR_XML so the removal groups with the\n other structural-threat checks and stays overridable, consistent with\n the rest of the codebase. PI range markers are already removed by\n _isUnsafeNode. */\n if (_isPatchLinkageAttribute(lcName, lcTag)) {\n return false;\n }\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n const nameIsPermitted = ALLOWED_ATTR[lcName] || EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag);\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$1, lcName)) {\n return true;\n }\n /* Allow valid aria-* attributes, the value is always URI safe */\n if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) {\n return true;\n }\n /* A name outside the allowlist is acceptable on custom-element terms\n only. The value checks below are intentionally skipped in that case:\n if the user supplied a tagNameCheck we also allow derived custom\n elements using the same test, and attributes passing the configured\n attributeNameCheck are allowed as custom elements define these at\n their own discretion. */\n if (!nameIsPermitted) {\n return (\n // Condition a) covers a basically valid custom element tag name whose\n // tag passes the configured tagNameCheck and whose attribute name\n // passes the configured attributeNameCheck ...\n _isBasicCustomElement(lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName, lcTag) ||\n // Condition b) covers an `is` attribute whose value passes the\n // configured tagNameCheck while customized built-in elements are\n // allowed.\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)\n );\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n if (URI_SAFE_ATTRIBUTES[lcName]) {\n return true;\n }\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) {\n return true;\n }\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) {\n return true;\n }\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) {\n return true;\n }\n /* Only an empty (binary) value remains safe at this point;\n anything else is presumed unsafe, do not add it back */\n return !value;\n };\n /* Names the HTML spec reserves from valid-custom-element-name; these must\n * never be treated as basic custom elements even when a permissive\n * CUSTOM_ELEMENT_HANDLING.tagNameCheck is configured. */\n const RESERVED_CUSTOM_ELEMENT_NAMES = addToSet({}, ['annotation-xml', 'color-profile', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'missing-glyph']);\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);\n };\n /**\n * Wrap an attribute value in the matching Trusted Types object when\n * the active policy requires it. Namespaced attributes pass through\n * unchanged (no TT support yet, see\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1305293).\n *\n * @param lcTag lowercase tag name of the containing element\n * @param lcName lowercase attribute name\n * @param namespaceURI the attribute's namespace, if any\n * @param value the attribute value to wrap\n * @return the value, wrapped when Trusted Types demand it\n */\n const _applyTrustedTypesToAttribute = function _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value) {\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function' && !namespaceURI) {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n return _createTrustedHTML(value);\n }\n case 'TrustedScriptURL':\n {\n return _createTrustedScriptURL(value);\n }\n }\n }\n return value;\n };\n /**\n * Write a modified attribute value back onto the element. On\n * success, re-probe for clobbering introduced by the new value and\n * remove the element when found; otherwise, when this writeback is the\n * recreate half of the SANITIZE_NAMED_PROPS remove-and-recreate, pop the\n * removal entry that path recorded so it does not show as removed. On\n * failure, remove the attribute instead.\n *\n * Returns true only on a clean write (the value was set and the new value\n * introduced no clobbering). The caller uses that, together with its own\n * knowledge of whether this attribute pushed a DOMPurify.removed record, to\n * decide whether to pop that record. The pop must happen ONLY for the\n * named-prop remove-and-recreate; popping on any other value change (trim,\n * template scrubbing, Trusted Types) would consume an unrelated _forceRemove\n * subtree-cleanup record and let that detached subtree keep a live event\n * handler through the IN_PLACE neutralization pass (SO-001).\n *\n * @param currentNode the element carrying the attribute\n * @param name the attribute name as present on the element\n * @param namespaceURI the attribute's namespace, if any\n * @param value the new attribute value\n * @return true if the value was written without introducing clobbering\n */\n const _setAttributeValue = function _setAttributeValue(currentNode, name, namespaceURI, value) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return false;\n }\n return true;\n } catch (_) {\n _removeAttribute(name, currentNode);\n return false;\n }\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n // eslint-disable-next-line complexity\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const attributes = currentNode.attributes;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n /* Same lazy-install guard as uponSanitizeElement (see there): fork the\n attribute allowlist off its shared binding before a hook can see it. */\n ALLOWED_ATTR = _forkSharedAllowlist(hooks.uponSanitizeAttribute, ALLOWED_ATTR, DEFAULT_ALLOWED_ATTR, SET_CONFIG_ALLOWED_ATTR);\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n const lcTag = transformCaseFunc(currentNode.nodeName);\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const name = attr.name,\n namespaceURI = attr.namespaceURI,\n attrValue = attr.value;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Tracks whether this specific attribute pushed a DOMPurify.removed\n record that a later _setAttributeValue() writeback is expected to pop\n back off (the SANITIZE_NAMED_PROPS remove-and-recreate below is the\n only path that does). A value that merely changed via trim, template\n scrubbing, or Trusted Types pushes no such record, so its writeback\n must NOT pop — otherwise it consumes an unrelated _forceRemove subtree\n record and that detached subtree escapes the IN_PLACE handler-\n neutralization pass (SO-001). */\n let recreatedNamedProp = false;\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name') && stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode, attr);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n // This attribute owns the record just pushed; its recreate writeback\n // is the one allowed to pop it back off.\n recreatedNamedProp = true;\n }\n // Else: already prefixed, leave the attribute alone — the prefix is\n // itself the clobbering protection, and re-applying it is incorrect.\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {\n _removeAttribute(name, currentNode, attr);\n continue;\n }\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode, attr);\n continue;\n }\n /* Did the hooks force-keep the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode, attr);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value)) {\n _removeAttribute(name, currentNode, attr);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = _stripTemplateExpressions(value);\n }\n /* Is `value` valid for this attribute? */\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode, attr);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n value = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n const cleanWrite = _setAttributeValue(currentNode, name, namespaceURI, value);\n /* Only the named-prop remove-and-recreate owns a DOMPurify.removed\n record to pop; a plain trim/template/Trusted-Types writeback owns\n none, so popping here would drop an unrelated subtree's cleanup\n record (SO-001). */\n if (cleanWrite && recreatedNamedProp) {\n arrayPop(DOMPurify.removed);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode, fragment);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): use nodeType against the\n DOCUMENT_FRAGMENT_NODE constant rather than instanceof, so we\n recurse into <template>.content from foreign realms too. */\n if (_isDocumentFragment(shadowNode.content)) {\n _sanitizeShadowDOM2(shadowNode.content);\n }\n /* An element iterated here may itself host an attached\n shadow root. The default NodeIterator does not enter shadow\n trees, so a shadow root nested inside template.content was\n previously reached by no walk at all (the pre-pass at\n _sanitizeAttachedShadowRoots descends via childNodes, which\n doesn't enter template.content; the template-content recursion\n above iterates the content but never inspected shadowRoot).\n Walk it explicitly. The nodeType guard avoids reading\n shadowRoot off text / comment / CDATA / PI nodes that the\n iterator also surfaces. */\n if (_readNodeType(shadowNode) === NODE_TYPE.element) {\n const innerSr = getShadowRoot(shadowNode);\n if (_isDocumentFragment(innerSr)) {\n _sanitizeAttachedShadowRoots(innerSr);\n _sanitizeShadowDOM2(innerSr);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n /**\n * _sanitizeAttachedShadowRoots\n *\n * Walks `root` and feeds every attached shadow root we encounter into\n * the existing _sanitizeShadowDOM pipeline. The default node iterator\n * does not descend into shadow trees, so nodes inside an attached\n * shadow root would otherwise be skipped entirely.\n *\n * Two real input paths put attached shadow roots in front of us:\n * 1. IN_PLACE on a DOM node that already has shadow roots attached.\n * 2. DOM-node input where importNode(dirty, true) deep-clones the\n * shadow root because it was created with `clonable: true`.\n *\n * This pass runs once, up front, so the main iteration loop (and the\n * existing _sanitizeShadowDOM template-content recursion) stay\n * untouched — string-input paths are not affected.\n *\n * @param root the subtree root to walk for attached shadow roots\n */\n const _sanitizeAttachedShadowRoots = function _sanitizeAttachedShadowRoots(root) {\n /* Iterative (explicit stack) rather than per-child recursion. DOM APIs\n impose no depth cap, so an attacker-shaped tree (JSON/CRDT/editor data\n built straight into the DOM — the IN_PLACE surface) deeper than the JS\n call-stack budget would otherwise overflow native recursion here and\n throw at the IN_PLACE entry pre-pass, before a single node is\n sanitized, leaving the caller's live tree untouched (fail-open). See\n campaign-3 F4. A heap stack keeps depth off the call stack.\n Each work item is either a node to descend into, or a deferred\n `_sanitizeShadowDOM` for an already-walked shadow root. The deferred\n form preserves the original post-order discipline: a shadow root's\n nested shadow roots are discovered before the outer shadow is\n sanitized (which may remove hosts). Pushes are in reverse of the\n desired processing order (LIFO): template content, then children, then\n the shadow-sanitize, then the shadow walk — so the order matches the\n previous recursion exactly. */\n const stack = [{\n node: root,\n shadow: null\n }];\n while (stack.length > 0) {\n const item = stack.pop();\n /* Deferred shadow-DOM sanitisation: runs after its subtree was walked. */\n if (item.shadow) {\n _sanitizeShadowDOM2(item.shadow);\n continue;\n }\n const node = item.node;\n const nodeType = _readNodeType(node);\n const isElement = nodeType === NODE_TYPE.element;\n /* (pushed last → processed first) Children, snapshotted in reverse so\n the first child is processed first. Snapshotting matters because a\n hook may detach siblings mid-walk. */\n const childNodes = getChildNodes(node);\n if (childNodes) {\n for (let i = childNodes.length - 1; i >= 0; --i) {\n stack.push({\n node: childNodes[i],\n shadow: null\n });\n }\n }\n /* (pushed before children → processed after them, matching the old\n \"template content last\" order) When the node is a <template>,\n descend into its content. */\n if (isElement) {\n const rootName = getNodeName ? getNodeName(node) : null;\n if (typeof rootName === 'string' && transformCaseFunc(rootName) === 'template') {\n const content = node.content;\n if (_isDocumentFragment(content)) {\n stack.push({\n node: content,\n shadow: null\n });\n }\n }\n }\n /* Shadow root (processed first): walk its subtree, then sanitise it.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection\n rather than `instanceof DocumentFragment`, which is realm-bound and\n silently skipped foreign-realm shadow roots (e.g.\n iframe.contentDocument attachShadow). */\n if (isElement) {\n const sr = getShadowRoot(node);\n if (_isDocumentFragment(sr)) {\n /* Push the deferred sanitise first so it pops after the shadow\n walk we push next, i.e. nested shadow roots are discovered\n before this one is sanitised. */\n stack.push({\n node: null,\n shadow: sr\n }, {\n node: sr,\n shadow: null\n });\n }\n }\n }\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n dirty = stringifyValue(dirty);\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (SET_CONFIG) {\n /* Persistent setConfig() path: _parseConfig is skipped, so the sets are\n * not re-derived per call. Restore them from the pristine bindings\n * captured at setConfig() time so a previous call's hook clone (mutated\n * below) does not carry over. */\n ALLOWED_TAGS = SET_CONFIG_ALLOWED_TAGS;\n ALLOWED_ATTR = SET_CONFIG_ALLOWED_ATTR;\n } else {\n _parseConfig(cfg);\n }\n /* Clone the hook-mutable allowlists before the walk whenever an\n * uponSanitize* hook is registered. The hook event exposes ALLOWED_TAGS\n * and ALLOWED_ATTR by reference (as allowedTags / allowedAttributes), so\n * a hook that widens them would otherwise mutate the shared set\n * permanently: across later calls and across every element. Cloning per\n * walk keeps documented in-call widening working while scoping it to the\n * call. A single guard for both config paths - the per-call path rebinds\n * the sets in _parseConfig each call, the persistent path restores them\n * from the captured bindings just above - so the two cannot diverge. */\n if (hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n if (hooks.uponSanitizeAttribute.length > 0) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Resolve IN_PLACE for this call without mutating persistent config.\n Writing the IN_PLACE closure variable here leaks under setConfig(),\n where _parseConfig is skipped on later calls: a single string call would\n disable in-place mode for every subsequent node call, returning a\n sanitized copy while leaving the caller's node — which in-place callers\n keep using and whose return value they ignore — unsanitized. REPORT-2. */\n const inPlace = IN_PLACE && typeof dirty !== 'string' && _isNode(dirty);\n if (inPlace) {\n /* Declarative-partial-updates / streaming pre-pass: sever every patch\n linkage across the live tree BEFORE the walk, so no patch can fire\n mid-walk and inject into an already-processed region. Runs first, so\n it also covers the forbidden/clobbered roots that throw below. */\n _neutralizePatchLinkage(dirty);\n /* Do some early pre-sanitization to avoid unsafe root nodes.\n Read nodeName through the cached prototype getter — a clobbering\n child named \"nodeName\" on the form root would otherwise shadow\n the property and let this check skip the root-allowlist\n validation entirely. */\n const nn = _readNodeName(dirty);\n if (typeof nn === 'string') {\n const tagName = transformCaseFunc(nn);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Fail closed on a live root: neutralize handlers/children before\n throwing, exactly as the mid-walk abort path does. */\n _neutralizeRoot(dirty);\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n /* Pre-flight the root through _isClobbered. The iterator-driven\n removal path can not detach a parent-less root: _forceRemove\n falls through to Element.prototype.remove(), which per spec\n is a no-op on a node with no parent. A clobbered root would\n then survive the main loop with its attributes uninspected,\n because _sanitizeAttributes early-returns on _isClobbered. The\n result would be an attacker-controlled form, complete with any\n event-handler attributes the caller passed in, handed back to\n the application unsanitized. Refuse to sanitize such a root\n the same way we refuse a forbidden tag. GHSA-r47g-fvhr-h676. */\n if (_isClobbered(dirty)) {\n /* Fail closed on a live clobbered root before throwing.\n _neutralizeRoot's reads are clobber-safe (cached getters); the\n form's non-clobbered descendants, e.g. an armed <img>, are scrubbed. */\n _neutralizeRoot(dirty);\n throw typeErrorCreate('root node is clobbered and cannot be sanitized in-place');\n }\n /* Sanitize attached shadow roots before the main iterator runs.\n The iterator does not descend into shadow trees. Same fail-closed\n barrier as the main walk (campaign-3 F2): a custom-element reaction\n inside a shadow root could abort this pre-pass before the walk runs,\n which would otherwise leave the entire live tree unsanitized. */\n try {\n _sanitizeAttachedShadowRoots(dirty);\n } catch (error) {\n _neutralizeRoot(dirty);\n throw error;\n }\n } else if (_isNode(dirty)) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n /* Clonable shadow roots are deep-cloned by importNode(); sanitize\n them before the main iterator runs, since the iterator does not\n descend into shadow trees. The walk routes every read through a\n cached prototype getter so clobbering descendants on a form root\n cannot hide a shadow host from this pass.\n Traverse from `body`, not `importedNode`: when importedNode is a\n DocumentFragment, the appendChild() above moves its children into\n `body` and leaves the fragment empty, so walking importedNode would\n scan nothing and miss every attached shadow host now under `body`\n (SO-003). In the BODY/HTML branches `body === importedNode`, so this\n is equivalent there; in the element branch `body` contains the\n appended element and its descendants. `body` covers all three. */\n _sanitizeAttachedShadowRoots(body);\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const walkRoot = inPlace ? dirty : body;\n /* Now start iterating over the created document.\n The walk runs inside an exception barrier (campaign-3 F2): a re-entrant\n engine/custom-element mutation can detach a node mid-walk so\n `_forceRemove`'s parentless guard throws, aborting the loop. Without the\n barrier the caller's in-place tree would be left half-sanitized with the\n unvisited tail still armed. _createNodeIterator itself is inside the\n barrier too: constructing the iterator dereferences the root's document,\n and any failure there (e.g. an exotic/clobbered root) must still fail\n closed rather than skip the neutralize. On any throw we fail closed -\n strip the in-place root bare - then rethrow so the existing throw\n contract is preserved. (String/DOM-copy paths never return the partial\n body, so the propagating throw is already fail-closed there.) */\n try {\n const nodeIterator = _createNodeIterator(walkRoot);\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode, walkRoot);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection\n instead of instanceof, so foreign-realm <template>.content is\n walked correctly. */\n if (_isDocumentFragment(currentNode.content)) {\n _sanitizeShadowDOM2(currentNode.content);\n }\n }\n } catch (error) {\n if (inPlace) {\n _neutralizeRoot(dirty);\n /* Nodes _forceRemove'd earlier in the aborted walk are already\n detached from the root, so _neutralizeRoot's subtree pass does not\n reach them. Defuse them too, mirroring the success-path loop below. */\n arrayForEach(DOMPurify.removed, entry => {\n if (entry.element) {\n _neutralizeSubtree(entry.element);\n }\n });\n }\n throw error;\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (inPlace) {\n /* Fail-closed completion of the audit-5 F1 fix: every node removed from\n the caller's live tree is detached but may still hold a queued\n resource-event handler that fires in page scope after we return. The\n move-hoist covers only disallowed-tag KEEP_CONTENT removals; strip the\n non-allow-listed attributes off every other removed subtree (clobber,\n mXSS, namespace, comments, KEEP_CONTENT:false, …) so those handlers are\n cancelled before any event can fire. Runs synchronously, pre-return. */\n arrayForEach(DOMPurify.removed, entry => {\n if (entry.element) {\n _neutralizeSubtree(entry.element);\n }\n });\n if (SAFE_FOR_TEMPLATES) {\n _scrubTemplateExpressions2(dirty);\n }\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (SAFE_FOR_TEMPLATES) {\n _scrubTemplateExpressions2(body);\n }\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = _stripTemplateExpressions(serializedHTML);\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n SET_CONFIG_ALLOWED_TAGS = ALLOWED_TAGS;\n SET_CONFIG_ALLOWED_ATTR = ALLOWED_ATTR;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n SET_CONFIG_ALLOWED_TAGS = null;\n SET_CONFIG_ALLOWED_ATTR = null;\n // Drop any caller-supplied Trusted Types policy so it cannot poison later\n // `RETURN_TRUSTED_TYPE` output. The internal default policy (cached, and\n // never recreated — Trusted Types throws on duplicate names) is restored by\n // the next `_parseConfig`. See GHSA-vxr8-fq34-vvx9.\n trustedTypesPolicy = defaultTrustedTypesPolicy;\n emptyHTML = '';\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n /* Reject unknown entry points. Without this, a non-hook key (e.g.\n * '__proto__') indexes off the prototype chain rather than a real\n * hook array, and arrayPush then writes to Object.prototype. Guard\n * with an own-property check against the known hook names. */\n if (!objectHasOwnProperty(hooks, entryPoint)) {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (!objectHasOwnProperty(hooks, entryPoint)) {\n return undefined;\n }\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n if (!objectHasOwnProperty(hooks, entryPoint)) {\n return;\n }\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","import { generateFilePath } from \"@nextcloud/router\";\nimport DOMPurify from \"dompurify\";\nimport escapeHTML from \"escape-html\";\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction getLocale() {\n return globalThis._nc_l10n_locale;\n}\nfunction getCanonicalLocale() {\n return getLocale().replaceAll(/_/g, \"-\");\n}\nfunction setLocale(locale) {\n globalThis._nc_l10n_locale = locale;\n if (typeof document !== \"undefined\") {\n document.documentElement.dataset.locale = locale;\n }\n}\nfunction getLanguage() {\n return globalThis._nc_l10n_language;\n}\nfunction setLanguage(lang) {\n globalThis._nc_l10n_language = lang;\n if (typeof document !== \"undefined\") {\n document.documentElement.lang = lang;\n }\n}\nfunction isRTL(language) {\n const languageCode = language || getLanguage();\n const rtlLanguages = [\n \"ae\",\n // Avestan\n \"ar\",\n // 'العربية', Arabic\n \"arc\",\n // Aramaic\n \"arz\",\n // 'مصرى', Egyptian\n \"bcc\",\n // 'بلوچی مکرانی', Southern Balochi\n \"bqi\",\n // 'بختياري', Bakthiari\n \"ckb\",\n // 'Soranî / کوردی', Sorani\n \"dv\",\n // Dhivehi\n \"fa\",\n // 'فارسی', Persian\n \"glk\",\n // 'گیلکی', Gilaki\n \"ha\",\n // 'هَوُسَ', Hausa\n \"he\",\n // 'עברית', Hebrew\n \"khw\",\n // 'کھوار', Khowar\n \"ks\",\n // 'कॉशुर / کٲشُر', Kashmiri\n \"ku\",\n // 'Kurdî / كوردی', Kurdish\n \"mzn\",\n // 'مازِرونی', Mazanderani\n \"nqo\",\n // 'ߒߞߏ', N’Ko\n \"pnb\",\n // 'پنجابی', Western Punjabi\n \"ps\",\n // 'پښتو', Pashto,\n \"sd\",\n // 'سنڌي', Sindhi\n \"ug\",\n // 'Uyghurche / ئۇيغۇرچە', Uyghur\n \"ur\",\n // 'اردو', Urdu\n \"ur-PK\",\n // 'اردو', Urdu (nextcloud BCP47 variant)\n \"uz-AF\",\n // 'اوزبیکی', Uzbek Afghan\n \"yi\"\n // 'ייִדיש', Yiddish\n ];\n return rtlLanguages.includes(languageCode);\n}\nglobalThis._nc_l10n_locale ??= typeof document !== \"undefined\" && document.documentElement.dataset.locale || Intl.DateTimeFormat().resolvedOptions().locale.replaceAll(/-/g, \"_\");\nglobalThis._nc_l10n_language ??= typeof document !== \"undefined\" && document.documentElement.lang || (globalThis.navigator?.language ?? \"en\");\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction hasAppTranslations(appId) {\n return appId in globalThis._oc_l10n_registry_translations && appId in globalThis._oc_l10n_registry_plural_functions;\n}\nfunction registerAppTranslations(appId, translations, pluralFunction) {\n if (appId === \"__proto__\" || appId === \"constructor\" || appId === \"prototype\") {\n throw new Error(\"Invalid appId\");\n }\n globalThis._oc_l10n_registry_translations[appId] = {\n ...globalThis._oc_l10n_registry_translations[appId] || {},\n ...translations\n };\n globalThis._oc_l10n_registry_plural_functions[appId] = pluralFunction;\n}\nfunction unregisterAppTranslations(appId) {\n delete globalThis._oc_l10n_registry_translations[appId];\n delete globalThis._oc_l10n_registry_plural_functions[appId];\n}\nfunction getAppTranslations(appId) {\n return {\n translations: globalThis._oc_l10n_registry_translations[appId] ?? {},\n pluralFunction: globalThis._oc_l10n_registry_plural_functions[appId] ?? ((number) => number)\n };\n}\nglobalThis._oc_l10n_registry_translations ??= {};\nglobalThis._oc_l10n_registry_plural_functions ??= {};\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nfunction translate(app, text, placeholdersOrNumber, optionsOrNumber, options) {\n const vars = typeof placeholdersOrNumber === \"object\" ? placeholdersOrNumber : void 0;\n const number = typeof optionsOrNumber === \"number\" ? optionsOrNumber : typeof placeholdersOrNumber === \"number\" ? placeholdersOrNumber : void 0;\n const allOptions = {\n // defaults\n escape: true,\n sanitize: true,\n // overwrite with user config\n ...typeof options === \"object\" ? options : typeof optionsOrNumber === \"object\" ? optionsOrNumber : {}\n };\n const identity = (value) => value;\n const optSanitize = (allOptions.sanitize ? DOMPurify.sanitize : identity) || identity;\n const optEscape = allOptions.escape ? escapeHTML : identity;\n const isValidReplacement = (value) => typeof value === \"string\" || typeof value === \"number\";\n const _build = (text2, vars2, number2) => {\n return text2.replace(/%n/g, \"\" + number2).replace(/{([^{}]*)}/g, (match, key) => {\n if (vars2 === void 0 || !(key in vars2)) {\n return optEscape(match);\n }\n const replacement = vars2[key];\n if (isValidReplacement(replacement)) {\n return optEscape(`${replacement}`);\n } else if (typeof replacement === \"object\" && isValidReplacement(replacement.value)) {\n const escape = replacement.escape !== false ? escapeHTML : identity;\n return escape(`${replacement.value}`);\n } else {\n return optEscape(match);\n }\n });\n };\n const bundle = options?.bundle ?? getAppTranslations(app);\n let translation = bundle.translations[text] || text;\n translation = Array.isArray(translation) ? translation[0] : translation;\n if (typeof vars === \"object\" || number !== void 0) {\n return optSanitize(_build(\n translation,\n vars,\n number\n ));\n } else {\n return optSanitize(translation);\n }\n}\nfunction translatePlural(app, textSingular, textPlural, number, vars, options) {\n const identifier = \"_\" + textSingular + \"_::_\" + textPlural + \"_\";\n const bundle = options?.bundle ?? getAppTranslations(app);\n const value = bundle.translations[identifier];\n if (typeof value !== \"undefined\") {\n const translation = value;\n if (Array.isArray(translation)) {\n const plural = bundle.pluralFunction(number);\n return translate(app, translation[plural], vars, number, options);\n }\n }\n if (number === 1) {\n return translate(app, textSingular, vars, number, options);\n } else {\n return translate(app, textPlural, vars, number, options);\n }\n}\nasync function loadTranslations(appName, callback) {\n if (hasAppTranslations(appName) || getLanguage() === \"en\") {\n const bundle = getAppTranslations(appName);\n callback?.(bundle);\n return bundle;\n }\n let response;\n try {\n const url = generateFilePath(appName, \"l10n\", getLanguage() + \".json\");\n response = await fetch(url);\n } catch (error) {\n throw new Error(\"Network error\", { cause: error });\n }\n if (response.ok) {\n try {\n const bundle = await response.json();\n if (typeof bundle.translations === \"object\") {\n register(appName, bundle.translations);\n callback?.(bundle);\n return bundle;\n }\n } catch {\n }\n throw new Error(\"Invalid content of translation bundle\");\n } else {\n throw new Error(response.statusText);\n }\n}\nfunction register(appName, bundle) {\n registerAppTranslations(appName, bundle, getPlural);\n}\nfunction unregister(appName) {\n return unregisterAppTranslations(appName);\n}\nfunction getPlural(number, language = getLanguage()) {\n if (language === \"pt-BR\") {\n language = \"xbr\";\n }\n if (language.length > 3) {\n language = language.substring(0, language.lastIndexOf(\"-\"));\n }\n switch (language) {\n case \"az\":\n case \"bo\":\n case \"dz\":\n case \"id\":\n case \"ja\":\n case \"jv\":\n case \"ka\":\n case \"km\":\n case \"kn\":\n case \"ko\":\n case \"ms\":\n case \"th\":\n case \"tr\":\n case \"vi\":\n case \"zh\":\n return 0;\n case \"af\":\n case \"bn\":\n case \"bg\":\n case \"ca\":\n case \"da\":\n case \"de\":\n case \"el\":\n case \"en\":\n case \"eo\":\n case \"es\":\n case \"et\":\n case \"eu\":\n case \"fa\":\n case \"fi\":\n case \"fo\":\n case \"fur\":\n case \"fy\":\n case \"gl\":\n case \"gu\":\n case \"ha\":\n case \"he\":\n case \"hu\":\n case \"is\":\n case \"it\":\n case \"ku\":\n case \"lb\":\n case \"ml\":\n case \"mn\":\n case \"mr\":\n case \"nah\":\n case \"nb\":\n case \"ne\":\n case \"nl\":\n case \"nn\":\n case \"no\":\n case \"oc\":\n case \"om\":\n case \"or\":\n case \"pa\":\n case \"pap\":\n case \"ps\":\n case \"pt\":\n case \"so\":\n case \"sq\":\n case \"sv\":\n case \"sw\":\n case \"ta\":\n case \"te\":\n case \"tk\":\n case \"ur\":\n case \"zu\":\n return number === 1 ? 0 : 1;\n case \"am\":\n case \"bh\":\n case \"fil\":\n case \"fr\":\n case \"gun\":\n case \"hi\":\n case \"hy\":\n case \"ln\":\n case \"mg\":\n case \"nso\":\n case \"xbr\":\n case \"ti\":\n case \"wa\":\n return number === 0 || number === 1 ? 0 : 1;\n case \"be\":\n case \"bs\":\n case \"hr\":\n case \"ru\":\n case \"sh\":\n case \"sr\":\n case \"uk\":\n return number % 10 === 1 && number % 100 !== 11 ? 0 : number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20) ? 1 : 2;\n case \"cs\":\n case \"sk\":\n return number === 1 ? 0 : number >= 2 && number <= 4 ? 1 : 2;\n case \"ga\":\n return number === 1 ? 0 : number === 2 ? 1 : 2;\n case \"lt\":\n return number % 10 === 1 && number % 100 !== 11 ? 0 : number % 10 >= 2 && (number % 100 < 10 || number % 100 >= 20) ? 1 : 2;\n case \"sl\":\n return number % 100 === 1 ? 0 : number % 100 === 2 ? 1 : number % 100 === 3 || number % 100 === 4 ? 2 : 3;\n case \"mk\":\n return number % 10 === 1 ? 0 : 1;\n case \"mt\":\n return number === 1 ? 0 : number === 0 || number % 100 > 1 && number % 100 < 11 ? 1 : number % 100 > 10 && number % 100 < 20 ? 2 : 3;\n case \"lv\":\n return number === 0 ? 0 : number % 10 === 1 && number % 100 !== 11 ? 1 : 2;\n case \"pl\":\n return number === 1 ? 0 : number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 12 || number % 100 > 14) ? 1 : 2;\n case \"cy\":\n return number === 1 ? 0 : number === 2 ? 1 : number === 8 || number === 11 ? 2 : 3;\n case \"ro\":\n return number === 1 ? 0 : number === 0 || number % 100 > 0 && number % 100 < 20 ? 1 : 2;\n case \"ar\":\n return number === 0 ? 0 : number === 1 ? 1 : number === 2 ? 2 : number % 100 >= 3 && number % 100 <= 10 ? 3 : number % 100 >= 11 && number % 100 <= 99 ? 4 : 5;\n default:\n return 0;\n }\n}\nexport {\n getLanguage as a,\n getLocale as b,\n setLanguage as c,\n translatePlural as d,\n getPlural as e,\n getCanonicalLocale as g,\n isRTL as i,\n loadTranslations as l,\n register as r,\n setLocale as s,\n translate as t,\n unregister as u\n};\n//# sourceMappingURL=translation-DoG5ZELJ.mjs.map\n","import { s as scopedGlobals, l as logger, F as FileType } from \"./chunks/folder-29HuacU_.mjs\";\nimport { a, b, N, c, P } from \"./chunks/folder-29HuacU_.mjs\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nimport isSvg from \"is-svg\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"@nextcloud/paths\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nclass FilesRegistry extends TypedEventTarget {\n}\nfunction getRegistry() {\n scopedGlobals.registry ??= new FilesRegistry();\n return scopedGlobals.registry;\n}\nfunction getFilesRegistry() {\n return getRegistry();\n}\nconst DefaultType = Object.freeze({\n DEFAULT: \"default\",\n HIDDEN: \"hidden\"\n});\nfunction registerFileAction(action) {\n validateAction$1(action);\n scopedGlobals.fileActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileActions.has(action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n scopedGlobals.fileActions.set(action.id, action);\n getRegistry().dispatchTypedEvent(\"register:action\", new CustomEvent(\"register:action\", { detail: action }));\n}\nfunction getFileActions() {\n if (scopedGlobals.fileActions) {\n return [...scopedGlobals.fileActions.values()];\n }\n return [];\n}\nfunction validateAction$1(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n if (\"hotkey\" in action && action.hotkey !== void 0) {\n if (typeof action.hotkey !== \"object\") {\n throw new Error(\"Invalid hotkey configuration\");\n }\n if (typeof action.hotkey.key !== \"string\" || !action.hotkey.key) {\n throw new Error(\"Missing or invalid hotkey key\");\n }\n if (typeof action.hotkey.description !== \"string\" || !action.hotkey.description) {\n throw new Error(\"Missing or invalid hotkey description\");\n }\n }\n}\nfunction registerFileListAction(action) {\n validateAction(action);\n scopedGlobals.fileListActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListActions.has(action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n scopedGlobals.fileListActions.set(action.id, action);\n getRegistry().dispatchTypedEvent(\"register:listAction\", new CustomEvent(\"register:listAction\", { detail: action }));\n}\nfunction getFileListActions() {\n if (scopedGlobals.fileListActions) {\n return [...scopedGlobals.fileListActions.values()];\n }\n return [];\n}\nfunction validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction registerFileListFilter(filter) {\n scopedGlobals.fileListFilters ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListFilters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n scopedGlobals.fileListFilters.set(filter.id, filter);\n getRegistry().dispatchTypedEvent(\"register:listFilter\", new CustomEvent(\"register:listFilter\", { detail: filter }));\n}\nfunction unregisterFileListFilter(filterId) {\n if (scopedGlobals.fileListFilters && scopedGlobals.fileListFilters.has(filterId)) {\n scopedGlobals.fileListFilters.delete(filterId);\n getRegistry().dispatchTypedEvent(\"unregister:listFilter\", new CustomEvent(\"unregister:listFilter\", { detail: filterId }));\n }\n}\nfunction getFileListFilters() {\n if (scopedGlobals.fileListFilters) {\n return [...scopedGlobals.fileListFilters.values()];\n }\n return [];\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListHeader(header) {\n validateHeader(header);\n scopedGlobals.fileListHeaders ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.fileListHeaders.has(header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n scopedGlobals.fileListHeaders.set(header.id, header);\n getRegistry().dispatchTypedEvent(\"register:listHeader\", new CustomEvent(\"register:listHeader\", { detail: header }));\n}\nfunction getFileListHeaders() {\n if (!scopedGlobals.fileListHeaders) {\n return [];\n }\n return [...scopedGlobals.fileListHeaders.values()];\n}\nfunction validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n}\nfunction checkOptionalProperty(obj, property, type) {\n if (typeof obj[property] !== \"undefined\") {\n if (type === \"array\") {\n if (!Array.isArray(obj[property])) {\n throw new Error(`View ${property} must be an array`);\n }\n } else if (typeof obj[property] !== type) {\n throw new Error(`View ${property} must be a ${type}`);\n } else if (type === \"object\" && (obj[property] === null || Array.isArray(obj[property]))) {\n throw new Error(`View ${property} must be an object`);\n }\n }\n}\nclass Column {\n _column;\n constructor(column) {\n validateColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nfunction validateColumn(column) {\n if (typeof column !== \"object\" || column === null) {\n throw new Error(\"View column must be an object\");\n }\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n checkOptionalProperty(column, \"sort\", \"function\");\n checkOptionalProperty(column, \"summary\", \"function\");\n}\nclass View {\n _view;\n constructor(view) {\n validateView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get hidden() {\n return this._view.hidden;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nfunction validateView(view) {\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n checkOptionalProperty(view, \"caption\", \"string\");\n checkOptionalProperty(view, \"columns\", \"array\");\n checkOptionalProperty(view, \"defaultSortKey\", \"string\");\n checkOptionalProperty(view, \"emptyCaption\", \"string\");\n checkOptionalProperty(view, \"emptyTitle\", \"string\");\n checkOptionalProperty(view, \"emptyView\", \"function\");\n checkOptionalProperty(view, \"expanded\", \"boolean\");\n checkOptionalProperty(view, \"hidden\", \"boolean\");\n checkOptionalProperty(view, \"loadChildViews\", \"function\");\n checkOptionalProperty(view, \"order\", \"number\");\n checkOptionalProperty(view, \"params\", \"object\");\n checkOptionalProperty(view, \"parent\", \"string\");\n checkOptionalProperty(view, \"sticky\", \"boolean\");\n if (view.columns) {\n view.columns.forEach(validateColumn);\n const columnIds = view.columns.reduce((set, column) => set.add(column.id), /* @__PURE__ */ new Set());\n if (columnIds.size !== view.columns.length) {\n throw new Error(\"View columns must have unique ids\");\n }\n }\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n *\n * @param views The views to register\n * @throws {Error} if a view with the same id is already registered\n * @throws {Error} if the registered view is invalid\n */\n register(...views) {\n for (const view of views) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`IView id ${view.id} is already registered`);\n }\n validateView(view);\n }\n this._views.push(...views);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n *\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n *\n * @param id - The id of the view to set as active\n * @throws {Error} If no view with the given id was registered\n * @fires UpdateActiveViewEvent\n */\n setActive(id) {\n if (id === null) {\n this._currentView = null;\n } else {\n const view = this._views.find(({ id: viewId }) => viewId === id);\n if (!view) {\n throw new Error(`No view with ${id} registered`);\n }\n this._currentView = view;\n }\n const event = new CustomEvent(\"updateActive\", { detail: this._currentView });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nfunction getNavigation() {\n scopedGlobals.navigation ??= new Navigation();\n return scopedGlobals.navigation;\n}\nconst NewMenuEntryCategory = Object.freeze({\n /**\n * For actions where the user is intended to upload from their device\n */\n UploadFromDevice: 0,\n /**\n * For actions that create new nodes on the server without uploading\n */\n CreateNew: 1,\n /**\n * For everything not matching the other categories\n */\n Other: 2\n});\nclass NewMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? NewMenuEntryCategory.CreateNew;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param context - The creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !entry.iconSvgInline || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nfunction getNewFileMenu() {\n scopedGlobals.newFileMenu ??= new NewMenu();\n return scopedGlobals.newFileMenu;\n}\nfunction addNewFileMenuEntry(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n}\nfunction removeNewFileMenuEntry(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n}\nfunction getNewFileMenuEntries(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n}\nfunction registerSidebarAction(action) {\n validateSidebarAction(action);\n scopedGlobals.filesSidebarActions ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.filesSidebarActions.has(action.id)) {\n logger.warn(`Sidebar action with id \"${action.id}\" already registered. Skipping.`);\n return;\n }\n scopedGlobals.filesSidebarActions.set(action.id, action);\n logger.debug(`New sidebar action with id \"${action.id}\" registered.`);\n}\nfunction getSidebarActions() {\n if (scopedGlobals.filesSidebarActions) {\n return [...scopedGlobals.filesSidebarActions.values()];\n }\n return [];\n}\nfunction validateSidebarAction(action) {\n if (typeof action !== \"object\") {\n throw new Error(\"Sidebar action is not an object\");\n }\n if (!action.id || typeof action.id !== \"string\" || action.id !== CSS.escape(action.id)) {\n throw new Error(\"Sidebar actions need to have an id conforming to the HTML id attribute specifications\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Sidebar actions need to have a displayName function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Sidebar actions need to have a iconSvgInline function\");\n }\n if (!action.enabled || typeof action.enabled !== \"function\") {\n throw new Error(\"Sidebar actions need to have an enabled function\");\n }\n if (!action.onClick || typeof action.onClick !== \"function\") {\n throw new Error(\"Sidebar actions need to have an onClick function\");\n }\n}\nfunction registerSidebarTab(tab) {\n validateSidebarTab(tab);\n scopedGlobals.filesSidebarTabs ??= /* @__PURE__ */ new Map();\n if (scopedGlobals.filesSidebarTabs.has(tab.id)) {\n logger.warn(`Sidebar tab with id \"${tab.id}\" already registered. Skipping.`);\n return;\n }\n scopedGlobals.filesSidebarTabs.set(tab.id, tab);\n logger.debug(`New sidebar tab with id \"${tab.id}\" registered.`);\n}\nfunction getSidebarTabs() {\n if (scopedGlobals.filesSidebarTabs) {\n return [...scopedGlobals.filesSidebarTabs.values()];\n }\n return [];\n}\nfunction validateSidebarTab(tab) {\n if (typeof tab !== \"object\") {\n throw new Error(\"Sidebar tab is not an object\");\n }\n if (!tab.id || typeof tab.id !== \"string\" || tab.id !== CSS.escape(tab.id)) {\n throw new Error(\"Sidebar tabs need to have an id conforming to the HTML id attribute specifications\");\n }\n if (!tab.tagName || typeof tab.tagName !== \"string\") {\n throw new Error(\"Sidebar tabs need to have the tagName name set\");\n }\n if (!tab.tagName.match(/^[a-z][a-z0-9-_]+$/)) {\n throw new Error('Sidebar tab \"tagName\" is invalid');\n }\n if (!tab.displayName || typeof tab.displayName !== \"string\") {\n throw new Error(\"Sidebar tabs need to have a name set\");\n }\n if (typeof tab.iconSvgInline !== \"string\" || !isSvg(tab.iconSvgInline)) {\n throw new Error(\"Sidebar tabs need to have an valid SVG icon\");\n }\n if (typeof tab.order !== \"number\") {\n throw new Error(\"Sidebar tabs need to have a numeric order set\");\n }\n if (tab.enabled && typeof tab.enabled !== \"function\") {\n throw new Error('Sidebar tab \"enabled\" is not a function');\n }\n if (tab.onInit && typeof tab.onInit !== \"function\") {\n throw new Error('Sidebar tab \"onInit\" is not a function');\n }\n}\nclass SidebarProxy {\n get #impl() {\n return window.OCA?.Files?._sidebar?.();\n }\n get available() {\n return !!this.#impl;\n }\n get isOpen() {\n return this.#impl?.isOpen ?? false;\n }\n get activeTab() {\n return this.#impl?.activeTab;\n }\n get node() {\n return this.#impl?.node;\n }\n open(node, tab) {\n this.#impl?.open(node, tab);\n }\n close() {\n this.#impl?.close();\n }\n setActiveTab(tabId) {\n this.#impl?.setActiveTab(tabId);\n }\n registerTab(tab) {\n registerSidebarTab(tab);\n }\n getTabs(context) {\n return this.#impl?.getTabs(context) ?? [];\n }\n getActions(context) {\n return this.#impl?.getActions(context) ?? [];\n }\n registerAction(action) {\n registerSidebarAction(action);\n }\n}\nfunction getSidebar() {\n return new SidebarProxy();\n}\nconst InvalidFilenameErrorReason = Object.freeze({\n ReservedName: \"reserved name\",\n Character: \"character\",\n Extension: \"extension\"\n});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: InvalidFilenameErrorReason.Character, filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({ filename, segment: filename, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({ filename, segment: basename2, reason: InvalidFilenameErrorReason.ReservedName });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: InvalidFilenameErrorReason.Extension, filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n) => `(${n})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers, orders) {\n identifiers = identifiers ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nconst FilesSortingMode = Object.freeze({\n Name: \"basename\",\n Modified: \"mtime\",\n Size: \"size\"\n});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: FilesSortingMode.Name,\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n function basename2(node) {\n const name = node.displayname || node.attributes?.displayname || node.basename || \"\";\n if (node.type === FileType.Folder) {\n return name;\n }\n return name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n }\n const identifiers = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== FilesSortingMode.Name ? [(v) => v[sortingOptions.sortingMode] ?? v.attributes[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === FilesSortingMode.Modified ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== FilesSortingMode.Modified && sortingOptions.sortingMode !== FilesSortingMode.Name ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers, orders);\n}\nexport {\n Column,\n DefaultType,\n a as File,\n FileListFilter,\n FileType,\n FilesSortingMode,\n b as Folder,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n c as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n formatFileSize,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getFilesRegistry,\n getNavigation,\n getNewFileMenu,\n getNewFileMenuEntries,\n getSidebar,\n getSidebarActions,\n getSidebarTabs,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeader,\n registerSidebarAction,\n registerSidebarTab,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateColumn,\n validateFilename,\n validateView\n};\n//# sourceMappingURL=index.mjs.map\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * @module public\n */\nimport { loadState } from '@nextcloud/initial-state';\n/**\n * Check if the current page is on a public share\n */\nexport function isPublicShare() {\n // check both the new initial state version and fallback to legacy input\n return (loadState('files_sharing', 'isPublic', null)\n ?? document.querySelector('input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]') !== null);\n}\n/**\n * Get the sharing token for the current public share\n */\nexport function getSharingToken() {\n return (loadState('files_sharing', 'sharingToken', null)\n ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value\n ?? null);\n}\n","const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","/*! For license information please see index.js.LICENSE.txt */\nvar t={2(t){function e(t,e,i){t instanceof RegExp&&(t=n(t,i)),e instanceof RegExp&&(e=n(e,i));var s=r(t,e,i);return s&&{start:s[0],end:s[1],pre:i.slice(0,s[0]),body:i.slice(s[0]+t.length,s[1]),post:i.slice(s[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,i,s,o,a,h=n.indexOf(t),l=n.indexOf(e,h+1),u=h;if(h>=0&&l>0){for(r=[],s=n.length;u>=0&&!a;)u==h?(r.push(u),h=n.indexOf(t,u+1)):1==r.length?a=[r.pop(),l]:((i=r.pop())<s&&(s=i,o=l),l=n.indexOf(e,u+1)),u=h<l&&h>=0?h:l;r.length&&(a=[s,o])}return a}t.exports=e,e.range=r},101(t,e,n){var r;t=n.nmd(t),function(){var i=(t&&t.exports,\"object\"==typeof global&&global);i.global!==i&&i.window;var s=function(t){this.message=t};(s.prototype=new Error).name=\"InvalidCharacterError\";var o=function(t){throw new s(t)},a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",h=/[\\t\\n\\f\\r ]/g,l={encode:function(t){t=String(t),/[^\\0-\\xFF]/.test(t)&&o(\"The string to be encoded contains characters outside of the Latin1 range.\");for(var e,n,r,i,s=t.length%3,h=\"\",l=-1,u=t.length-s;++l<u;)e=t.charCodeAt(l)<<16,n=t.charCodeAt(++l)<<8,r=t.charCodeAt(++l),h+=a.charAt((i=e+n+r)>>18&63)+a.charAt(i>>12&63)+a.charAt(i>>6&63)+a.charAt(63&i);return 2==s?(e=t.charCodeAt(l)<<8,n=t.charCodeAt(++l),h+=a.charAt((i=e+n)>>10)+a.charAt(i>>4&63)+a.charAt(i<<2&63)+\"=\"):1==s&&(i=t.charCodeAt(l),h+=a.charAt(i>>2)+a.charAt(i<<4&63)+\"==\"),h},decode:function(t){var e=(t=String(t).replace(h,\"\")).length;e%4==0&&(e=(t=t.replace(/==?$/,\"\")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(t))&&o(\"Invalid character: the string to be decoded is not correctly encoded.\");for(var n,r,i=0,s=\"\",l=-1;++l<e;)r=a.indexOf(t.charAt(l)),n=i%4?64*n+r:r,i++%4&&(s+=String.fromCharCode(255&n>>(-2*i&6)));return s},version:\"1.0.0\"};void 0===(r=function(){return l}.call(e,n,e,t))||(t.exports=r)}()},172(t,e){e.d=function(t){if(!t)return 0;for(var e=(t=t.toString()).length,n=t.length;n--;){var r=t.charCodeAt(n);56320<=r&&r<=57343&&n--,127<r&&r<=2047?e++:2047<r&&r<=65535&&(e+=2)}return e}},526(t){var e={utf8:{stringToBytes:function(t){return e.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(e.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n<t.length;n++)e.push(255&t.charCodeAt(n));return e},bytesToString:function(t){for(var e=[],n=0;n<t.length;n++)e.push(String.fromCharCode(t[n]));return e.join(\"\")}}};t.exports=e},298(t){var e,n;e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n={rotl:function(t,e){return t<<e|t>>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&n.rotl(t,8)|4278255360&n.rotl(t,24);for(var e=0;e<t.length;e++)t[e]=n.endian(t[e]);return t},randomBytes:function(t){for(var e=[];t>0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n<t.length;n++,r+=8)e[r>>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n<t.length;n++)e.push((t[n]>>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join(\"\")},hexToBytes:function(t){for(var e=[],n=0;n<t.length;n+=2)e.push(parseInt(t.substr(n,2),16));return e},bytesToBase64:function(t){for(var n=[],r=0;r<t.length;r+=3)for(var i=t[r]<<16|t[r+1]<<8|t[r+2],s=0;s<4;s++)8*r+6*s<=8*t.length?n.push(e.charAt(i>>>6*(3-s)&63)):n.push(\"=\");return n.join(\"\")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\\/]/gi,\"\");for(var n=[],r=0,i=0;r<t.length;i=++r%4)0!=i&&n.push((e.indexOf(t.charAt(r-1))&Math.pow(2,-2*i+8)-1)<<2*i|e.indexOf(t.charAt(r))>>>6-2*i);return n}},t.exports=n},135(t){function e(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(e(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&e(t.slice(0,0))}(t)||!!t._isBuffer)}},542(t,e,n){!function(){var e=n(298),r=n(526).utf8,i=n(135),s=n(526).bin,o=function(t,n){t.constructor==String?t=n&&\"binary\"===n.encoding?s.stringToBytes(t):r.stringToBytes(t):i(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||t.constructor===Uint8Array||(t=t.toString());for(var a=e.bytesToWords(t),h=8*t.length,l=1732584193,u=-271733879,c=-1732584194,p=271733878,f=0;f<a.length;f++)a[f]=16711935&(a[f]<<8|a[f]>>>24)|4278255360&(a[f]<<24|a[f]>>>8);a[h>>>5]|=128<<h%32,a[14+(h+64>>>9<<4)]=h;var d=o._ff,g=o._gg,m=o._hh,y=o._ii;for(f=0;f<a.length;f+=16){var b=l,v=u,w=c,x=p;l=d(l,u,c,p,a[f+0],7,-680876936),p=d(p,l,u,c,a[f+1],12,-389564586),c=d(c,p,l,u,a[f+2],17,606105819),u=d(u,c,p,l,a[f+3],22,-1044525330),l=d(l,u,c,p,a[f+4],7,-176418897),p=d(p,l,u,c,a[f+5],12,1200080426),c=d(c,p,l,u,a[f+6],17,-1473231341),u=d(u,c,p,l,a[f+7],22,-45705983),l=d(l,u,c,p,a[f+8],7,1770035416),p=d(p,l,u,c,a[f+9],12,-1958414417),c=d(c,p,l,u,a[f+10],17,-42063),u=d(u,c,p,l,a[f+11],22,-1990404162),l=d(l,u,c,p,a[f+12],7,1804603682),p=d(p,l,u,c,a[f+13],12,-40341101),c=d(c,p,l,u,a[f+14],17,-1502002290),l=g(l,u=d(u,c,p,l,a[f+15],22,1236535329),c,p,a[f+1],5,-165796510),p=g(p,l,u,c,a[f+6],9,-1069501632),c=g(c,p,l,u,a[f+11],14,643717713),u=g(u,c,p,l,a[f+0],20,-373897302),l=g(l,u,c,p,a[f+5],5,-701558691),p=g(p,l,u,c,a[f+10],9,38016083),c=g(c,p,l,u,a[f+15],14,-660478335),u=g(u,c,p,l,a[f+4],20,-405537848),l=g(l,u,c,p,a[f+9],5,568446438),p=g(p,l,u,c,a[f+14],9,-1019803690),c=g(c,p,l,u,a[f+3],14,-187363961),u=g(u,c,p,l,a[f+8],20,1163531501),l=g(l,u,c,p,a[f+13],5,-1444681467),p=g(p,l,u,c,a[f+2],9,-51403784),c=g(c,p,l,u,a[f+7],14,1735328473),l=m(l,u=g(u,c,p,l,a[f+12],20,-1926607734),c,p,a[f+5],4,-378558),p=m(p,l,u,c,a[f+8],11,-2022574463),c=m(c,p,l,u,a[f+11],16,1839030562),u=m(u,c,p,l,a[f+14],23,-35309556),l=m(l,u,c,p,a[f+1],4,-1530992060),p=m(p,l,u,c,a[f+4],11,1272893353),c=m(c,p,l,u,a[f+7],16,-155497632),u=m(u,c,p,l,a[f+10],23,-1094730640),l=m(l,u,c,p,a[f+13],4,681279174),p=m(p,l,u,c,a[f+0],11,-358537222),c=m(c,p,l,u,a[f+3],16,-722521979),u=m(u,c,p,l,a[f+6],23,76029189),l=m(l,u,c,p,a[f+9],4,-640364487),p=m(p,l,u,c,a[f+12],11,-421815835),c=m(c,p,l,u,a[f+15],16,530742520),l=y(l,u=m(u,c,p,l,a[f+2],23,-995338651),c,p,a[f+0],6,-198630844),p=y(p,l,u,c,a[f+7],10,1126891415),c=y(c,p,l,u,a[f+14],15,-1416354905),u=y(u,c,p,l,a[f+5],21,-57434055),l=y(l,u,c,p,a[f+12],6,1700485571),p=y(p,l,u,c,a[f+3],10,-1894986606),c=y(c,p,l,u,a[f+10],15,-1051523),u=y(u,c,p,l,a[f+1],21,-2054922799),l=y(l,u,c,p,a[f+8],6,1873313359),p=y(p,l,u,c,a[f+15],10,-30611744),c=y(c,p,l,u,a[f+6],15,-1560198380),u=y(u,c,p,l,a[f+13],21,1309151649),l=y(l,u,c,p,a[f+4],6,-145523070),p=y(p,l,u,c,a[f+11],10,-1120210379),c=y(c,p,l,u,a[f+2],15,718787259),u=y(u,c,p,l,a[f+9],21,-343485551),l=l+b>>>0,u=u+v>>>0,c=c+w>>>0,p=p+x>>>0}return e.endian([l,u,c,p])};o._ff=function(t,e,n,r,i,s,o){var a=t+(e&n|~e&r)+(i>>>0)+o;return(a<<s|a>>>32-s)+e},o._gg=function(t,e,n,r,i,s,o){var a=t+(e&r|n&~r)+(i>>>0)+o;return(a<<s|a>>>32-s)+e},o._hh=function(t,e,n,r,i,s,o){var a=t+(e^n^r)+(i>>>0)+o;return(a<<s|a>>>32-s)+e},o._ii=function(t,e,n,r,i,s,o){var a=t+(n^(e|~r))+(i>>>0)+o;return(a<<s|a>>>32-s)+e},o._blocksize=16,o._digestsize=16,t.exports=function(t,n){if(null==t)throw new Error(\"Illegal argument \"+t);var r=e.wordsToBytes(o(t,n));return n&&n.asBytes?r:n&&n.asString?s.bytesToString(r):e.bytesToHex(r)}}()},285(t,e,n){var r=n(2);t.exports=function(t,e){if(!t)return[];var n=null==(e=e||{}).max?1/0:e.max;return\"{}\"===t.substr(0,2)&&(t=\"\\\\{\\\\}\"+t.substr(2)),m(function(t){return t.split(\"\\\\\\\\\").join(i).split(\"\\\\{\").join(s).split(\"\\\\}\").join(o).split(\"\\\\,\").join(a).split(\"\\\\.\").join(h)}(t),n,!0).map(u)};var i=\"\\0SLASH\"+Math.random()+\"\\0\",s=\"\\0OPEN\"+Math.random()+\"\\0\",o=\"\\0CLOSE\"+Math.random()+\"\\0\",a=\"\\0COMMA\"+Math.random()+\"\\0\",h=\"\\0PERIOD\"+Math.random()+\"\\0\";function l(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function u(t){return t.split(i).join(\"\\\\\").split(s).join(\"{\").split(o).join(\"}\").split(a).join(\",\").split(h).join(\".\")}function c(t){if(!t)return[\"\"];var e=[],n=r(\"{\",\"}\",t);if(!n)return t.split(\",\");var i=n.pre,s=n.body,o=n.post,a=i.split(\",\");a[a.length-1]+=\"{\"+s+\"}\";var h=c(o);return o.length&&(a[a.length-1]+=h.shift(),a.push.apply(a,h)),e.push.apply(e,a),e}function p(t){return\"{\"+t+\"}\"}function f(t){return/^-?0\\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function m(t,e,n){var i=[],s=r(\"{\",\"}\",t);if(!s)return[t];var a=s.pre,h=s.post.length?m(s.post,e,!1):[\"\"];if(/\\$$/.test(s.pre))for(var u=0;u<h.length&&u<e;u++){var y=a+\"{\"+s.body+\"}\"+h[u];i.push(y)}else{var b,v,w=/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(s.body),x=/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(s.body),N=w||x,E=s.body.indexOf(\",\")>=0;if(!N&&!E)return s.post.match(/,(?!,).*\\}/)?m(t=s.pre+\"{\"+s.body+o+s.post,e,!0):[t];if(N)b=s.body.split(/\\.\\./);else if(1===(b=c(s.body)).length&&1===(b=m(b[0],e,!1).map(p)).length)return h.map((function(t){return s.pre+b[0]+t}));if(N){var A=l(b[0]),S=l(b[1]),P=Math.max(b[0].length,b[1].length),T=3==b.length?Math.max(Math.abs(l(b[2])),1):1,O=d;S<A&&(T*=-1,O=g);var C=b.some(f);v=[];for(var _=A;O(_,S);_+=T){var $;if(x)\"\\\\\"===($=String.fromCharCode(_))&&($=\"\");else if($=String(_),C){var j=P-$.length;if(j>0){var I=new Array(j+1).join(\"0\");$=_<0?\"-\"+I+$.slice(1):I+$}}v.push($)}}else{v=[];for(var M=0;M<b.length;M++)v.push.apply(v,m(b[M],e,!1))}for(M=0;M<v.length;M++)for(u=0;u<h.length&&i.length<e;u++)y=a+v[M]+h[u],(!n||N||y)&&i.push(y)}return i}},829(t){function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},e(t)}function n(t){var e=\"function\"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf(\"[native code]\")))return t;var n;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,o)}function o(){return r(t,arguments,s(this).constructor)}return o.prototype=Object.create(t.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),i(o,t)},n(t)}function r(t,e,n){return r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var s=new(Function.bind.apply(t,r));return n&&i(s,n.prototype),s},r.apply(null,arguments)}function i(t,e){return i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}var o=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,n),(r=function(t,n){return!n||\"object\"!==e(n)&&\"function\"!=typeof n?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):n}(this,s(n).call(this,t))).name=\"ObjectPrototypeMutationError\",r}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=n.split(\".\"),s=i.length,o=function(e){var n=i[e];if(!t)return{v:void 0};if(\"+\"===n){if(Array.isArray(t))return{v:t.map((function(n,s){var o=i.slice(e+1);return o.length>0?a(n,o.join(\".\"),r):r(t,s,i,e)}))};var s=i.slice(0,e).join(\".\");throw new Error(\"Object at wildcard (\".concat(s,\") is not an array\"))}t=r(t,n,i,e)},h=0;h<s;h++){var l=o(h);if(\"object\"===e(l))return l.v}return t}function h(t,e){return t.length===e+1}t.exports={set:function(t,n,r){if(\"object\"!=e(t)||null===t)return t;if(void 0===n)return t;if(\"number\"==typeof n)return t[n]=r,t[n];try{return a(t,n,(function(t,e,n,i){if(t===Reflect.getPrototypeOf({}))throw new o(\"Attempting to mutate Object.prototype\");if(!t[e]){var s=Number.isInteger(Number(n[i+1])),a=\"+\"===n[i+1];t[e]=s||a?[]:{}}return h(n,i)&&(t[e]=r),t[e]}))}catch(e){if(e instanceof o)throw e;return t}},get:function(t,n){if(\"object\"!=e(t)||null===t)return t;if(void 0===n)return t;if(\"number\"==typeof n)return t[n];try{return a(t,n,(function(t,e){return t[e]}))}catch(e){return t}},has:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;if(\"number\"==typeof n)return n in t;try{var i=!1;return a(t,n,(function(t,e,n,s){if(!h(n,s))return t&&t[e];i=r.own?t.hasOwnProperty(e):e in t})),i}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var s=!1,o=!1;return a(t,n,(function(t,n,i,a){return s=s||t===r||!!t&&t[n]===r,o=h(i,a)&&\"object\"===e(t)&&n in t,t&&t[n]})),i.validPath?s&&o:s}catch(t){return!1}},ObjectPrototypeMutationError:o}},47(t,e,n){var r=n(410),i=function(t){return\"string\"==typeof t};function s(t,e){for(var n=[],r=0;r<t.length;r++){var i=t[r];i&&\".\"!==i&&(\"..\"===i?n.length&&\"..\"!==n[n.length-1]?n.pop():e&&n.push(\"..\"):n.push(i))}return n}var o=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,a={};function h(t){return o.exec(t).slice(1)}a.resolve=function(){for(var t=\"\",e=!1,n=arguments.length-1;n>=-1&&!e;n--){var r=n>=0?arguments[n]:process.cwd();if(!i(r))throw new TypeError(\"Arguments to path.resolve must be strings\");r&&(t=r+\"/\"+t,e=\"/\"===r.charAt(0))}return(e?\"/\":\"\")+(t=s(t.split(\"/\"),!e).join(\"/\"))||\".\"},a.normalize=function(t){var e=a.isAbsolute(t),n=\"/\"===t.substr(-1);return(t=s(t.split(\"/\"),!e).join(\"/\"))||e||(t=\".\"),t&&n&&(t+=\"/\"),(e?\"/\":\"\")+t},a.isAbsolute=function(t){return\"/\"===t.charAt(0)},a.join=function(){for(var t=\"\",e=0;e<arguments.length;e++){var n=arguments[e];if(!i(n))throw new TypeError(\"Arguments to path.join must be strings\");n&&(t+=t?\"/\"+n:n)}return a.normalize(t)},a.relative=function(t,e){function n(t){for(var e=0;e<t.length&&\"\"===t[e];e++);for(var n=t.length-1;n>=0&&\"\"===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=a.resolve(t).substr(1),e=a.resolve(e).substr(1);for(var r=n(t.split(\"/\")),i=n(e.split(\"/\")),s=Math.min(r.length,i.length),o=s,h=0;h<s;h++)if(r[h]!==i[h]){o=h;break}var l=[];for(h=o;h<r.length;h++)l.push(\"..\");return(l=l.concat(i.slice(o))).join(\"/\")},a._makeLong=function(t){return t},a.dirname=function(t){var e=h(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):\".\"},a.basename=function(t,e){var n=h(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},a.extname=function(t){return h(t)[3]},a.format=function(t){if(!r.isObject(t))throw new TypeError(\"Parameter 'pathObject' must be an object, not \"+typeof t);var e=t.root||\"\";if(!i(e))throw new TypeError(\"'pathObject.root' must be a string or undefined, not \"+typeof t.root);return(t.dir?t.dir+a.sep:\"\")+(t.base||\"\")},a.parse=function(t){if(!i(t))throw new TypeError(\"Parameter 'pathString' must be a string, not \"+typeof t);var e=h(t);if(!e||4!==e.length)throw new TypeError(\"Invalid path '\"+t+\"'\");return e[1]=e[1]||\"\",e[2]=e[2]||\"\",e[3]=e[3]||\"\",{root:e[0],dir:e[0]+e[1].slice(0,e[1].length-1),base:e[2],ext:e[3],name:e[2].slice(0,e[2].length-e[3].length)}},a.sep=\"/\",a.delimiter=\":\",t.exports=a},647(t,e){var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\\+/g,\" \"))}catch(t){return null}}function i(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||\"\";var r,s,o=[];for(s in\"string\"!=typeof e&&(e=\"?\"),t)if(n.call(t,s)){if((r=t[s])||null!=r&&!isNaN(r)||(r=\"\"),s=i(s),r=i(r),null===s||null===r)continue;o.push(s+\"=\"+r)}return o.length?e+o.join(\"&\"):\"\"},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,i={};e=n.exec(t);){var s=r(e[1]),o=r(e[2]);null===s||null===o||s in i||(i[s]=o)}return i}},670(t){t.exports=function(t,e){if(e=e.split(\":\")[0],!(t=+t))return!1;switch(e){case\"http\":case\"ws\":return 80!==t;case\"https\":case\"wss\":return 443!==t;case\"ftp\":return 21!==t;case\"gopher\":return 70!==t;case\"file\":return!1}return 0!==t}},737(t,e,n){var r=n(670),i=n(647),s=/^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/,o=/[\\n\\r\\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,h=/:\\d+$/,l=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i,u=/^[a-zA-Z]:/;function c(t){return(t||\"\").toString().replace(s,\"\")}var p=[[\"#\",\"hash\"],[\"?\",\"query\"],function(t,e){return g(e.protocol)?t.replace(/\\\\/g,\"/\"):t},[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d*)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],f={hash:1,query:1};function d(t){var e,n=(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).location||{},r={},i=typeof(t=t||n);if(\"blob:\"===t.protocol)r=new y(unescape(t.pathname),{});else if(\"string\"===i)for(e in r=new y(t,{}),f)delete r[e];else if(\"object\"===i){for(e in t)e in f||(r[e]=t[e]);void 0===r.slashes&&(r.slashes=a.test(t.href))}return r}function g(t){return\"file:\"===t||\"ftp:\"===t||\"http:\"===t||\"https:\"===t||\"ws:\"===t||\"wss:\"===t}function m(t,e){t=(t=c(t)).replace(o,\"\"),e=e||{};var n,r=l.exec(t),i=r[1]?r[1].toLowerCase():\"\",s=!!r[2],a=!!r[3],h=0;return s?a?(n=r[2]+r[3]+r[4],h=r[2].length+r[3].length):(n=r[2]+r[4],h=r[2].length):a?(n=r[3]+r[4],h=r[3].length):n=r[4],\"file:\"===i?h>=2&&(n=n.slice(2)):g(i)?n=r[4]:i?s&&(n=n.slice(2)):h>=2&&g(e.protocol)&&(n=r[4]),{protocol:i,slashes:s||g(i),slashesCount:h,rest:n}}function y(t,e,n){if(t=(t=c(t)).replace(o,\"\"),!(this instanceof y))return new y(t,e,n);var s,a,h,l,f,b,v=p.slice(),w=typeof e,x=this,N=0;for(\"object\"!==w&&\"string\"!==w&&(n=e,e=null),n&&\"function\"!=typeof n&&(n=i.parse),s=!(a=m(t||\"\",e=d(e))).protocol&&!a.slashes,x.slashes=a.slashes||s&&e.slashes,x.protocol=a.protocol||e.protocol||\"\",t=a.rest,(\"file:\"===a.protocol&&(2!==a.slashesCount||u.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!g(x.protocol)))&&(v[3]=[/(.*)/,\"pathname\"]);N<v.length;N++)\"function\"!=typeof(l=v[N])?(h=l[0],b=l[1],h!=h?x[b]=t:\"string\"==typeof h?~(f=\"@\"===h?t.lastIndexOf(h):t.indexOf(h))&&(\"number\"==typeof l[2]?(x[b]=t.slice(0,f),t=t.slice(f+l[2])):(x[b]=t.slice(f),t=t.slice(0,f))):(f=h.exec(t))&&(x[b]=f[1],t=t.slice(0,f.index)),x[b]=x[b]||s&&l[3]&&e[b]||\"\",l[4]&&(x[b]=x[b].toLowerCase())):t=l(t,x);n&&(x.query=n(x.query)),s&&e.slashes&&\"/\"!==x.pathname.charAt(0)&&(\"\"!==x.pathname||\"\"!==e.pathname)&&(x.pathname=function(t,e){if(\"\"===t)return e;for(var n=(e||\"/\").split(\"/\").slice(0,-1).concat(t.split(\"/\")),r=n.length,i=n[r-1],s=!1,o=0;r--;)\".\"===n[r]?n.splice(r,1):\"..\"===n[r]?(n.splice(r,1),o++):o&&(0===r&&(s=!0),n.splice(r,1),o--);return s&&n.unshift(\"\"),\".\"!==i&&\"..\"!==i||n.push(\"\"),n.join(\"/\")}(x.pathname,e.pathname)),\"/\"!==x.pathname.charAt(0)&&g(x.protocol)&&(x.pathname=\"/\"+x.pathname),r(x.port,x.protocol)||(x.host=x.hostname,x.port=\"\"),x.username=x.password=\"\",x.auth&&(~(f=x.auth.indexOf(\":\"))?(x.username=x.auth.slice(0,f),x.username=encodeURIComponent(decodeURIComponent(x.username)),x.password=x.auth.slice(f+1),x.password=encodeURIComponent(decodeURIComponent(x.password))):x.username=encodeURIComponent(decodeURIComponent(x.auth)),x.auth=x.password?x.username+\":\"+x.password:x.username),x.origin=\"file:\"!==x.protocol&&g(x.protocol)&&x.host?x.protocol+\"//\"+x.host:\"null\",x.href=x.toString()}y.prototype={set:function(t,e,n){var s=this;switch(t){case\"query\":\"string\"==typeof e&&e.length&&(e=(n||i.parse)(e)),s[t]=e;break;case\"port\":s[t]=e,r(e,s.protocol)?e&&(s.host=s.hostname+\":\"+e):(s.host=s.hostname,s[t]=\"\");break;case\"hostname\":s[t]=e,s.port&&(e+=\":\"+s.port),s.host=e;break;case\"host\":s[t]=e,h.test(e)?(e=e.split(\":\"),s.port=e.pop(),s.hostname=e.join(\":\")):(s.hostname=e,s.port=\"\");break;case\"protocol\":s.protocol=e.toLowerCase(),s.slashes=!n;break;case\"pathname\":case\"hash\":if(e){var o=\"pathname\"===t?\"/\":\"#\";s[t]=e.charAt(0)!==o?o+e:e}else s[t]=e;break;case\"username\":case\"password\":s[t]=encodeURIComponent(e);break;case\"auth\":var a=e.indexOf(\":\");~a?(s.username=e.slice(0,a),s.username=encodeURIComponent(decodeURIComponent(s.username)),s.password=e.slice(a+1),s.password=encodeURIComponent(decodeURIComponent(s.password))):s.username=encodeURIComponent(decodeURIComponent(e))}for(var l=0;l<p.length;l++){var u=p[l];u[4]&&(s[u[1]]=s[u[1]].toLowerCase())}return s.auth=s.password?s.username+\":\"+s.password:s.username,s.origin=\"file:\"!==s.protocol&&g(s.protocol)&&s.host?s.protocol+\"//\"+s.host:\"null\",s.href=s.toString(),s},toString:function(t){t&&\"function\"==typeof t||(t=i.stringify);var e,n=this,r=n.host,s=n.protocol;s&&\":\"!==s.charAt(s.length-1)&&(s+=\":\");var o=s+(n.protocol&&n.slashes||g(n.protocol)?\"//\":\"\");return n.username?(o+=n.username,n.password&&(o+=\":\"+n.password),o+=\"@\"):n.password?(o+=\":\"+n.password,o+=\"@\"):\"file:\"!==n.protocol&&g(n.protocol)&&!r&&\"/\"!==n.pathname&&(o+=\"@\"),(\":\"===r[r.length-1]||h.test(n.hostname)&&!n.port)&&(r+=\":\"),o+=r+n.pathname,(e=\"object\"==typeof n.query?t(n.query):n.query)&&(o+=\"?\"!==e.charAt(0)?\"?\"+e:e),n.hash&&(o+=n.hash),o}},y.extractProtocol=m,y.location=d,y.trimLeft=c,y.qs=i,t.exports=y},410(){},388(){},805(){},345(){},800(){}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var s=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r=n(737),i=n.n(r);function s(t){if(!o(t))throw new Error(\"Parameter was not an error\")}function o(t){return!!t&&\"object\"==typeof t&&\"[object Error]\"===(e=t,Object.prototype.toString.call(e))||t instanceof Error;var e}class a extends Error{constructor(t,e){const n=[...arguments],{options:r,shortMessage:i}=function(t){let e,n=\"\";if(0===t.length)e={};else if(o(t[0]))e={cause:t[0]},n=t.slice(1).join(\" \")||\"\";else if(t[0]&&\"object\"==typeof t[0])e=Object.assign({},t[0]),n=t.slice(1).join(\" \")||\"\";else{if(\"string\"!=typeof t[0])throw new Error(\"Invalid arguments passed to Layerr\");e={},n=n=t.join(\" \")||\"\"}return{options:e,shortMessage:n}}(n);let s=i;if(r.cause&&(s=`${s}: ${r.cause.message}`),super(s),this.message=s,r.name&&\"string\"==typeof r.name?this.name=r.name:this.name=\"Layerr\",r.cause&&Object.defineProperty(this,\"_cause\",{value:r.cause}),Object.defineProperty(this,\"_info\",{value:{}}),r.info&&\"object\"==typeof r.info&&Object.assign(this._info,r.info),Error.captureStackTrace){const t=r.constructorOpt||this.constructor;Error.captureStackTrace(this,t)}}static cause(t){return s(t),t._cause&&o(t._cause)?t._cause:null}static fullStack(t){s(t);const e=a.cause(t);return e?`${t.stack}\\ncaused by: ${a.fullStack(e)}`:t.stack??\"\"}static info(t){s(t);const e={},n=a.cause(t);return n&&Object.assign(e,a.info(n)),t._info&&Object.assign(e,t._info),e}toString(){let t=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t=`${t}: ${this.message}`),t}}var h=n(47),l=n.n(h);const u=\"__PATH_SEPARATOR_POSIX__\",c=\"__PATH_SEPARATOR_WINDOWS__\";function p(t){try{const e=t.replace(/\\//g,u).replace(/\\\\\\\\/g,c);return encodeURIComponent(e).split(c).join(\"\\\\\\\\\").split(u).join(\"/\")}catch(t){throw new a(t,\"Failed encoding path\")}}function f(t){return t.startsWith(\"/\")?t:\"/\"+t}function d(t){let e=t;return\"/\"!==e[0]&&(e=\"/\"+e),/^.+\\/$/.test(e)&&(e=e.substr(0,e.length-1)),e}function g(t){let e=new(i())(t).pathname;return e.length<=0&&(e=\"/\"),d(e)}function m(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(){return function(t){var e=[];if(0===t.length)return\"\";if(\"string\"!=typeof t[0])throw new TypeError(\"Url must be a string. Received \"+t[0]);if(t[0].match(/^[^/:]+:\\/*$/)&&t.length>1){var n=t.shift();t[0]=n+t[0]}t[0].match(/^file:\\/\\/\\//)?t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1:///\"):t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1://\");for(var r=0;r<t.length;r++){var i=t[r];if(\"string\"!=typeof i)throw new TypeError(\"Url must be a string. Received \"+i);\"\"!==i&&(r>0&&(i=i.replace(/^[\\/]+/,\"\")),i=r<t.length-1?i.replace(/[\\/]+$/,\"\"):i.replace(/[\\/]+$/,\"/\"),e.push(i))}var s=e.join(\"/\"),o=(s=s.replace(/\\/(\\?|&|#[^!])/g,\"$1\")).split(\"?\");return o.shift()+(o.length>0?\"?\":\"\")+o.join(\"&\")}(\"object\"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}(e.reduce(((t,e,n)=>((0===n||\"/\"!==e||\"/\"===e&&\"/\"!==t[t.length-1])&&t.push(e),t)),[]))}var y=n(542),b=n.n(y);function v(t,e){const n=t.url.replace(\"//\",\"\"),r=-1==n.indexOf(\"/\")?\"/\":n.slice(n.indexOf(\"/\")),i=t.method?t.method.toUpperCase():\"GET\",s=!!/(^|,)\\s*auth\\s*($|,)/.test(e.qop)&&\"auth\",o=`00000000${e.nc}`.slice(-8),a=function(t,e,n,r,i,s,o){const a=o||b()(`${e}:${n}:${r}`);return t&&\"md5-sess\"===t.toLowerCase()?b()(`${a}:${i}:${s}`):a}(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce,e.ha1),h=b()(`${i}:${r}`),l=s?b()(`${a}:${e.nonce}:${o}:${e.cnonce}:${s}:${h}`):b()(`${a}:${e.nonce}:${h}`),u={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:s,response:l,nc:o,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},c=[];for(const t in u)u[t]&&(\"qop\"===t||\"nc\"===t||\"algorithm\"===t?c.push(`${t}=${u[t]}`):c.push(`${t}=\"${u[t]}\"`));return`Digest ${c.join(\", \")}`}function w(t){return\"digest\"===(t.headers&&t.headers.get(\"www-authenticate\")||\"\").split(/\\s/)[0].toLowerCase()}var x=n(101),N=n.n(x);function E(t){return N().decode(t)}function A(t,e){var n;return`Basic ${n=`${t}:${e}`,N().encode(n)}`}const S=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:\"undefined\"!=typeof window?window:globalThis,P=S.fetch.bind(S),T=(S.Headers,S.Request),O=S.Response;let C=function(t){return t.Auto=\"auto\",t.Digest=\"digest\",t.None=\"none\",t.Password=\"password\",t.Token=\"token\",t}({}),_=function(t){return t.DataTypeNoLength=\"data-type-no-length\",t.InvalidAuthType=\"invalid-auth-type\",t.InvalidOutputFormat=\"invalid-output-format\",t.LinkUnsupportedAuthType=\"link-unsupported-auth\",t.InvalidUpdateRange=\"invalid-update-range\",t.NotSupported=\"not-supported\",t}({});function $(t,e,n,r,i){switch(t.authType){case C.Auto:e&&n&&(t.headers.Authorization=A(e,n));break;case C.Digest:t.digest=function(t,e,n){return{username:t,password:e,ha1:n,nc:0,algorithm:\"md5\",hasDigestAuth:!1}}(e,n,i);break;case C.None:break;case C.Password:t.headers.Authorization=A(e,n);break;case C.Token:t.headers.Authorization=`${(s=r).token_type} ${s.access_token}`;break;default:throw new a({info:{code:_.InvalidAuthType}},`Invalid auth type: ${t.authType}`)}var s}n(345),n(800);const j=\"@@HOTPATCHER\",I=()=>{};function M(t){return{original:t,methods:[t],final:!1}}class R{constructor(){this._configuration={registry:{},getEmptyAction:\"null\"},this.__type__=j}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(t){this.configuration.getEmptyAction=t}control(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t||t.__type__!==j)throw new Error(\"Failed taking control of target HotPatcher instance: Invalid type or object\");return Object.keys(t.configuration.registry).forEach((n=>{this.configuration.registry.hasOwnProperty(n)?e&&(this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])):this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])})),t._configuration=this.configuration,this}execute(t){const e=this.get(t)||I;for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return e(...r)}get(t){const e=this.configuration.registry[t];if(!e)switch(this.getEmptyAction){case\"null\":return null;case\"throw\":throw new Error(`Failed handling method request: No method provided for override: ${t}`);default:throw new Error(`Failed handling request which resulted in an empty method: Invalid empty-action specified: ${this.getEmptyAction}`)}return function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];if(0===e.length)throw new Error(\"Failed creating sequence: No functions provided\");return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];let i=n;const s=this;for(;e.length>0;)i=[e.shift().apply(s,i)];return i[0]}}(...e.methods)}isPatched(t){return!!this.configuration.registry[t]}patch(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{chain:r=!1}=n;if(this.configuration.registry[t]&&this.configuration.registry[t].final)throw new Error(`Failed patching '${t}': Method marked as being final`);if(\"function\"!=typeof e)throw new Error(`Failed patching '${t}': Provided method is not a function`);if(r)this.configuration.registry[t]?this.configuration.registry[t].methods.push(e):this.configuration.registry[t]=M(e);else if(this.isPatched(t)){const{original:n}=this.configuration.registry[t];this.configuration.registry[t]=Object.assign(M(e),{original:n})}else this.configuration.registry[t]=M(e);return this}patchInline(t,e){this.isPatched(t)||this.patch(t,e);for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return this.execute(t,...r)}plugin(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.forEach((e=>{this.patch(t,e,{chain:!0})})),this}restore(t){if(!this.isPatched(t))throw new Error(`Failed restoring method: No method present for key: ${t}`);if(\"function\"!=typeof this.configuration.registry[t].original)throw new Error(`Failed restoring method: Original method not found or of invalid type for key: ${t}`);return this.configuration.registry[t].methods=[this.configuration.registry[t].original],this}setFinal(t){if(!this.configuration.registry.hasOwnProperty(t))throw new Error(`Failed marking '${t}' as final: No method found for key`);return this.configuration.registry[t].final=!0,this}}let k=null;function L(){return k||(k=new R),k}function D(t){return function(t){if(\"object\"!=typeof t||null===t||\"[object Object]\"!=Object.prototype.toString.call(t))return!1;if(null===Object.getPrototypeOf(t))return!0;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t)?Object.assign({},t):Object.setPrototypeOf(Object.assign({},t),Object.getPrototypeOf(t))}function U(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];let r=null,i=[...e];for(;i.length>0;){const t=i.shift();r=r?F(r,t):D(t)}return r}function F(t,e){const n=D(t);return Object.keys(e).forEach((t=>{n.hasOwnProperty(t)?Array.isArray(e[t])?n[t]=Array.isArray(n[t])?[...n[t],...e[t]]:[...e[t]]:\"object\"==typeof e[t]&&e[t]?n[t]=\"object\"==typeof n[t]&&n[t]?F(n[t],e[t]):D(e[t]):n[t]=e[t]:n[t]=e[t]})),n}function V(t){const e={};for(const n of t.keys())e[n]=t.get(n);return e}function W(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];if(0===e.length)return{};const r={};return e.reduce(((t,e)=>(Object.keys(e).forEach((n=>{const i=n.toLowerCase();r.hasOwnProperty(i)?t[r[i]]=e[n]:(r[i]=n,t[n]=e[n])})),t)),{})}n(805);const B=\"function\"==typeof ArrayBuffer,{toString:G}=Object.prototype;function z(t){return B&&(t instanceof ArrayBuffer||\"[object ArrayBuffer]\"===G.call(t))}function q(t){return null!=t&&null!=t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function H(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}function Y(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const X=H((function(t){const e=t._digest;return delete t._digest,e.hasDigestAuth&&(t=U(t,{headers:{Authorization:v(t,e)}})),Y(Q(t),(function(n){let r=!1;return i=function(t){return r?t:n},(s=function(){if(401==n.status)return e.hasDigestAuth=function(t,e){if(!w(t))return!1;const n=/([a-z0-9_-]+)=(?:\"([^\"]+)\"|([a-z0-9_-]+))/gi;for(;;){const r=t.headers&&t.headers.get(\"www-authenticate\")||\"\",i=n.exec(r);if(!i)break;e[i[1]]=i[2]||i[3]}return e.nc+=1,e.cnonce=function(){let t=\"\";for(let e=0;e<32;++e)t=`${t}${\"abcdef0123456789\"[Math.floor(16*Math.random())]}`;return t}(),!0}(n,e),function(){if(e.hasDigestAuth)return Y(Q(t=U(t,{headers:{Authorization:v(t,e)}})),(function(t){return 401==t.status?e.hasDigestAuth=!1:e.nc++,r=!0,t}))}();e.nc++}())&&s.then?s.then(i):i(s);var i,s}))})),Z=H((function(t,e){return Y(Q(t),(function(n){return n.ok?(e.authType=C.Password,n):401==n.status&&w(n)?(e.authType=C.Digest,$(e,e.username,e.password,void 0,void 0),t._digest=e.digest,X(t)):n}))})),J=H((function(t,e){return e.authType===C.Auto?Z(t,e):t._digest?X(t):Q(t)}));function K(t,e,n){const r=D(t);return r.headers=W(e.headers,r.headers||{},n.headers||{}),void 0!==n.data&&(r.data=n.data),n.signal&&(r.signal=n.signal),e.httpAgent&&(r.httpAgent=e.httpAgent),e.httpsAgent&&(r.httpsAgent=e.httpsAgent),e.digest&&(r._digest=e.digest),\"boolean\"==typeof e.withCredentials&&(r.withCredentials=e.withCredentials),r}function Q(t){const e=L();return e.patchInline(\"request\",(t=>e.patchInline(\"fetch\",P,t.url,function(t){let e={};const n={method:t.method};if(t.headers&&(e=W(e,t.headers)),void 0!==t.data){const[r,i]=function(t){if(\"string\"==typeof t)return[t,{}];if(q(t))return[t,{}];if(z(t))return[t,{}];if(t&&\"object\"==typeof t)return[JSON.stringify(t),{\"content-type\":\"application/json\"}];throw new Error(\"Unable to convert request body: Unexpected body type: \"+typeof t)}(t.data);n.body=r,e=W(e,i)}return t.signal&&(n.signal=t.signal),t.withCredentials&&(n.credentials=\"include\"),n.headers=e,n}(t))),t)}var tt=n(285);const et=t=>{if(\"string\"!=typeof t)throw new TypeError(\"invalid pattern\");if(t.length>65536)throw new TypeError(\"pattern is too long\")},nt={\"[:alnum:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\",!0],\"[:alpha:]\":[\"\\\\p{L}\\\\p{Nl}\",!0],\"[:ascii:]\":[\"\\\\x00-\\\\x7f\",!1],\"[:blank:]\":[\"\\\\p{Zs}\\\\t\",!0],\"[:cntrl:]\":[\"\\\\p{Cc}\",!0],\"[:digit:]\":[\"\\\\p{Nd}\",!0],\"[:graph:]\":[\"\\\\p{Z}\\\\p{C}\",!0,!0],\"[:lower:]\":[\"\\\\p{Ll}\",!0],\"[:print:]\":[\"\\\\p{C}\",!0],\"[:punct:]\":[\"\\\\p{P}\",!0],\"[:space:]\":[\"\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f\",!0],\"[:upper:]\":[\"\\\\p{Lu}\",!0],\"[:word:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}\",!0],\"[:xdigit:]\":[\"A-Fa-f0-9\",!1]},rt=t=>t.replace(/[[\\]\\\\-]/g,\"\\\\$&\"),it=t=>t.join(\"\"),st=(t,e)=>{const n=e;if(\"[\"!==t.charAt(n))throw new Error(\"not in a brace expression\");const r=[],i=[];let s=n+1,o=!1,a=!1,h=!1,l=!1,u=n,c=\"\";t:for(;s<t.length;){const e=t.charAt(s);if(\"!\"!==e&&\"^\"!==e||s!==n+1){if(\"]\"===e&&o&&!h){u=s+1;break}if(o=!0,\"\\\\\"!==e||h){if(\"[\"===e&&!h)for(const[e,[o,h,l]]of Object.entries(nt))if(t.startsWith(e,s)){if(c)return[\"$.\",!1,t.length-n,!0];s+=e.length,l?i.push(o):r.push(o),a=a||h;continue t}h=!1,c?(e>c?r.push(rt(c)+\"-\"+rt(e)):e===c&&r.push(rt(e)),c=\"\",s++):t.startsWith(\"-]\",s+1)?(r.push(rt(e+\"-\")),s+=2):t.startsWith(\"-\",s+1)?(c=e,s+=2):(r.push(rt(e)),s++)}else h=!0,s++}else l=!0,s++}if(u<s)return[\"\",!1,0,!1];if(!r.length&&!i.length)return[\"$.\",!1,t.length-n,!0];if(0===i.length&&1===r.length&&/^\\\\?.$/.test(r[0])&&!l){return[(p=2===r[0].length?r[0].slice(-1):r[0],p.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\")),!1,u-n,!1]}var p;const f=\"[\"+(l?\"^\":\"\")+it(r)+\"]\",d=\"[\"+(l?\"\":\"^\")+it(i)+\"]\";return[r.length&&i.length?\"(\"+f+\"|\"+d+\")\":r.length?f:d,a,u-n,!0]},ot=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/\\[([^\\/\\\\])\\]/g,\"$1\"):t.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,\"$1$2\").replace(/\\\\([^\\/])/g,\"$1\")};var at;const ht=new Set([\"!\",\"?\",\"+\",\"*\",\"@\"]),lt=t=>ht.has(t),ut=t=>lt(t.type),ct=new Map([[\"!\",[\"@\"]],[\"?\",[\"?\",\"@\"]],[\"@\",[\"@\"]],[\"*\",[\"*\",\"+\",\"?\",\"@\"]],[\"+\",[\"+\",\"@\"]]]),pt=new Map([[\"!\",[\"?\"]],[\"@\",[\"?\"]],[\"+\",[\"?\",\"*\"]]]),ft=new Map([[\"!\",[\"?\",\"@\"]],[\"?\",[\"?\",\"@\"]],[\"@\",[\"?\",\"@\"]],[\"*\",[\"*\",\"+\",\"?\",\"@\"]],[\"+\",[\"+\",\"@\",\"?\",\"*\"]]]),dt=new Map([[\"!\",new Map([[\"!\",\"@\"]])],[\"?\",new Map([[\"*\",\"*\"],[\"+\",\"*\"]])],[\"@\",new Map([[\"!\",\"!\"],[\"?\",\"?\"],[\"@\",\"@\"],[\"*\",\"*\"],[\"+\",\"+\"]])],[\"+\",new Map([[\"?\",\"*\"],[\"*\",\"*\"]])]]),gt=\"(?!\\\\.)\",mt=new Set([\"[\",\".\"]),yt=new Set([\"..\",\".\"]),bt=new Set(\"().*{}+?[]^$\\\\!\"),vt=\"[^/]\",wt=vt+\"*?\",xt=vt+\"+?\";class Nt{type;#t;#e;#n=!1;#r=[];#i;#s;#o;#a=!1;#h;#l;#u=!1;constructor(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.type=t,t&&(this.#e=!0),this.#i=e,this.#t=this.#i?this.#i.#t:this,this.#h=this.#t===this?n:this.#t.#h,this.#o=this.#t===this?[]:this.#t.#o,\"!\"!==t||this.#t.#a||this.#o.push(this),this.#s=this.#i?this.#i.#r.length:0}get hasMagic(){if(void 0!==this.#e)return this.#e;for(const t of this.#r)if(\"string\"!=typeof t&&(t.type||t.hasMagic))return this.#e=!0;return this.#e}toString(){return void 0!==this.#l?this.#l:this.type?this.#l=this.type+\"(\"+this.#r.map((t=>String(t))).join(\"|\")+\")\":this.#l=this.#r.map((t=>String(t))).join(\"\")}#c(){if(this!==this.#t)throw new Error(\"should only call on root\");if(this.#a)return this;let t;for(this.toString(),this.#a=!0;t=this.#o.pop();){if(\"!\"!==t.type)continue;let e=t,n=e.#i;for(;n;){for(let r=e.#s+1;!n.type&&r<n.#r.length;r++)for(const e of t.#r){if(\"string\"==typeof e)throw new Error(\"string part in extglob AST??\");e.copyIn(n.#r[r])}e=n,n=e.#i}}return this}push(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];for(const t of e)if(\"\"!==t){if(\"string\"!=typeof t&&!(t instanceof at&&t.#i===this))throw new Error(\"invalid part: \"+t);this.#r.push(t)}}toJSON(){const t=null===this.type?this.#r.slice().map((t=>\"string\"==typeof t?t:t.toJSON())):[this.type,...this.#r.map((t=>t.toJSON()))];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#t||this.#t.#a&&\"!\"===this.#i?.type)&&t.push({}),t}isStart(){if(this.#t===this)return!0;if(!this.#i?.isStart())return!1;if(0===this.#s)return!0;const t=this.#i;for(let e=0;e<this.#s;e++){const n=t.#r[e];if(!(n instanceof at&&\"!\"===n.type))return!1}return!0}isEnd(){if(this.#t===this)return!0;if(\"!\"===this.#i?.type)return!0;if(!this.#i?.isEnd())return!1;if(!this.type)return this.#i?.isEnd();const t=this.#i?this.#i.#r.length:0;return this.#s===t-1}copyIn(t){\"string\"==typeof t?this.push(t):this.push(t.clone(this))}clone(t){const e=new at(this.type,t);for(const t of this.#r)e.copyIn(t);return e}static#p(t,e,n,r,i){const s=r.maxExtglobRecursion??2;let o=!1,a=!1,h=-1,l=!1;if(null===e.type){let u=n,c=\"\";for(;u<t.length;){const n=t.charAt(u++);if(o||\"\\\\\"===n)o=!o,c+=n;else if(a)u===h+1?\"^\"!==n&&\"!\"!==n||(l=!0):\"]\"!==n||u===h+2&&l||(a=!1),c+=n;else if(\"[\"!==n)if(!r.noext&&lt(n)&&\"(\"===t.charAt(u)&&i<=s){e.push(c),c=\"\";const s=new at(n,e);u=at.#p(t,s,u,r,i+1),e.push(s)}else c+=n;else a=!0,h=u,l=!1,c+=n}return e.push(c),u}let u=n+1,c=new at(null,e);const p=[];let f=\"\";for(;u<t.length;){const n=t.charAt(u++);if(o||\"\\\\\"===n)o=!o,f+=n;else if(a)u===h+1?\"^\"!==n&&\"!\"!==n||(l=!0):\"]\"!==n||u===h+2&&l||(a=!1),f+=n;else if(\"[\"!==n)if(lt(n)&&\"(\"===t.charAt(u)&&(i<=s||e&&e.#f(n))){const s=e&&e.#f(n)?0:1;c.push(f),f=\"\";const o=new at(n,c);c.push(o),u=at.#p(t,o,u,r,i+s)}else if(\"|\"!==n){if(\")\"===n)return\"\"===f&&0===e.#r.length&&(e.#u=!0),c.push(f),f=\"\",e.push(...p,c),u;f+=n}else c.push(f),f=\"\",p.push(c),c=new at(null,e);else a=!0,h=u,l=!1,f+=n}return e.type=null,e.#e=void 0,e.#r=[t.substring(n-1)],u}#d(t){return this.#g(t,pt)}#g(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;if(!t||\"object\"!=typeof t||null!==t.type||1!==t.#r.length||null===this.type)return!1;const n=t.#r[0];return!(!n||\"object\"!=typeof n||null===n.type)&&this.#f(n.type,e)}#f(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ft;return!!e.get(this.type)?.includes(t)}#m(t,e){const n=t.#r[0],r=new at(null,n,this.options);r.#r.push(\"\"),n.push(r),this.#y(t,e)}#y(t,e){const n=t.#r[0];this.#r.splice(e,1,...n.#r);for(const t of n.#r)\"object\"==typeof t&&(t.#i=this);this.#l=void 0}#b(t){const e=dt.get(this.type);return!!e?.has(t)}#v(t){if(!t||\"object\"!=typeof t||null!==t.type||1!==t.#r.length||null===this.type||1!==this.#r.length)return!1;const e=t.#r[0];return!(!e||\"object\"!=typeof e||null===e.type)&&this.#b(e.type)}#w(t){const e=dt.get(this.type),n=t.#r[0],r=e?.get(n.type);if(!r)return!1;this.#r=n.#r;for(const t of this.#r)\"object\"==typeof t&&(t.#i=this);this.type=r,this.#l=void 0,this.#u=!1}#x(){if(ut(this)){let t=0,e=!1;do{e=!0;for(let t=0;t<this.#r.length;t++){const n=this.#r[t];\"object\"==typeof n&&(n.#x(),this.#g(n)?(e=!1,this.#y(n,t)):this.#d(n)?(e=!1,this.#m(n,t)):this.#v(n)&&(e=!1,this.#w(n)))}}while(!e&&++t<10)}else for(const t of this.#r)\"object\"==typeof t&&t.#x();this.#l=void 0}static fromGlob(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=new at(null,void 0,e);return at.#p(t,n,0,e,0),n}toMMPattern(){if(this!==this.#t)return this.#t.toMMPattern();const t=this.toString(),[e,n,r,i]=this.toRegExpSource();if(!(r||this.#e||this.#h.nocase&&!this.#h.nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return n;const s=(this.#h.nocase?\"i\":\"\")+(i?\"u\":\"\");return Object.assign(new RegExp(`^${e}$`,s),{_src:e,_glob:t})}get options(){return this.#h}toRegExpSource(t){const e=t??!!this.#h.dot;if(this.#t===this&&(this.#x(),this.#c()),!ut(this)){const n=this.isStart()&&this.isEnd(),r=this.#r.map((e=>{const[r,i,s,o]=\"string\"==typeof e?at.#N(e,this.#e,n):e.toRegExpSource(t);return this.#e=this.#e||s,this.#n=this.#n||o,r})).join(\"\");let i=\"\";if(this.isStart()&&\"string\"==typeof this.#r[0]&&(1!==this.#r.length||!yt.has(this.#r[0]))){const n=mt,s=e&&n.has(r.charAt(0))||r.startsWith(\"\\\\.\")&&n.has(r.charAt(2))||r.startsWith(\"\\\\.\\\\.\")&&n.has(r.charAt(4)),o=!e&&!t&&n.has(r.charAt(0));i=s?\"(?!(?:^|/)\\\\.\\\\.?(?:$|/))\":o?gt:\"\"}let s=\"\";return this.isEnd()&&this.#t.#a&&\"!\"===this.#i?.type&&(s=\"(?:$|\\\\/)\"),[i+r+s,ot(r),this.#e=!!this.#e,this.#n]}const n=\"*\"===this.type||\"+\"===this.type,r=\"!\"===this.type?\"(?:(?!(?:\":\"(?:\";let i=this.#E(e);if(this.isStart()&&this.isEnd()&&!i&&\"!\"!==this.type){const t=this.toString(),e=this;return e.#r=[t],e.type=null,e.#e=void 0,[t,ot(this.toString()),!1,!1]}let s=!n||t||e?\"\":this.#E(!0);s===i&&(s=\"\"),s&&(i=`(?:${i})(?:${s})*?`);let o=\"\";return o=\"!\"===this.type&&this.#u?(this.isStart()&&!e?gt:\"\")+xt:r+i+(\"!\"===this.type?\"))\"+(!this.isStart()||e||t?\"\":gt)+wt+\")\":\"@\"===this.type?\")\":\"?\"===this.type?\")?\":\"+\"===this.type&&s?\")\":\"*\"===this.type&&s?\")?\":`)${this.type}`),[o,ot(i),this.#e=!!this.#e,this.#n]}#E(t){return this.#r.map((e=>{if(\"string\"==typeof e)throw new Error(\"string type in extglob ast??\");const[n,r,i,s]=e.toRegExpSource(t);return this.#n=this.#n||s,n})).filter((t=>!(this.isStart()&&this.isEnd()&&!t))).join(\"|\")}static#N(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1,i=\"\",s=!1,o=!1;for(let a=0;a<t.length;a++){const h=t.charAt(a);if(r)r=!1,i+=(bt.has(h)?\"\\\\\":\"\")+h,o=!1;else if(\"\\\\\"!==h){if(\"[\"===h){const[n,r,h,l]=st(t,a);if(h){i+=n,s=s||r,a+=h-1,e=e||l,o=!1;continue}}if(\"*\"!==h)o=!1,\"?\"!==h?i+=h.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):(i+=vt,e=!0);else{if(o)continue;o=!0,i+=n&&/^[*]+$/.test(t)?xt:wt,e=!0}}else a===t.length-1?i+=\"\\\\\\\\\":r=!0}return[i,ot(t),!!e,s]}}at=Nt;const Et=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return et(e),!(!n.nocomment&&\"#\"===e.charAt(0))&&new Xt(e,n).match(t)},At=/^\\*+([^+@!?\\*\\[\\(]*)$/,St=t=>e=>!e.startsWith(\".\")&&e.endsWith(t),Pt=t=>e=>e.endsWith(t),Tt=t=>(t=t.toLowerCase(),e=>!e.startsWith(\".\")&&e.toLowerCase().endsWith(t)),Ot=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),Ct=/^\\*+\\.\\*+$/,_t=t=>!t.startsWith(\".\")&&t.includes(\".\"),$t=t=>\".\"!==t&&\"..\"!==t&&t.includes(\".\"),jt=/^\\.\\*+$/,It=t=>\".\"!==t&&\"..\"!==t&&t.startsWith(\".\"),Mt=/^\\*+$/,Rt=t=>0!==t.length&&!t.startsWith(\".\"),kt=t=>0!==t.length&&\".\"!==t&&\"..\"!==t,Lt=/^\\?+([^+@!?\\*\\[\\(]*)?$/,Dt=t=>{let[e,n=\"\"]=t;const r=Wt([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},Ut=t=>{let[e,n=\"\"]=t;const r=Bt([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},Ft=t=>{let[e,n=\"\"]=t;const r=Bt([e]);return n?t=>r(t)&&t.endsWith(n):r},Vt=t=>{let[e,n=\"\"]=t;const r=Wt([e]);return n?t=>r(t)&&t.endsWith(n):r},Wt=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&!t.startsWith(\".\")},Bt=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&\".\"!==t&&\"..\"!==t},Gt=\"object\"==typeof process&&process?\"object\"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:\"posix\";Et.sep=\"win32\"===Gt?\"\\\\\":\"/\";const zt=Symbol(\"globstar **\");Et.GLOBSTAR=zt,Et.filter=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n=>Et(n,t,e)};const qt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({},t,e)};Et.defaults=t=>{if(!t||\"object\"!=typeof t||!Object.keys(t).length)return Et;const e=Et;return Object.assign((function(n,r){return e(n,r,qt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}),{Minimatch:class extends e.Minimatch{constructor(e){super(e,qt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}static defaults(n){return e.defaults(qt(t,n)).Minimatch}},AST:class extends e.AST{constructor(e,n){super(e,n,qt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.AST.fromGlob(n,qt(t,r))}},unescape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.unescape(n,qt(t,r))},escape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.escape(n,qt(t,r))},filter:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.filter(n,qt(t,r))},defaults:n=>e.defaults(qt(t,n)),makeRe:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.makeRe(n,qt(t,r))},braceExpand:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.braceExpand(n,qt(t,r))},match:function(n,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.match(n,r,qt(t,i))},sep:e.sep,GLOBSTAR:zt})};const Ht=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return et(t),e.nobrace||!/\\{(?:(?!\\{).)*\\}/.test(t)?[t]:tt(t)};Et.braceExpand=Ht,Et.makeRe=function(t){return new Xt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).makeRe()},Et.match=function(t,e){const n=new Xt(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return t=t.filter((t=>n.match(t))),n.options.nonull&&!t.length&&t.push(e),t};const Yt=/[?*]|[+@!]\\(.*?\\)|\\[|\\]/;class Xt{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};et(t),e=e||{},this.options=e,this.maxGlobstarRecursion=e.maxGlobstarRecursion??200,this.pattern=t,this.platform=e.platform||Gt,this.isWindows=\"win32\"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\\\/g,\"/\")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(\"string\"!=typeof e)return!0;return!1}debug(){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&\"#\"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(\"\"!==t[0]||\"\"!==t[1]||\"?\"!==t[2]&&Yt.test(t[2])||Yt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t<this.set.length;t++){const e=this.set[t];\"\"===e[0]&&\"\"===e[1]&&\"?\"===this.globParts[t][2]&&\"string\"==typeof e[3]&&/^[a-z]:$/i.test(e[3])&&(e[2]=\"?\")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let e=0;e<t.length;e++)for(let n=0;n<t[e].length;n++)\"**\"===t[e][n]&&(t[e][n]=\"*\");const{optimizationLevel:e=1}=this.options;return e>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf(\"**\",e+1));){let n=e;for(;\"**\"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return\"**\"===e&&\"**\"===n?t:\"..\"===e&&n&&\"..\"!==n&&\".\"!==n&&\"**\"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[\"\"]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;n<t.length-1;n++){const r=t[n];1===n&&\"\"===r&&\"\"===t[0]||\".\"!==r&&\"\"!==r||(e=!0,t.splice(n,1),n--)}\".\"!==t[0]||2!==t.length||\".\"!==t[1]&&\"\"!==t[1]||(e=!0,t.pop())}let n=0;for(;-1!==(n=t.indexOf(\"..\",n+1));){const r=t[n-1];r&&\".\"!==r&&\"..\"!==r&&\"**\"!==r&&(e=!0,t.splice(n-1,2),n-=2)}}while(e);return 0===t.length?[\"\"]:t}firstPhasePreProcess(t){let e=!1;do{e=!1;for(let n of t){let r=-1;for(;-1!==(r=n.indexOf(\"**\",r+1));){let i=r;for(;\"**\"===n[i+1];)i++;i>r&&n.splice(r+1,i-r);let s=n[r+1];const o=n[r+2],a=n[r+3];if(\"..\"!==s)continue;if(!o||\".\"===o||\"..\"===o||!a||\".\"===a||\"..\"===a)continue;e=!0,n.splice(r,1);const h=n.slice(0);h[r]=\"**\",t.push(h),r--}if(!this.preserveMultipleSlashes){for(let t=1;t<n.length-1;t++){const r=n[t];1===t&&\"\"===r&&\"\"===n[0]||\".\"!==r&&\"\"!==r||(e=!0,n.splice(t,1),t--)}\".\"!==n[0]||2!==n.length||\".\"!==n[1]&&\"\"!==n[1]||(e=!0,n.pop())}let i=0;for(;-1!==(i=n.indexOf(\"..\",i+1));){const t=n[i-1];if(t&&\".\"!==t&&\"..\"!==t&&\"**\"!==t){e=!0;const t=1===i&&\"**\"===n[i+1]?[\".\"]:[];n.splice(i-1,2,...t),0===n.length&&n.push(\"\"),i-=2}}}}while(e);return t}secondPhasePreProcess(t){for(let e=0;e<t.length-1;e++)for(let n=e+1;n<t.length;n++){const r=this.partsMatch(t[e],t[n],!this.preserveMultipleSlashes);if(r){t[e]=[],t[n]=r;break}}return t.filter((t=>t.length))}partsMatch(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0,i=0,s=[],o=\"\";for(;r<t.length&&i<e.length;)if(t[r]===e[i])s.push(\"b\"===o?e[i]:t[r]),r++,i++;else if(n&&\"**\"===t[r]&&e[i]===t[r+1])s.push(t[r]),r++;else if(n&&\"**\"===e[i]&&t[r]===e[i+1])s.push(e[i]),i++;else if(\"*\"!==t[r]||!e[i]||!this.options.dot&&e[i].startsWith(\".\")||\"**\"===e[i]){if(\"*\"!==e[i]||!t[r]||!this.options.dot&&t[r].startsWith(\".\")||\"**\"===t[r])return!1;if(\"a\"===o)return!1;o=\"b\",s.push(e[i]),r++,i++}else{if(\"b\"===o)return!1;o=\"a\",s.push(t[r]),r++,i++}return t.length===e.length&&s}parseNegate(){if(this.nonegate)return;const t=this.pattern;let e=!1,n=0;for(let r=0;r<t.length&&\"!\"===t.charAt(r);r++)e=!e,n++;n&&(this.pattern=t.slice(n)),this.negate=e}matchOne(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0,i=0;if(this.isWindows){const n=\"string\"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),s=!n&&\"\"===t[0]&&\"\"===t[1]&&\"?\"===t[2]&&/^[a-z]:$/i.test(t[3]),o=\"string\"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),a=s?3:n?0:void 0,h=!o&&\"\"===e[0]&&\"\"===e[1]&&\"?\"===e[2]&&\"string\"==typeof e[3]&&/^[a-z]:$/i.test(e[3])?3:o?0:void 0;if(\"number\"==typeof a&&\"number\"==typeof h){const[n,s]=[t[a],e[h]];n.toLowerCase()===s.toLowerCase()&&(e[h]=n,i=h,r=a)}}const{optimizationLevel:s=1}=this.options;return s>=2&&(t=this.levelTwoFileOptimize(t)),e.includes(zt)?this.#A(t,e,n,r,i):this.#S(t,e,n,r,i)}#A(t,e,n,r,i){const s=e.indexOf(zt,i),o=e.lastIndexOf(zt),[a,h,l]=n?[e.slice(i,s),e.slice(s+1),[]]:[e.slice(i,s),e.slice(s+1,o),e.slice(o+1)];if(a.length){const e=t.slice(r,r+a.length);if(!this.#S(e,a,n,0,0))return!1;r+=a.length}let u=0;if(l.length){if(l.length+r>t.length)return!1;let e=t.length-l.length;if(this.#S(t,l,n,e,0))u=l.length;else{if(\"\"!==t[t.length-1]||r+l.length===t.length)return!1;if(e--,!this.#S(t,l,n,e,0))return!1;u=l.length+1}}if(!h.length){let e=!!u;for(let n=r;n<t.length-u;n++){const r=String(t[n]);if(e=!0,\".\"===r||\"..\"===r||!this.options.dot&&r.startsWith(\".\"))return!1}return n||e}const c=[[[],0]];let p=c[0],f=0;const d=[0];for(const t of h)t===zt?(d.push(f),p=[[],0],c.push(p)):(p[0].push(t),f++);let g=c.length-1;const m=t.length-u;for(const t of c)t[1]=m-(d[g--]+t[0].length);return!!this.#P(t,c,r,0,n,0,!!u)}#P(t,e,n,r,i,s,o){const a=e[r];if(!a){for(let e=n;e<t.length;e++){o=!0;const n=t[e];if(\".\"===n||\"..\"===n||!this.options.dot&&n.startsWith(\".\"))return!1}return o}const[h,l]=a;for(;n<=l;){if(this.#S(t.slice(0,n+h.length),h,i,n,0)&&s<this.maxGlobstarRecursion){const a=this.#P(t,e,n+h.length,r+1,i,s+1,o);if(!1!==a)return a}const a=t[n];if(\".\"===a||\"..\"===a||!this.options.dot&&a.startsWith(\".\"))return!1;n++}return i||null}#S(t,e,n,r,i){let s,o,a,h;for(s=r,o=i,h=t.length,a=e.length;s<h&&o<a;s++,o++){this.debug(\"matchOne loop\");let n,r=e[o],i=t[s];if(this.debug(e,r,i),!1===r||r===zt)return!1;if(\"string\"==typeof r?(n=i===r,this.debug(\"string match\",r,i,n)):(n=r.test(i),this.debug(\"pattern match\",r,i,n)),!n)return!1}if(s===h&&o===a)return!0;if(s===h)return n;if(o===a)return s===h-1&&\"\"===t[s];throw new Error(\"wtf?\")}braceExpand(){return Ht(this.pattern,this.options)}parse(t){et(t);const e=this.options;if(\"**\"===t)return zt;if(\"\"===t)return\"\";let n,r=null;(n=t.match(Mt))?r=e.dot?kt:Rt:(n=t.match(At))?r=(e.nocase?e.dot?Ot:Tt:e.dot?Pt:St)(n[1]):(n=t.match(Lt))?r=(e.nocase?e.dot?Ut:Dt:e.dot?Ft:Vt)(n):(n=t.match(Ct))?r=e.dot?$t:_t:(n=t.match(jt))&&(r=It);const i=Nt.fromGlob(t,this.options).toMMPattern();return r&&\"object\"==typeof i&&Reflect.defineProperty(i,\"test\",{value:r}),i}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const e=this.options,n=e.noglobstar?\"[^/]*?\":e.dot?\"(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?\":\"(?:(?!(?:\\\\/|^)\\\\.).)*?\",r=new Set(e.nocase?[\"i\"]:[]);let i=t.map((t=>{const e=t.map((t=>{if(t instanceof RegExp)for(const e of t.flags.split(\"\"))r.add(e);return\"string\"==typeof t?t.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):t===zt?zt:t._src}));return e.forEach(((t,r)=>{const i=e[r+1],s=e[r-1];t===zt&&s!==zt&&(void 0===s?void 0!==i&&i!==zt?e[r+1]=\"(?:\\\\/|\"+n+\"\\\\/)?\"+i:e[r]=n:void 0===i?e[r-1]=s+\"(?:\\\\/|\"+n+\")?\":i!==zt&&(e[r-1]=s+\"(?:\\\\/|\\\\/\"+n+\"\\\\/)\"+i,e[r+1]=zt))})),e.filter((t=>t!==zt)).join(\"/\")})).join(\"|\");const[s,o]=t.length>1?[\"(?:\",\")\"]:[\"\",\"\"];i=\"^\"+s+i+o+\"$\",this.negate&&(i=\"^(?!\"+i+\").+$\");try{this.regexp=new RegExp(i,[...r].join(\"\"))}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split(\"/\"):this.isWindows&&/^\\/\\/[^\\/]+/.test(t)?[\"\",...t.split(/\\/+/)]:t.split(/\\/+/)}match(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.partial;if(this.debug(\"match\",t,this.pattern),this.comment)return!1;if(this.empty)return\"\"===t;if(\"/\"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split(\"\\\\\").join(\"/\"));const r=this.slashSplit(t);this.debug(this.pattern,\"split\",r);const i=this.set;this.debug(this.pattern,\"set\",i);let s=r[r.length-1];if(!s)for(let t=r.length-2;!s&&t>=0;t--)s=r[t];for(let t=0;t<i.length;t++){const o=i[t];let a=r;if(n.matchBase&&1===o.length&&(a=[s]),this.matchOne(a,o,e))return!!n.flipNegate||!this.negate}return!n.flipNegate&&this.negate}static defaults(t){return Et.defaults(t).Minimatch}}function Zt(t){const e=new Error(`${arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\"}Invalid response: ${t.status} ${t.statusText}`);return e.status=t.status,e.response=t,e}function Jt(t,e){const{status:n}=e;if(401===n&&t.digest)return e;if(n>=400)throw Zt(e);return e}function Kt(t,e){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?{data:e,headers:t.headers?V(t.headers):{},status:t.status,statusText:t.statusText}:e}Et.AST=Nt,Et.Minimatch=Xt,Et.escape=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/[?*()[\\]]/g,\"[$&]\"):t.replace(/[?*()[\\]\\\\]/g,\"\\\\$&\")},Et.unescape=ot;const Qt=(te=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=K({url:m(t.remoteURL,p(e)),method:\"COPY\",headers:{Destination:m(t.remoteURL,p(n)),Overwrite:!1===r.overwrite?\"F\":\"T\",Depth:r.shallow?\"0\":\"infinity\"}},t,r);return o=function(e){Jt(t,e)},(s=J(i,t))&&s.then||(s=Promise.resolve(s)),o?s.then(o):s;var s,o},function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];try{return Promise.resolve(te.apply(this,t))}catch(t){return Promise.reject(t)}});var te;const ee=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",ne=new RegExp(\"^[\"+ee+\"][\"+ee+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\");function re(t,e){const n=[];let r=e.exec(t);for(;r;){const i=[];i.startIndex=e.lastIndex-r[0].length;const s=r.length;for(let t=0;t<s;t++)i.push(r[t]);n.push(i),r=e.exec(t)}return n}const ie=function(t){return!(null==ne.exec(t))},se=[\"hasOwnProperty\",\"toString\",\"valueOf\",\"__defineGetter__\",\"__defineSetter__\",\"__lookupGetter__\",\"__lookupSetter__\"],oe=[\"__proto__\",\"constructor\",\"prototype\"],ae=t=>se.includes(t)?\"__\"+t:t,he={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:ae};function le(t,e){if(\"string\"!=typeof t)return;const n=t.toLowerCase();if(se.some((t=>n===t.toLowerCase())))throw new Error(`[SECURITY] Invalid ${e}: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`);if(oe.some((t=>n===t.toLowerCase())))throw new Error(`[SECURITY] Invalid ${e}: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`)}function ue(t,e){return\"boolean\"==typeof t?{enabled:t,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:\"all\"}:\"object\"==typeof t&&null!==t?{enabled:!1!==t.enabled,maxEntitySize:Math.max(1,t.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,t.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,t.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,t.maxExpandedLength??1e5),maxEntityCount:Math.max(1,t.maxEntityCount??1e3),allowedTags:t.allowedTags??null,tagFilter:t.tagFilter??null,appliesTo:t.appliesTo??\"all\"}:ue(!0)}const ce=function(t){const e=Object.assign({},he,t),n=[{value:e.attributeNamePrefix,name:\"attributeNamePrefix\"},{value:e.attributesGroupName,name:\"attributesGroupName\"},{value:e.textNodeName,name:\"textNodeName\"},{value:e.cdataPropName,name:\"cdataPropName\"},{value:e.commentPropName,name:\"commentPropName\"}];for(const{value:t,name:e}of n)t&&le(t,e);return null===e.onDangerousProperty&&(e.onDangerousProperty=ae),e.processEntities=ue(e.processEntities,e.htmlEntities),e.unpairedTagsSet=new Set(e.unpairedTags),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map((t=>\"string\"==typeof t&&t.startsWith(\"*.\")?\"..\"+t.substring(2):t))),e};let pe;pe=\"function\"!=typeof Symbol?\"@@xmlMetadata\":Symbol(\"XML Node Metadata\");class fe{constructor(t){this.tagname=t,this.child=[],this[\":@\"]=Object.create(null)}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t,e){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child}),void 0!==e&&(this.child[this.child.length-1][pe]={startIndex:e})}static getMetaDataSymbol(){return pe}}class de{constructor(t){this.suppressValidationErr=!t,this.options=t}readDocType(t,e){const n=Object.create(null);let r=0;if(\"O\"!==t[e+3]||\"C\"!==t[e+4]||\"T\"!==t[e+5]||\"Y\"!==t[e+6]||\"P\"!==t[e+7]||\"E\"!==t[e+8])throw new Error(\"Invalid Tag instead of DOCTYPE\");{e+=9;let i=1,s=!1,o=!1,a=\"\";for(;e<t.length;e++)if(\"<\"!==t[e]||o)if(\">\"===t[e]){if(o?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(o=!1,i--):i--,0===i)break}else\"[\"===t[e]?s=!0:a+=t[e];else{if(s&&me(t,\"!ENTITY\",e)){let i,s;if(e+=7,[i,s,e]=this.readEntityExp(t,e+1,this.suppressValidationErr),-1===s.indexOf(\"&\")){if(!1!==this.options.enabled&&null!=this.options.maxEntityCount&&r>=this.options.maxEntityCount)throw new Error(`Entity count (${r+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);n[i]=s,r++}}else if(s&&me(t,\"!ELEMENT\",e)){e+=8;const{index:n}=this.readElementExp(t,e+1);e=n}else if(s&&me(t,\"!ATTLIST\",e))e+=8;else if(s&&me(t,\"!NOTATION\",e)){e+=9;const{index:n}=this.readNotationExp(t,e+1,this.suppressValidationErr);e=n}else{if(!me(t,\"!--\",e))throw new Error(\"Invalid DOCTYPE\");o=!0}i++,a=\"\"}if(0!==i)throw new Error(\"Unclosed DOCTYPE\")}return{entities:n,i:e}}readEntityExp(t,e){const n=e=ge(t,e);for(;e<t.length&&!/\\s/.test(t[e])&&'\"'!==t[e]&&\"'\"!==t[e];)e++;let r=t.substring(n,e);if(ye(r),e=ge(t,e),!this.suppressValidationErr){if(\"SYSTEM\"===t.substring(e,e+6).toUpperCase())throw new Error(\"External entities are not supported\");if(\"%\"===t[e])throw new Error(\"Parameter entities are not supported\")}let i=\"\";if([e,i]=this.readIdentifierVal(t,e,\"entity\"),!1!==this.options.enabled&&null!=this.options.maxEntitySize&&i.length>this.options.maxEntitySize)throw new Error(`Entity \"${r}\" size (${i.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[r,i,--e]}readNotationExp(t,e){const n=e=ge(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let r=t.substring(n,e);!this.suppressValidationErr&&ye(r),e=ge(t,e);const i=t.substring(e,e+6).toUpperCase();if(!this.suppressValidationErr&&\"SYSTEM\"!==i&&\"PUBLIC\"!==i)throw new Error(`Expected SYSTEM or PUBLIC, found \"${i}\"`);e+=i.length,e=ge(t,e);let s=null,o=null;if(\"PUBLIC\"===i)[e,s]=this.readIdentifierVal(t,e,\"publicIdentifier\"),'\"'!==t[e=ge(t,e)]&&\"'\"!==t[e]||([e,o]=this.readIdentifierVal(t,e,\"systemIdentifier\"));else if(\"SYSTEM\"===i&&([e,o]=this.readIdentifierVal(t,e,\"systemIdentifier\"),!this.suppressValidationErr&&!o))throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");return{notationName:r,publicIdentifier:s,systemIdentifier:o,index:--e}}readIdentifierVal(t,e,n){let r=\"\";const i=t[e];if('\"'!==i&&\"'\"!==i)throw new Error(`Expected quoted string, found \"${i}\"`);const s=++e;for(;e<t.length&&t[e]!==i;)e++;if(r=t.substring(s,e),t[e]!==i)throw new Error(`Unterminated ${n} value`);return[++e,r]}readElementExp(t,e){const n=e=ge(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let r=t.substring(n,e);if(!this.suppressValidationErr&&!ie(r))throw new Error(`Invalid element name: \"${r}\"`);let i=\"\";if(\"E\"===t[e=ge(t,e)]&&me(t,\"MPTY\",e))e+=4;else if(\"A\"===t[e]&&me(t,\"NY\",e))e+=2;else if(\"(\"===t[e]){const n=++e;for(;e<t.length&&\")\"!==t[e];)e++;if(i=t.substring(n,e),\")\"!==t[e])throw new Error(\"Unterminated content model\")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found \"${t[e]}\"`);return{elementName:r,contentModel:i.trim(),index:e}}readAttlistExp(t,e){let n=e=ge(t,e);for(;e<t.length&&!/\\s/.test(t[e]);)e++;let r=t.substring(n,e);for(ye(r),n=e=ge(t,e);e<t.length&&!/\\s/.test(t[e]);)e++;let i=t.substring(n,e);if(!ye(i))throw new Error(`Invalid attribute name: \"${i}\"`);e=ge(t,e);let s=\"\";if(\"NOTATION\"===t.substring(e,e+8).toUpperCase()){if(s=\"NOTATION\",\"(\"!==t[e=ge(t,e+=8)])throw new Error(`Expected '(', found \"${t[e]}\"`);e++;let n=[];for(;e<t.length&&\")\"!==t[e];){const r=e;for(;e<t.length&&\"|\"!==t[e]&&\")\"!==t[e];)e++;let i=t.substring(r,e);if(i=i.trim(),!ye(i))throw new Error(`Invalid notation name: \"${i}\"`);n.push(i),\"|\"===t[e]&&(e++,e=ge(t,e))}if(\")\"!==t[e])throw new Error(\"Unterminated list of notations\");e++,s+=\" (\"+n.join(\"|\")+\")\"}else{const n=e;for(;e<t.length&&!/\\s/.test(t[e]);)e++;s+=t.substring(n,e);const r=[\"CDATA\",\"ID\",\"IDREF\",\"IDREFS\",\"ENTITY\",\"ENTITIES\",\"NMTOKEN\",\"NMTOKENS\"];if(!this.suppressValidationErr&&!r.includes(s.toUpperCase()))throw new Error(`Invalid attribute type: \"${s}\"`)}e=ge(t,e);let o=\"\";return\"#REQUIRED\"===t.substring(e,e+8).toUpperCase()?(o=\"#REQUIRED\",e+=8):\"#IMPLIED\"===t.substring(e,e+7).toUpperCase()?(o=\"#IMPLIED\",e+=7):[e,o]=this.readIdentifierVal(t,e,\"ATTLIST\"),{elementName:r,attributeName:i,attributeType:s,defaultValue:o,index:e}}}const ge=(t,e)=>{for(;e<t.length&&/\\s/.test(t[e]);)e++;return e};function me(t,e,n){for(let r=0;r<e.length;r++)if(e[r]!==t[n+r+1])return!1;return!0}function ye(t){if(ie(t))return t;throw new Error(`Invalid entity name ${t}`)}const be=/^[-+]?0x[a-fA-F0-9]+$/,ve=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,we={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0,infinity:\"original\"};const xe=/^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;class Ne{constructor(t){this._matcher=t}get separator(){return this._matcher.separator}getCurrentTag(){const t=this._matcher.path;return t.length>0?t[t.length-1].tag:void 0}getCurrentNamespace(){const t=this._matcher.path;return t.length>0?t[t.length-1].namespace:void 0}getAttrValue(t){const e=this._matcher.path;if(0!==e.length)return e[e.length-1].values?.[t]}hasAttr(t){const e=this._matcher.path;if(0===e.length)return!1;const n=e[e.length-1];return void 0!==n.values&&t in n.values}getPosition(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].position??0}getCounter(){const t=this._matcher.path;return 0===t.length?-1:t[t.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._matcher.toString(t,e)}toArray(){return this._matcher.path.map((t=>t.tag))}matches(t){return this._matcher.matches(t)}matchesAny(t){return t.matchesAny(this._matcher)}}class Ee{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.separator=t.separator||\".\",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new Ne(this)}push(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const r=this.path.length;this.siblingStacks[r]||(this.siblingStacks[r]=new Map);const i=this.siblingStacks[r],s=n?`${n}:${t}`:t,o=i.get(s)||0;let a=0;for(const t of i.values())a+=t;i.set(s,o+1);const h={tag:t,position:a,counter:o};null!=n&&(h.namespace=n),null!=e&&(h.values=e),this.path.push(h)}pop(){if(0===this.path.length)return;this._pathStringCache=null;const t=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),t}updateCurrent(t){if(this.path.length>0){const e=this.path[this.path.length-1];null!=t&&(e.values=t)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(t){if(0!==this.path.length)return this.path[this.path.length-1].values?.[t]}hasAttr(t){if(0===this.path.length)return!1;const e=this.path[this.path.length-1];return void 0!==e.values&&t in e.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=t||this.separator;if(n===this.separator&&!0===e){if(null!==this._pathStringCache)return this._pathStringCache;const t=this.path.map((t=>t.namespace?`${t.namespace}:${t.tag}`:t.tag)).join(n);return this._pathStringCache=t,t}return this.path.map((t=>e&&t.namespace?`${t.namespace}:${t.tag}`:t.tag)).join(n)}toArray(){return this.path.map((t=>t.tag))}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[]}matches(t){const e=t.segments;return 0!==e.length&&(t.hasDeepWildcard()?this._matchWithDeepWildcard(e):this._matchSimple(e))}_matchSimple(t){if(this.path.length!==t.length)return!1;for(let e=0;e<t.length;e++)if(!this._matchSegment(t[e],this.path[e],e===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(t){let e=this.path.length-1,n=t.length-1;for(;n>=0&&e>=0;){const r=t[n];if(\"deep-wildcard\"===r.type){if(n--,n<0)return!0;const r=t[n];let i=!1;for(let t=e;t>=0;t--)if(this._matchSegment(r,this.path[t],t===this.path.length-1)){e=t-1,n--,i=!0;break}if(!i)return!1}else{if(!this._matchSegment(r,this.path[e],e===this.path.length-1))return!1;e--,n--}}return n<0}_matchSegment(t,e,n){if(\"*\"!==t.tag&&t.tag!==e.tag)return!1;if(void 0!==t.namespace&&\"*\"!==t.namespace&&t.namespace!==e.namespace)return!1;if(void 0!==t.attrName){if(!n)return!1;if(!e.values||!(t.attrName in e.values))return!1;if(void 0!==t.attrValue&&String(e.values[t.attrName])!==String(t.attrValue))return!1}if(void 0!==t.position){if(!n)return!1;const r=e.counter??0;if(\"first\"===t.position&&0!==r)return!1;if(\"odd\"===t.position&&r%2!=1)return!1;if(\"even\"===t.position&&r%2!=0)return!1;if(\"nth\"===t.position&&r!==t.positionValue)return!1}return!0}matchesAny(t){return t.matchesAny(this)}snapshot(){return{path:this.path.map((t=>({...t}))),siblingStacks:this.siblingStacks.map((t=>new Map(t)))}}restore(t){this._pathStringCache=null,this.path=t.path.map((t=>({...t}))),this.siblingStacks=t.siblingStacks.map((t=>new Map(t)))}readOnly(){return this._view}}class Ae{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;this.pattern=t,this.separator=e.separator||\".\",this.segments=this._parse(t),this.data=n,this._hasDeepWildcard=this.segments.some((t=>\"deep-wildcard\"===t.type)),this._hasAttributeCondition=this.segments.some((t=>void 0!==t.attrName)),this._hasPositionSelector=this.segments.some((t=>void 0!==t.position))}_parse(t){const e=[];let n=0,r=\"\";for(;n<t.length;)t[n]===this.separator?n+1<t.length&&t[n+1]===this.separator?(r.trim()&&(e.push(this._parseSegment(r.trim())),r=\"\"),e.push({type:\"deep-wildcard\"}),n+=2):(r.trim()&&e.push(this._parseSegment(r.trim())),r=\"\",n++):(r+=t[n],n++);return r.trim()&&e.push(this._parseSegment(r.trim())),e}_parseSegment(t){const e={type:\"tag\"};let n=null,r=t;const i=t.match(/^([^\\[]+)(\\[[^\\]]*\\])(.*)$/);if(i&&(r=i[1]+i[3],i[2])){const t=i[2].slice(1,-1);t&&(n=t)}let s,o,a=r;if(r.includes(\"::\")){const e=r.indexOf(\"::\");if(s=r.substring(0,e).trim(),a=r.substring(e+2).trim(),!s)throw new Error(`Invalid namespace in pattern: ${t}`)}let h=null;if(a.includes(\":\")){const t=a.lastIndexOf(\":\"),e=a.substring(0,t).trim(),n=a.substring(t+1).trim();[\"first\",\"last\",\"odd\",\"even\"].includes(n)||/^nth\\(\\d+\\)$/.test(n)?(o=e,h=n):o=a}else o=a;if(!o)throw new Error(`Invalid segment pattern: ${t}`);if(e.tag=o,s&&(e.namespace=s),n)if(n.includes(\"=\")){const t=n.indexOf(\"=\");e.attrName=n.substring(0,t).trim(),e.attrValue=n.substring(t+1).trim()}else e.attrName=n.trim();if(h){const t=h.match(/^nth\\((\\d+)\\)$/);t?(e.position=\"nth\",e.positionValue=parseInt(t[1],10)):e.position=h}return e}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class Se{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._patterns=new Set,this._sealed=!1}add(t){if(this._sealed)throw new TypeError(\"ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.\");if(this._patterns.has(t.pattern))return this;if(this._patterns.add(t.pattern),t.hasDeepWildcard())return this._deepWildcards.push(t),this;const e=t.length,n=t.segments[t.segments.length-1],r=n?.tag;if(r&&\"*\"!==r){const n=`${e}:${r}`;this._byDepthAndTag.has(n)||this._byDepthAndTag.set(n,[]),this._byDepthAndTag.get(n).push(t)}else this._wildcardByDepth.has(e)||this._wildcardByDepth.set(e,[]),this._wildcardByDepth.get(e).push(t);return this}addAll(t){for(const e of t)this.add(e);return this}has(t){return this._patterns.has(t.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(t){return null!==this.findMatch(t)}findMatch(t){const e=t.getDepth(),n=`${e}:${t.getCurrentTag()}`,r=this._byDepthAndTag.get(n);if(r)for(let e=0;e<r.length;e++)if(t.matches(r[e]))return r[e];const i=this._wildcardByDepth.get(e);if(i)for(let e=0;e<i.length;e++)if(t.matches(i[e]))return i[e];for(let e=0;e<this._deepWildcards.length;e++)if(t.matches(this._deepWildcards[e]))return this._deepWildcards[e];return null}}const Pe={cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",euro:\"€\",dollar:\"$\",euro:\"€\",fnof:\"ƒ\",inr:\"₹\",af:\"؋\",birr:\"ብር\",peso:\"₱\",rub:\"₽\",won:\"₩\",yuan:\"¥\",cedil:\"¸\"},Te={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",quot:'\"'},Oe={nbsp:\" \",copy:\"©\",reg:\"®\",trade:\"™\",mdash:\"—\",ndash:\"–\",hellip:\"…\",laquo:\"«\",raquo:\"»\",lsquo:\"‘\",rsquo:\"’\",ldquo:\"“\",rdquo:\"”\",bull:\"•\",para:\"¶\",sect:\"§\",deg:\"°\",frac12:\"½\",frac14:\"¼\",frac34:\"¾\"},Ce=new Set(\"!?\\\\\\\\/[]$%{}^&*()<>|+\");function _e(t){if(\"#\"===t[0])throw new Error(`[EntityReplacer] Invalid character '#' in entity name: \"${t}\"`);for(const e of t)if(Ce.has(e))throw new Error(`[EntityReplacer] Invalid character '${e}' in entity name: \"${t}\"`);return t}function $e(){const t=Object.create(null);for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];for(const e of n)if(e)for(const n of Object.keys(e)){const r=e[n];if(\"string\"==typeof r)t[n]=r;else if(r&&\"object\"==typeof r&&void 0!==r.val){const e=r.val;\"string\"==typeof e&&(t[n]=e)}}return t}const je=\"external\",Ie=\"base\",Me=\"all\",Re=Object.freeze({allow:0,leave:1,remove:2,throw:3}),ke=new Set([9,10,13]);class Le{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var e;this._limit=t.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck=\"function\"==typeof t.postCheck?t.postCheck:t=>t,this._limitTiers=(e=this._limit.applyLimitsTo??je)&&e!==je?e===Me?new Set([Me]):e===Ie?new Set([Ie]):Array.isArray(e)?new Set(e):new Set([je]):new Set([je]),this._numericAllowed=t.numericAllowed??!0,this._baseMap=$e(Te,t.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(t.remove&&Array.isArray(t.remove)?t.remove:[]),this._leaveSet=new Set(t.leave&&Array.isArray(t.leave)?t.leave:[]);const n=function(t){if(!t)return{xmlVersion:1,onLevel:Re.allow,nullLevel:Re.remove};const e=1.1===t.xmlVersion?1.1:1,n=Re[t.onNCR]??Re.allow,r=Re[t.nullNCR]??Re.remove;return{xmlVersion:e,onLevel:n,nullLevel:Math.max(r,Re.remove)}}(t.ncr);this._ncrXmlVersion=n.xmlVersion,this._ncrOnLevel=n.onLevel,this._ncrNullLevel=n.nullLevel}setExternalEntities(t){if(t)for(const e of Object.keys(t))_e(e);this._externalMap=$e(t)}addExternalEntity(t,e){_e(t),\"string\"==typeof e&&-1===e.indexOf(\"&\")&&(this._externalMap[t]=e)}addInputEntities(t){this._totalExpansions=0,this._expandedLength=0,this._inputMap=$e(t)}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(t){this._ncrXmlVersion=1.1===t?1.1:1}decode(t){if(\"string\"!=typeof t||0===t.length)return t;const e=t,n=[],r=t.length;let i=0,s=0;const o=this._maxTotalExpansions>0,a=this._maxExpandedLength>0,h=o||a;for(;s<r;){if(38!==t.charCodeAt(s)){s++;continue}let e=s+1;for(;e<r&&59!==t.charCodeAt(e)&&e-s<=32;)e++;if(e>=r||59!==t.charCodeAt(e)){s++;continue}const l=t.slice(s+1,e);if(0===l.length){s++;continue}let u,c;if(this._removeSet.has(l))u=\"\",void 0===c&&(c=je);else{if(this._leaveSet.has(l)){s++;continue}if(35===l.charCodeAt(0)){const t=this._resolveNCR(l);if(void 0===t){s++;continue}u=t,c=Ie}else{const t=this._resolveName(l);u=t?.value,c=t?.tier}}if(void 0!==u){if(s>i&&n.push(t.slice(i,s)),n.push(u),i=e+1,s=i,h&&this._tierCounts(c)){if(o&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(a){const t=u.length-(l.length+2);if(t>0&&(this._expandedLength+=t,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}else s++}i<r&&n.push(t.slice(i));const l=0===n.length?t:n.join(\"\");return this._postCheck(l,e)}_tierCounts(t){return!!this._limitTiers.has(Me)||this._limitTiers.has(t)}_resolveName(t){return t in this._inputMap?{value:this._inputMap[t],tier:je}:t in this._externalMap?{value:this._externalMap[t],tier:je}:t in this._baseMap?{value:this._baseMap[t],tier:Ie}:void 0}_classifyNCR(t){return 0===t?this._ncrNullLevel:t>=55296&&t<=57343||1===this._ncrXmlVersion&&t>=1&&t<=31&&!ke.has(t)?Re.remove:-1}_applyNCRAction(t,e,n){switch(t){case Re.allow:return String.fromCodePoint(n);case Re.remove:return\"\";case Re.leave:return;case Re.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${e}; (U+${n.toString(16).toUpperCase().padStart(4,\"0\")})`);default:return String.fromCodePoint(n)}}_resolveNCR(t){const e=t.charCodeAt(1);let n;if(n=120===e||88===e?parseInt(t.slice(2),16):parseInt(t.slice(1),10),Number.isNaN(n)||n<0||n>1114111)return;const r=this._classifyNCR(n);if(!this._numericAllowed&&r<Re.remove)return;const i=-1===r?this._ncrOnLevel:Math.max(this._ncrOnLevel,r);return this._applyNCRAction(i,t,n)}}function De(t,e){if(!t)return{};const n=e.attributesGroupName?t[e.attributesGroupName]:t;if(!n)return{};const r={};for(const t in n)t.startsWith(e.attributeNamePrefix)?r[t.substring(e.attributeNamePrefix.length)]=n[t]:r[t]=n[t];return r}function Ue(t){if(!t||\"string\"!=typeof t)return;const e=t.indexOf(\":\");if(-1!==e&&e>0){const n=t.substring(0,e);if(\"xmlns\"!==n)return n}}class Fe{constructor(t,e){var n;this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=ze,this.parseTextData=Ve,this.resolveNameSpace=We,this.buildAttributesMap=Ge,this.isItStopNode=Xe,this.replaceEntitiesValue=He,this.readStopNodeData=Qe,this.saveTextToParentTag=Ye,this.addChild=qe,this.ignoreAttributesFn=\"function\"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?t=>{for(const e of n){if(\"string\"==typeof e&&t===e)return!0;if(e instanceof RegExp&&e.test(t))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0;let r={...Te};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:(\"object\"==typeof this.options.htmlEntities?r=this.options.htmlEntities:!0===this.options.htmlEntities&&(r={...Oe,...Pe}),this.entityDecoder=new Le({namedEntities:{...r,...e},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo}})),this.matcher=new Ee,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new Se;const i=this.options.stopNodes;if(i&&i.length>0){for(let t=0;t<i.length;t++){const e=i[t];\"string\"==typeof e?this.stopNodeExpressionsSet.add(new Ae(e)):e instanceof Ae&&this.stopNodeExpressionsSet.add(e)}this.stopNodeExpressionsSet.seal()}}}function Ve(t,e,n,r,i,s,o){const a=this.options;if(void 0!==t&&(a.trimValues&&!r&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t,e,n));const r=a.jPath?n.toString():n,h=a.tagValueProcessor(e,t,r,i,s);return null==h?t:typeof h!=typeof t||h!==t?h:a.trimValues||t.trim()===t?tn(t,a.parseTagValue,a.numberParseOptions):t}}function We(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),n=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=n+e[1])}return t}const Be=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function Ge(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=this.options;if(!0===r||!0!==i.ignoreAttributes&&\"string\"==typeof t){const r=re(t,Be),s=r.length,o={},a=new Array(s);let h=!1;const l={};for(let t=0;t<s;t++){const e=this.resolveNameSpace(r[t][1]),s=r[t][4];if(e.length&&void 0!==s){let r=s;i.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r,n,this.readonlyMatcher),a[t]=r,l[e]=r,h=!0}}h&&\"object\"==typeof e&&e.updateCurrent&&e.updateCurrent(l);const u=i.jPath?e.toString():this.readonlyMatcher;let c=!1;for(let t=0;t<s;t++){const e=this.resolveNameSpace(r[t][1]);if(this.ignoreAttributesFn(e,u))continue;let n=i.attributeNamePrefix+e;if(e.length)if(i.transformAttributeName&&(n=i.transformAttributeName(n)),n=nn(n,i),void 0!==r[t][4]){const r=a[t],s=i.attributeValueProcessor(e,r,u);o[n]=null==s?r:typeof s!=typeof r||s!==r?s:tn(r,i.parseAttributeValue,i.numberParseOptions),c=!0}else i.allowBooleanAttributes&&(o[n]=!0,c=!0)}if(!c)return;if(i.attributesGroupName&&!i.preserveOrder){const t={};return t[i.attributesGroupName]=o,t}return o}}const ze=function(t){t=t.replace(/\\r\\n?/g,\"\\n\");const e=new fe(\"!xml\");let n=e,r=\"\";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;const i=this.options,s=new de(i.processEntities),o=t.length;for(let a=0;a<o;a++)if(\"<\"===t[a]){const h=t.charCodeAt(a+1);if(47===h){const e=Ze(t,\">\",a,\"Closing Tag is not closed.\");let s=t.substring(a+2,e).trim();if(i.removeNSPrefix){const t=s.indexOf(\":\");-1!==t&&(s=s.substr(t+1))}s=en(i.transformTagName,s,\"\",i).tagName,n&&(r=this.saveTextToParentTag(r,n,this.readonlyMatcher));const o=this.matcher.getCurrentTag();if(s&&i.unpairedTagsSet.has(s))throw new Error(`Unpaired tag can not be used as closing tag: </${s}>`);o&&i.unpairedTagsSet.has(o)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,n=this.tagsNodeStack.pop(),r=\"\",a=e}else if(63===h){let e=Ke(t,a,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");r=this.saveTextToParentTag(r,n,this.readonlyMatcher);const s=this.buildAttributesMap(e.tagExp,this.matcher,e.tagName,!0);if(s){const t=s[this.options.attributeNamePrefix+\"version\"];this.entityDecoder.setXmlVersion(Number(t)||1)}if(i.ignoreDeclaration&&\"?xml\"===e.tagName||i.ignorePiTags);else{const t=new fe(e.tagName);t.add(i.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&!0!==i.ignoreAttributes&&(t[\":@\"]=s),this.addChild(n,t,this.readonlyMatcher,a)}a=e.closeIndex+1}else if(33===h&&45===t.charCodeAt(a+2)&&45===t.charCodeAt(a+3)){const e=Ze(t,\"--\\x3e\",a+4,\"Comment is not closed.\");if(i.commentPropName){const s=t.substring(a+4,e-2);r=this.saveTextToParentTag(r,n,this.readonlyMatcher),n.add(i.commentPropName,[{[i.textNodeName]:s}])}a=e}else if(33===h&&68===t.charCodeAt(a+2)){const e=s.readDocType(t,a);this.entityDecoder.addInputEntities(e.entities),a=e.i}else if(33===h&&91===t.charCodeAt(a+2)){const e=Ze(t,\"]]>\",a,\"CDATA is not closed.\")-2,s=t.substring(a+9,e);r=this.saveTextToParentTag(r,n,this.readonlyMatcher);let o=this.parseTextData(s,n.tagname,this.readonlyMatcher,!0,!1,!0,!0);null==o&&(o=\"\"),i.cdataPropName?n.add(i.cdataPropName,[{[i.textNodeName]:s}]):n.add(i.textNodeName,o),a=e+2}else{let s=Ke(t,a,i.removeNSPrefix);if(!s){const e=t.substring(Math.max(0,a-50),Math.min(o,a+50));throw new Error(`readTagExp returned undefined at position ${a}. Context: \"${e}\"`)}let h=s.tagName;const l=s.rawTagName;let u=s.tagExp,c=s.attrExpPresent,p=s.closeIndex;if(({tagName:h,tagExp:u}=en(i.transformTagName,h,u,i)),i.strictReservedNames&&(h===i.commentPropName||h===i.cdataPropName||h===i.textNodeName||h===i.attributesGroupName))throw new Error(`Invalid tag name: ${h}`);n&&r&&\"!xml\"!==n.tagname&&(r=this.saveTextToParentTag(r,n,this.readonlyMatcher,!1));const f=n;f&&i.unpairedTagsSet.has(f.tagname)&&(n=this.tagsNodeStack.pop(),this.matcher.pop());let d=!1;u.length>0&&u.lastIndexOf(\"/\")===u.length-1&&(d=!0,\"/\"===h[h.length-1]?(h=h.substr(0,h.length-1),u=h):u=u.substr(0,u.length-1),c=h!==u);let g,m=null,y={};g=Ue(l),h!==e.tagname&&this.matcher.push(h,{},g),h!==u&&c&&(m=this.buildAttributesMap(u,this.matcher,h),m&&(y=De(m,i))),h!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());const b=a;if(this.isCurrentNodeStopNode){let e=\"\";if(d)a=s.closeIndex;else if(i.unpairedTagsSet.has(h))a=s.closeIndex;else{const n=this.readStopNodeData(t,l,p+1);if(!n)throw new Error(`Unexpected end of ${l}`);a=n.i,e=n.tagContent}const r=new fe(h);m&&(r[\":@\"]=m),r.add(i.textNodeName,e),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(n,r,this.readonlyMatcher,b)}else{if(d){({tagName:h,tagExp:u}=en(i.transformTagName,h,u,i));const t=new fe(h);m&&(t[\":@\"]=m),this.addChild(n,t,this.readonlyMatcher,b),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else{if(i.unpairedTagsSet.has(h)){const t=new fe(h);m&&(t[\":@\"]=m),this.addChild(n,t,this.readonlyMatcher,b),this.matcher.pop(),this.isCurrentNodeStopNode=!1,a=s.closeIndex;continue}{const t=new fe(h);if(this.tagsNodeStack.length>i.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");this.tagsNodeStack.push(n),m&&(t[\":@\"]=m),this.addChild(n,t,this.readonlyMatcher,b),n=t}}r=\"\",a=p}}}else r+=t[a];return e.child};function qe(t,e,n,r){this.options.captureMetaData||(r=void 0);const i=this.options.jPath?n.toString():n,s=this.options.updateTag(e.tagname,i,e[\":@\"]);!1===s||(\"string\"==typeof s?(e.tagname=s,t.addChild(e,r)):t.addChild(e,r))}function He(t,e,n){const r=this.options.processEntities;if(!r||!r.enabled)return t;if(r.allowedTags){const i=this.options.jPath?n.toString():n;if(!(Array.isArray(r.allowedTags)?r.allowedTags.includes(e):r.allowedTags(e,i)))return t}if(r.tagFilter){const i=this.options.jPath?n.toString():n;if(!r.tagFilter(e,i))return t}return this.entityDecoder.decode(t)}function Ye(t,e,n,r){return t&&(void 0===r&&(r=0===e.child.length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,r))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function Xe(){return 0!==this.stopNodeExpressionsSet.size&&this.matcher.matchesAny(this.stopNodeExpressionsSet)}function Ze(t,e,n,r){const i=t.indexOf(e,n);if(-1===i)throw new Error(r);return i+e.length-1}function Je(t,e,n,r){const i=t.indexOf(e,n);if(-1===i)throw new Error(r);return i}function Ke(t,e,n){const r=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\">\",r=0;const i=t.length,s=n.charCodeAt(0),o=n.length>1?n.charCodeAt(1):-1;let a=\"\",h=e;for(let n=e;n<i;n++){const e=t.charCodeAt(n);if(r)e===r&&(r=0);else if(34===e||39===e)r=e;else if(e===s){if(-1===o)return a+=t.substring(h,n),{data:a,index:n};if(t.charCodeAt(n+1)===o)return a+=t.substring(h,n),{data:a,index:n}}else 9!==e||r||(a+=t.substring(h,n)+\" \",h=n+1)}}(t,e+1,arguments.length>3&&void 0!==arguments[3]?arguments[3]:\">\");if(!r)return;let i=r.data;const s=r.index,o=i.search(/\\s/);let a=i,h=!0;-1!==o&&(a=i.substring(0,o),i=i.substring(o+1).trimStart());const l=a;if(n){const t=a.indexOf(\":\");-1!==t&&(a=a.substr(t+1),h=a!==r.data.substr(t+1))}return{tagName:a,tagExp:i,closeIndex:s,attrExpPresent:h,rawTagName:l}}function Qe(t,e,n){const r=n;let i=1;const s=t.length;for(;n<s;n++)if(\"<\"===t[n]){const s=t.charCodeAt(n+1);if(47===s){const s=Je(t,\">\",n,`${e} is not closed`);if(t.substring(n+2,s).trim()===e&&(i--,0===i))return{tagContent:t.substring(r,n),i:s};n=s}else if(63===s)n=Ze(t,\"?>\",n+1,\"StopNode is not closed.\");else if(33===s&&45===t.charCodeAt(n+2)&&45===t.charCodeAt(n+3))n=Ze(t,\"--\\x3e\",n+3,\"StopNode is not closed.\");else if(33===s&&91===t.charCodeAt(n+2))n=Ze(t,\"]]>\",n,\"StopNode is not closed.\")-2;else{const r=Ke(t,n,\">\");r&&((r&&r.tagName)===e&&\"/\"!==r.tagExp[r.tagExp.length-1]&&i++,n=r.closeIndex)}}}function tn(t,e,n){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e=Object.assign({},we,e),!t||\"string\"!=typeof t)return t;let n=t.trim();if(0===n.length)return t;if(void 0!==e.skipLike&&e.skipLike.test(n))return t;if(\"0\"===n)return 0;if(e.hex&&be.test(n))return function(t){if(parseInt)return parseInt(t,16);if(Number.parseInt)return Number.parseInt(t,16);if(window&&window.parseInt)return window.parseInt(t,16);throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")}(n);if(isFinite(n)){if(n.includes(\"e\")||n.includes(\"E\"))return function(t,e,n){if(!n.eNotation)return t;const r=e.match(xe);if(r){let i=r[1]||\"\";const s=-1===r[3].indexOf(\"e\")?\"E\":\"e\",o=r[2],a=i?t[o.length+1]===s:t[o.length]===s;return o.length>1&&a?t:(1!==o.length||!r[3].startsWith(`.${s}`)&&r[3][0]!==s)&&o.length>0?n.leadingZeros&&!a?(e=(r[1]||\"\")+r[3],Number(e)):t:Number(e)}return t}(t,n,e);{const i=ve.exec(n);if(i){const s=i[1]||\"\",o=i[2];let a=(r=i[3])&&-1!==r.indexOf(\".\")?(\".\"===(r=r.replace(/0+$/,\"\"))?r=\"0\":\".\"===r[0]?r=\"0\"+r:\".\"===r[r.length-1]&&(r=r.substring(0,r.length-1)),r):r;const h=s?\".\"===t[o.length+1]:\".\"===t[o.length];if(!e.leadingZeros&&(o.length>1||1===o.length&&!h))return t;{const r=Number(n),i=String(r);if(0===r)return r;if(-1!==i.search(/[eE]/))return e.eNotation?r:t;if(-1!==n.indexOf(\".\"))return\"0\"===i||i===a||i===`${s}${a}`?r:t;let h=o?a:n;return o?h===i||s+h===i?r:t:h===i||h===s+i?r:t}}return t}}var r;return function(t,e,n){const r=e===1/0;switch(n.infinity.toLowerCase()){case\"null\":return null;case\"infinity\":return e;case\"string\":return r?\"Infinity\":\"-Infinity\";default:return t}}(t,Number(n),e)}(t,n)}return void 0!==t?t:\"\"}function en(t,e,n,r){if(t){const r=t(e);n===e&&(n=r),e=r}return{tagName:e=nn(e,r),tagExp:n}}function nn(t,e){if(oe.includes(t))throw new Error(`[SECURITY] Invalid name: \"${t}\" is a reserved JavaScript keyword that could cause prototype pollution`);return se.includes(t)?e.onDangerousProperty(t):t}const rn=fe.getMetaDataSymbol();function sn(t,e){if(!t||\"object\"!=typeof t)return{};if(!e)return t;const n={};for(const r in t)r.startsWith(e)?n[r.substring(e.length)]=t[r]:n[r]=t[r];return n}function on(t,e,n,r){return an(t,e,n,r)}function an(t,e,n,r){let i;const s={};for(let o=0;o<t.length;o++){const a=t[o],h=hn(a);if(void 0!==h&&h!==e.textNodeName){const t=sn(a[\":@\"]||{},e.attributeNamePrefix);n.push(h,t)}if(h===e.textNodeName)void 0===i?i=a[h]:i+=\"\"+a[h];else{if(void 0===h)continue;if(a[h]){let t=an(a[h],e,n,r);const i=un(t,e);if(a[\":@\"]?ln(t,a[\":@\"],r,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]=\"\":t=\"\"):t=t[e.textNodeName],void 0!==a[rn]&&\"object\"==typeof t&&null!==t&&(t[rn]=a[rn]),void 0!==s[h]&&Object.prototype.hasOwnProperty.call(s,h))Array.isArray(s[h])||(s[h]=[s[h]]),s[h].push(t);else{const n=e.jPath?r.toString():r;e.isArray(h,n,i)?s[h]=[t]:s[h]=t}void 0!==h&&h!==e.textNodeName&&n.pop()}}}return\"string\"==typeof i?i.length>0&&(s[e.textNodeName]=i):void 0!==i&&(s[e.textNodeName]=i),s}function hn(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=e[t];if(\":@\"!==n)return n}}function ln(t,e,n,r){if(e){const i=Object.keys(e),s=i.length;for(let o=0;o<s;o++){const s=i[o],a=s.startsWith(r.attributeNamePrefix)?s.substring(r.attributeNamePrefix.length):s,h=r.jPath?n.toString()+\".\"+a:n;r.isArray(s,h,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}function un(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return 0===r||!(1!==r||!t[n]&&\"boolean\"!=typeof t[n]&&0!==t[n])}const cn={allowBooleanAttributes:!1,unpairedTags:[]};function pn(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function fn(t,e){const n=e;for(;e<t.length;e++)if(\"?\"!=t[e]&&\" \"!=t[e]);else{const r=t.substr(n,e-n);if(e>5&&\"xml\"===r)return vn(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",xn(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}}return e}function dn(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e<t.length;e++)if(\"-\"===t[e]&&\"-\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let n=1;for(e+=8;e<t.length;e++)if(\"<\"===t[e])n++;else if(\">\"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e<t.length;e++)if(\"]\"===t[e]&&\"]\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}return e}function gn(t,e){let n=\"\",r=\"\",i=!1;for(;e<t.length;e++){if('\"'===t[e]||\"'\"===t[e])\"\"===r?r=t[e]:r!==t[e]||(r=\"\");else if(\">\"===t[e]&&\"\"===r){i=!0;break}n+=t[e]}return\"\"===r&&{value:n,index:e,tagClosed:i}}const mn=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function yn(t,e){const n=re(t,mn),r={};for(let t=0;t<n.length;t++){if(0===n[t][1].length)return vn(\"InvalidAttr\",\"Attribute '\"+n[t][2]+\"' has no space in starting.\",Nn(n[t]));if(void 0!==n[t][3]&&void 0===n[t][4])return vn(\"InvalidAttr\",\"Attribute '\"+n[t][2]+\"' is without value.\",Nn(n[t]));if(void 0===n[t][3]&&!e.allowBooleanAttributes)return vn(\"InvalidAttr\",\"boolean attribute '\"+n[t][2]+\"' is not allowed.\",Nn(n[t]));const i=n[t][2];if(!wn(i))return vn(\"InvalidAttr\",\"Attribute '\"+i+\"' is an invalid name.\",Nn(n[t]));if(Object.prototype.hasOwnProperty.call(r,i))return vn(\"InvalidAttr\",\"Attribute '\"+i+\"' is repeated.\",Nn(n[t]));r[i]=1}return!0}function bn(t,e){if(\";\"===t[++e])return-1;if(\"#\"===t[e])return function(t,e){let n=/\\d/;for(\"x\"===t[e]&&(e++,n=/[\\da-fA-F]/);e<t.length;e++){if(\";\"===t[e])return e;if(!t[e].match(n))break}return-1}(t,++e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\\w/)&&n<20)){if(\";\"===t[e])break;return-1}return e}function vn(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function wn(t){return ie(t)}function xn(t,e){const n=t.substring(0,e).split(/\\r?\\n/);return{line:n.length,col:n[n.length-1].length+1}}function Nn(t){return t.startIndex+t[1].length}class En{constructor(t){this.externalEntities={},this.options=ce(t)}parse(t,e){if(\"string\"!=typeof t&&t.toString)t=t.toString();else if(\"string\"!=typeof t)throw new Error(\"XML data is accepted in String or Bytes[] form.\");if(e){!0===e&&(e={});const n=function(t,e){e=Object.assign({},cn,e);const n=[];let r=!1,i=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(\"<\"===t[s]&&\"?\"===t[s+1]){if(s+=2,s=fn(t,s),s.err)return s}else{if(\"<\"!==t[s]){if(pn(t[s]))continue;return vn(\"InvalidChar\",\"char '\"+t[s]+\"' is not expected.\",xn(t,s))}{let o=s;if(s++,\"!\"===t[s]){s=dn(t,s);continue}{let a=!1;\"/\"===t[s]&&(a=!0,s++);let h=\"\";for(;s<t.length&&\">\"!==t[s]&&\" \"!==t[s]&&\"\\t\"!==t[s]&&\"\\n\"!==t[s]&&\"\\r\"!==t[s];s++)h+=t[s];if(h=h.trim(),\"/\"===h[h.length-1]&&(h=h.substring(0,h.length-1),s--),!ie(h)){let e;return e=0===h.trim().length?\"Invalid space after '<'.\":\"Tag '\"+h+\"' is an invalid name.\",vn(\"InvalidTag\",e,xn(t,s))}const l=gn(t,s);if(!1===l)return vn(\"InvalidAttr\",\"Attributes for '\"+h+\"' have open quote.\",xn(t,s));let u=l.value;if(s=l.index,\"/\"===u[u.length-1]){const n=s-u.length;u=u.substring(0,u.length-1);const i=yn(u,e);if(!0!==i)return vn(i.err.code,i.err.msg,xn(t,n+i.err.line));r=!0}else if(a){if(!l.tagClosed)return vn(\"InvalidTag\",\"Closing tag '\"+h+\"' doesn't have proper closing.\",xn(t,s));if(u.trim().length>0)return vn(\"InvalidTag\",\"Closing tag '\"+h+\"' can't have attributes or invalid starting.\",xn(t,o));if(0===n.length)return vn(\"InvalidTag\",\"Closing tag '\"+h+\"' has not been opened.\",xn(t,o));{const e=n.pop();if(h!==e.tagName){let n=xn(t,e.tagStartPos);return vn(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+n.line+\", col \"+n.col+\") instead of closing tag '\"+h+\"'.\",xn(t,o))}0==n.length&&(i=!0)}}else{const a=yn(u,e);if(!0!==a)return vn(a.err.code,a.err.msg,xn(t,s-u.length+a.err.line));if(!0===i)return vn(\"InvalidXml\",\"Multiple possible root nodes found.\",xn(t,s));-1!==e.unpairedTags.indexOf(h)||n.push({tagName:h,tagStartPos:o}),r=!0}for(s++;s<t.length;s++)if(\"<\"===t[s]){if(\"!\"===t[s+1]){s++,s=dn(t,s);continue}if(\"?\"!==t[s+1])break;if(s=fn(t,++s),s.err)return s}else if(\"&\"===t[s]){const e=bn(t,s);if(-1==e)return vn(\"InvalidChar\",\"char '&' is not expected.\",xn(t,s));s=e}else if(!0===i&&!pn(t[s]))return vn(\"InvalidXml\",\"Extra text at the end\",xn(t,s));\"<\"===t[s]&&s--}}}return r?1==n.length?vn(\"InvalidTag\",\"Unclosed tag '\"+n[0].tagName+\"'.\",xn(t,n[0].tagStartPos)):!(n.length>0)||vn(\"InvalidXml\",\"Invalid '\"+JSON.stringify(n.map((t=>t.tagName)),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):vn(\"InvalidXml\",\"Start tag expected.\",1)}(t,e);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new Fe(this.options,this.externalEntities),r=n.parseXml(t);return this.options.preserveOrder||void 0===r?r:on(r,this.options,n.matcher,n.readonlyMatcher)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}static getMetaDataSymbol(){return fe.getMetaDataSymbol()}}var An=n(829),Sn=n.n(An),Pn=function(t){return t.Array=\"array\",t.Object=\"object\",t.Original=\"original\",t}(Pn||{});function Tn(t){return\"string\"==typeof t?t:t.toString(\".\",!1)}function On(t,e){if(!t.endsWith(\"propstat.prop.displayname\"))return e}function Cn(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Pn.Original;const r=Sn().get(t,e);return\"array\"===n&&!1===Array.isArray(r)?[r]:\"object\"===n&&Array.isArray(r)?r[0]:r}function _n(t,e){return e=e??{attributeNamePrefix:\"@\",attributeParsers:[],tagParsers:[On]},new Promise((n=>{n(function(t){const{multistatus:e}=t;if(\"\"===e)return{multistatus:{response:[]}};if(!e)throw new Error(\"Invalid response: No root multistatus found\");const n={multistatus:Array.isArray(e)?e[0]:e};return Sn().set(n,\"multistatus.response\",Cn(n,\"multistatus.response\",Pn.Array)),Sn().set(n,\"multistatus.response\",Sn().get(n,\"multistatus.response\").map((t=>function(t){const e=Object.assign({},t);return e.status?Sn().set(e,\"status\",Cn(e,\"status\",Pn.Object)):(Sn().set(e,\"propstat\",Cn(e,\"propstat\",Pn.Object)),Sn().set(e,\"propstat.prop\",Cn(e,\"propstat.prop\",Pn.Object))),e}(t)))),n}(function(t){let{attributeNamePrefix:e,attributeParsers:n,entityDecoder:r,tagParsers:i}=t;const s={allowBooleanAttributes:!0,attributeNamePrefix:e,textNodeName:\"text\",ignoreAttributes:!1,removeNSPrefix:!0,jPath:!1,numberParseOptions:{hex:!0,leadingZeros:!1},attributeValueProcessor(t,e,r){const i=Tn(r);for(const t of n)try{const n=t(i,e);if(n!==e)return n}catch(t){}return e},tagValueProcessor(t,e,n){const r=Tn(n);for(const t of i)try{const n=t(r,e);if(n!==e)return n}catch(t){}return e}};return r&&(s.entityDecoder=new Le({limit:{maxTotalExpansions:r.limit?.maxTotalExpansions??0,maxExpandedLength:r.limit?.maxExpandedLength??0}})),new En(s)}(e).parse(t)))}))}function $n(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{getlastmodified:r=null,getcontentlength:i=\"0\",resourcetype:s=null,getcontenttype:o=null,getetag:a=null}=t,h=s&&\"object\"==typeof s&&void 0!==s.collection?\"directory\":\"file\",u={filename:e,basename:l().basename(e),lastmod:r,size:parseInt(i,10),type:h,etag:\"string\"==typeof a?a.replace(/\"/g,\"\"):null};return\"file\"===h&&(u.mime=o&&\"string\"==typeof o?o.split(\";\")[0]:\"\"),n&&(void 0!==t.displayname&&(t.displayname=String(t.displayname)),u.props=t),u}function jn(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=null;try{t.multistatus.response[0].propstat&&(r=t.multistatus.response[0])}catch(t){}if(!r)throw new Error(\"Failed getting item stat: bad response\");const{propstat:{prop:i,status:s}}=r,[o,a,h]=s.split(\" \",3),l=parseInt(a,10);if(l>=400){const t=new Error(`Invalid response: ${l} ${h}`);throw t.status=l,t}return $n(i,d(e),n)}function In(t){switch(String(t)){case\"-3\":return\"unlimited\";case\"-2\":case\"-1\":return\"unknown\";default:return parseInt(String(t),10)}}function Mn(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Rn=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,i=K({url:m(t.remoteURL,p(e)),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,n);return Mn(J(i,t),(function(n){return Jt(t,n),Mn(n.text(),(function(i){return Mn(_n(i,t.parsing),(function(t){const i=jn(t,e,r);return Kt(n,i,r)}))}))}))}));function kn(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ln=Dn((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(t){if(!t||\"/\"===t)return[];let e=t;const n=[];do{n.push(e),e=l().dirname(e)}while(e&&\"/\"!==e);return n}(d(e));r.sort(((t,e)=>t.length>e.length?1:e.length>t.length?-1:0));let i=!1;return function(t,e,n){if(\"function\"==typeof t[Vn]){var r,i,s,o=t[Vn]();function u(t){try{for(;!(r=o.next()).done;)if((t=e(r.value))&&t.then){if(!Gn(t))return void t.then(u,s||(s=Wn.bind(null,i=new Bn,2)));t=t.v}i?Wn(i,1,t):i=t}catch(t){Wn(i||(i=new Bn),2,t)}}if(u(),o.return){var a=function(t){try{r.done||o.return()}catch(t){}return t};if(i&&i.then)return i.then(a,(function(t){throw a(t)}));a()}return i}if(!(\"length\"in t))throw new TypeError(\"Object is not iterable\");for(var h=[],l=0;l<t.length;l++)h.push(t[l]);return function(t,e,n){var r,i,s=-1;return function o(a){try{for(;++s<t.length&&(!n||!n());)if((a=e(s))&&a.then){if(!Gn(a))return void a.then(o,i||(i=Wn.bind(null,r=new Bn,2)));a=a.v}r?Wn(r,1,a):r=a}catch(t){Wn(r||(r=new Bn),2,t)}}(),r}(h,(function(t){return e(h[t])}),n)}(r,(function(r){return s=function(){return function(n,i){try{var s=kn(Rn(t,r),(function(t){if(\"directory\"!==t.type)throw new Error(`Path includes a file: ${e}`)}))}catch(t){return i(t)}return s&&s.then?s.then(void 0,i):s}(0,(function(e){const s=e;return function(){if(404===s.status)return i=!0,Fn(zn(t,r,{...n,recursive:!1}));throw e}()}))},(o=function(){if(i)return Fn(zn(t,r,{...n,recursive:!1}))}())&&o.then?o.then(s):s();var s,o}),(function(){return!1}))}));function Dn(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}function Un(){}function Fn(t,e){if(!e)return t&&t.then?t.then(Un):Promise.resolve()}const Vn=\"undefined\"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol(\"Symbol.iterator\")):\"@@iterator\";function Wn(t,e,n){if(!t.s){if(n instanceof Bn){if(!n.s)return void(n.o=Wn.bind(null,t,e));1&e&&(e=n.s),n=n.v}if(n&&n.then)return void n.then(Wn.bind(null,t,e),Wn.bind(null,t,2));t.s=e,t.v=n;const r=t.o;r&&r(t)}}const Bn=function(){function t(){}return t.prototype.then=function(e,n){const r=new t,i=this.s;if(i){const t=1&i?e:n;if(t){try{Wn(r,1,t(this.v))}catch(t){Wn(r,2,t)}return r}return this}return this.o=function(t){try{const i=t.v;1&t.s?Wn(r,1,e?e(i):i):n?Wn(r,1,n(i)):Wn(r,2,i)}catch(t){Wn(r,2,t)}},r},t}();function Gn(t){return t instanceof Bn&&1&t.s}const zn=Dn((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!0===n.recursive)return Ln(t,e,n);const r=K({url:m(t.remoteURL,(i=p(e),i.endsWith(\"/\")?i:i+\"/\")),method:\"MKCOL\"},t,n);var i;return kn(J(r,t),(function(e){Jt(t,e)}))}));var qn=n(388),Hn=n.n(qn);const Yn=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={};if(\"object\"==typeof n.range&&\"number\"==typeof n.range.start){let t=`bytes=${n.range.start}-`;\"number\"==typeof n.range.end&&(t=`${t}${n.range.end}`),r.Range=t}const i=K({url:m(t.remoteURL,p(e)),method:\"GET\",headers:r},t,n);return o=function(e){if(Jt(t,e),r.Range&&206!==e.status){const t=new Error(`Invalid response code for partial request: ${e.status}`);throw t.status=e.status,t}return n.callback&&setTimeout((()=>{n.callback(e)}),0),e.body},(s=J(i,t))&&s.then||(s=Promise.resolve(s)),o?s.then(o):s;var s,o})),Xn=()=>{},Zn=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e,n){n.url||(n.url=m(t.remoteURL,p(e)));const r=K(n,t,{});return s=function(e){return Jt(t,e),e},(i=J(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s})),Jn=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=K({url:m(t.remoteURL,p(e)),method:\"DELETE\"},t,n);return s=function(e){Jt(t,e)},(i=J(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s})),Kn=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(r,i){try{var s=(o=Rn(t,e,n),a=function(){return!0},h?a?a(o):o:(o&&o.then||(o=Promise.resolve(o)),a?o.then(a):o))}catch(t){return i(t)}var o,a,h;return s&&s.then?s.then(void 0,i):s}(0,(function(t){if(404===t.status)return!1;throw t}))}));function Qn(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const tr=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=K({url:m(t.remoteURL,p(e),\"/\"),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:n.deep?\"infinity\":\"1\"}},t,n);return Qn(J(r,t),(function(r){return Jt(t,r),Qn(r.text(),(function(i){if(!i)throw new Error(\"Failed parsing directory contents: Empty response\");return Qn(_n(i,t.parsing),(function(i){const s=f(e);let o=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const s=l().join(e,\"/\"),{multistatus:{response:o}}=t,h=o.map((t=>{const e=function(t){try{return t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}catch(t){throw new a(t,\"Failed normalising HREF\")}}(t.href),{propstat:{prop:n}}=t;return $n(n,\"/\"===s?decodeURIComponent(d(e)):d(l().relative(decodeURIComponent(s),decodeURIComponent(e))),r)}));return i?h:h.filter((t=>t.basename&&(\"file\"===t.type||t.filename!==n.replace(/\\/$/,\"\"))))}(i,f(t.remoteBasePath||t.remotePath),s,n.details,n.includeSelf);return n.glob&&(o=function(t,e){return t.filter((t=>Et(t.filename,e,{matchBase:!0})))}(o,n.glob)),Kt(r,o,n.details)}))}))}))}));function er(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}const nr=er((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=K({url:m(t.remoteURL,p(e)),method:\"GET\",headers:{Accept:\"text/plain\"},transformResponse:[or]},t,n);return rr(J(r,t),(function(e){return Jt(t,e),rr(e.text(),(function(t){return Kt(e,t,n.details)}))}))}));function rr(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ir=er((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=K({url:m(t.remoteURL,p(e)),method:\"GET\"},t,n);return rr(J(r,t),(function(e){let r;return Jt(t,e),function(t,e){var n=t();return n&&n.then?n.then(e):e()}((function(){return rr(e.arrayBuffer(),(function(t){r=t}))}),(function(){return Kt(e,r,n.details)}))}))})),sr=er((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{format:r=\"binary\"}=n;if(\"binary\"!==r&&\"text\"!==r)throw new a({info:{code:_.InvalidOutputFormat}},`Invalid output format: ${r}`);return\"text\"===r?nr(t,e,n):ir(t,e,n)})),or=t=>t;function ar(t,e){let n=\"\";e.format&&e.indentBy.length>0&&(n=\"\\n\");const r=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let t=0;t<e.stopNodes.length;t++){const n=e.stopNodes[t];\"string\"==typeof n?r.push(new Ae(n)):n instanceof Ae&&r.push(n)}return hr(t,e,n,new Ee,r)}function hr(t,e,n,r,i){let s=\"\",o=!1;if(e.maxNestedTags&&r.getDepth()>e.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");if(!Array.isArray(t)){if(null!=t){let n=t.toString();return n=gr(n,e),n}return\"\"}for(let a=0;a<t.length;a++){const h=t[a],l=pr(h);if(void 0===l)continue;const u=lr(h[\":@\"],e);r.push(l,u);const c=dr(r,i);if(l===e.textNodeName){let t=h[l];c||(t=e.tagValueProcessor(l,t),t=gr(t,e)),o&&(s+=n),s+=t,o=!1,r.pop();continue}if(l===e.cdataPropName){o&&(s+=n);const t=h[l][0][e.textNodeName];s+=`<![CDATA[${String(t).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\")}]]>`,o=!1,r.pop();continue}if(l===e.commentPropName){const t=h[l][0][e.textNodeName];s+=n+`\\x3c!--${String(t).replace(/--/g,\"- -\").replace(/-$/,\"- \")}--\\x3e`,o=!0,r.pop();continue}if(\"?\"===l[0]){const t=fr(h[\":@\"],e,c),i=\"?xml\"===l?\"\":n;let a=h[l][0][e.textNodeName];a=0!==a.length?\" \"+a:\"\",s+=i+`<${l}${a}${t}?>`,o=!0,r.pop();continue}let p=n;\"\"!==p&&(p+=e.indentBy);const f=n+`<${l}${fr(h[\":@\"],e,c)}`;let d;d=c?ur(h[l],e):hr(h[l],e,p,r,i),-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?s+=f+\">\":s+=f+\"/>\":d&&0!==d.length||!e.suppressEmptyNode?d&&d.endsWith(\">\")?s+=f+`>${d}${n}</${l}>`:(s+=f+\">\",d&&\"\"!==n&&(d.includes(\"/>\")||d.includes(\"</\"))?s+=n+e.indentBy+d+n:s+=d,s+=`</${l}>`):s+=f+\"/>\",o=!0,r.pop()}return s}function lr(t,e){if(!t||e.ignoreAttributes)return null;const n={};let r=!1;for(let i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i.startsWith(e.attributeNamePrefix)?i.substr(e.attributeNamePrefix.length):i]=t[i],r=!0);return r?n:null}function ur(t,e){if(!Array.isArray(t))return null!=t?t.toString():\"\";let n=\"\";for(let r=0;r<t.length;r++){const i=t[r],s=pr(i);if(s===e.textNodeName)n+=i[s];else if(s===e.cdataPropName)n+=i[s][0][e.textNodeName];else if(s===e.commentPropName)n+=i[s][0][e.textNodeName];else{if(s&&\"?\"===s[0])continue;if(s){const t=cr(i[\":@\"],e),r=ur(i[s],e);r&&0!==r.length?n+=`<${s}${t}>${r}</${s}>`:n+=`<${s}${t}/>`}}}return n}function cr(t,e){let n=\"\";if(t&&!e.ignoreAttributes)for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let i=t[r];!0===i&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}=\"${i}\"`}return n}function pr(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(Object.prototype.hasOwnProperty.call(t,r)&&\":@\"!==r)return r}}function fr(t,e,n){let r=\"\";if(t&&!e.ignoreAttributes)for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let s;n?s=t[i]:(s=e.attributeValueProcessor(i,t[i]),s=gr(s,e)),!0===s&&e.suppressBooleanAttributes?r+=` ${i.substr(e.attributeNamePrefix.length)}`:r+=` ${i.substr(e.attributeNamePrefix.length)}=\"${s}\"`}return r}function dr(t,e){if(!e||0===e.length)return!1;for(let n=0;n<e.length;n++)if(t.matches(e[n]))return!0;return!1}function gr(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}const mr={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&amp;\"},{regex:new RegExp(\">\",\"g\"),val:\"&gt;\"},{regex:new RegExp(\"<\",\"g\"),val:\"&lt;\"},{regex:new RegExp(\"'\",\"g\"),val:\"&apos;\"},{regex:new RegExp('\"',\"g\"),val:\"&quot;\"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0};function yr(t){if(this.options=Object.assign({},mr,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map((t=>\"string\"==typeof t&&t.startsWith(\"*.\")?\"..\"+t.substring(2):t))),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];\"string\"==typeof e?this.stopNodeExpressions.push(new Ae(e)):e instanceof Ae&&this.stopNodeExpressions.push(e)}var e;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=\"function\"==typeof(e=this.options.ignoreAttributes)?e:Array.isArray(e)?t=>{for(const n of e){if(\"string\"==typeof n&&t===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=wr),this.processTextOrObjNode=br,this.options.format?(this.indentate=vr,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function br(t,e,n,r){const i=this.extractAttributes(t);if(r.push(e,i),this.checkStopNode(r)){const i=this.buildRawContent(t),s=this.buildAttributesForStopNode(t);return r.pop(),this.buildObjectNode(i,e,s,n)}const s=this.j2x(t,n+1,r);return r.pop(),void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,s.attrStr,n,r):this.buildObjectNode(s.val,e,s.attrStr,n)}function vr(t){return this.options.indentBy.repeat(t)}function wr(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}yr.prototype.build=function(t){if(this.options.preserveOrder)return ar(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});const e=new Ee;return this.j2x(t,0,e).val}},yr.prototype.j2x=function(t,e,n){let r=\"\",i=\"\";if(this.options.maxNestedTags&&n.getDepth()>=this.options.maxNestedTags)throw new Error(\"Maximum nested tags exceeded\");const s=this.options.jPath?n.toString():n,o=this.checkStopNode(n);for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(void 0===t[a])this.isAttribute(a)&&(i+=\"\");else if(null===t[a])this.isAttribute(a)||a===this.options.cdataPropName?i+=\"\":\"?\"===a[0]?i+=this.indentate(e)+\"<\"+a+\"?\"+this.tagEndChar:i+=this.indentate(e)+\"<\"+a+\"/\"+this.tagEndChar;else if(t[a]instanceof Date)i+=this.buildTextValNode(t[a],a,\"\",e,n);else if(\"object\"!=typeof t[a]){const h=this.isAttribute(a);if(h&&!this.ignoreAttributesFn(h,s))r+=this.buildAttrPairStr(h,\"\"+t[a],o);else if(!h)if(a===this.options.textNodeName){let e=this.options.tagValueProcessor(a,\"\"+t[a]);i+=this.replaceEntitiesValue(e)}else{n.push(a);const r=this.checkStopNode(n);if(n.pop(),r){const n=\"\"+t[a];i+=\"\"===n?this.indentate(e)+\"<\"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+\"<\"+a+\">\"+n+\"</\"+a+this.tagEndChar}else i+=this.buildTextValNode(t[a],a,\"\",e,n)}}else if(Array.isArray(t[a])){const r=t[a].length;let s=\"\",o=\"\";for(let h=0;h<r;h++){const r=t[a][h];if(void 0===r);else if(null===r)\"?\"===a[0]?i+=this.indentate(e)+\"<\"+a+\"?\"+this.tagEndChar:i+=this.indentate(e)+\"<\"+a+\"/\"+this.tagEndChar;else if(\"object\"==typeof r)if(this.options.oneListGroup){n.push(a);const t=this.j2x(r,e+1,n);n.pop(),s+=t.val,this.options.attributesGroupName&&r.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else s+=this.processTextOrObjNode(r,a,e,n);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(a,r);t=this.replaceEntitiesValue(t),s+=t}else{n.push(a);const t=this.checkStopNode(n);if(n.pop(),t){const t=\"\"+r;s+=\"\"===t?this.indentate(e)+\"<\"+a+this.closeTag(a)+this.tagEndChar:this.indentate(e)+\"<\"+a+\">\"+t+\"</\"+a+this.tagEndChar}else s+=this.buildTextValNode(r,a,\"\",e,n)}}this.options.oneListGroup&&(s=this.buildObjectNode(s,a,o,e)),i+=s}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const e=Object.keys(t[a]),n=e.length;for(let i=0;i<n;i++)r+=this.buildAttrPairStr(e[i],\"\"+t[a][e[i]],o)}else i+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:r,val:i}},yr.prototype.buildAttrPairStr=function(t,e,n){return n||(e=this.options.attributeValueProcessor(t,\"\"+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&\"true\"===e?\" \"+t:\" \"+t+'=\"'+e+'\"'},yr.prototype.extractAttributes=function(t){if(!t||\"object\"!=typeof t)return null;const e={};let n=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const r=t[this.options.attributesGroupName];for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t]=r[t],n=!0)}else for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const i=this.isAttribute(r);i&&(e[i]=t[r],n=!0)}return n?e:null},yr.prototype.buildRawContent=function(t){if(\"string\"==typeof t)return t;if(\"object\"!=typeof t||null===t)return String(t);if(void 0!==t[this.options.textNodeName])return t[this.options.textNodeName];let e=\"\";for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;if(this.isAttribute(n))continue;if(this.options.attributesGroupName&&n===this.options.attributesGroupName)continue;const r=t[n];if(n===this.options.textNodeName)e+=r;else if(Array.isArray(r)){for(let t of r)if(\"string\"==typeof t||\"number\"==typeof t)e+=`<${n}>${t}</${n}>`;else if(\"object\"==typeof t&&null!==t){const r=this.buildRawContent(t),i=this.buildAttributesForStopNode(t);e+=\"\"===r?`<${n}${i}/>`:`<${n}${i}>${r}</${n}>`}}else if(\"object\"==typeof r&&null!==r){const t=this.buildRawContent(r),i=this.buildAttributesForStopNode(r);e+=\"\"===t?`<${n}${i}/>`:`<${n}${i}>${t}</${n}>`}else e+=`<${n}>${r}</${n}>`}return e},yr.prototype.buildAttributesForStopNode=function(t){if(!t||\"object\"!=typeof t)return\"\";let e=\"\";if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){const n=t[this.options.attributesGroupName];for(let t in n){if(!Object.prototype.hasOwnProperty.call(n,t))continue;const r=t.startsWith(this.options.attributeNamePrefix)?t.substring(this.options.attributeNamePrefix.length):t,i=n[t];!0===i&&this.options.suppressBooleanAttributes?e+=\" \"+r:e+=\" \"+r+'=\"'+i+'\"'}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;const r=this.isAttribute(n);if(r){const i=t[n];!0===i&&this.options.suppressBooleanAttributes?e+=\" \"+r:e+=\" \"+r+'=\"'+i+'\"'}}return e},yr.prototype.buildObjectNode=function(t,e,n,r){if(\"\"===t)return\"?\"===e[0]?this.indentate(r)+\"<\"+e+n+\"?\"+this.tagEndChar:this.indentate(r)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar;{let i=\"</\"+e+this.tagEndChar,s=\"\";return\"?\"===e[0]&&(s=\"?\",i=\"\"),!n&&\"\"!==n||-1!==t.indexOf(\"<\")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(r)+`\\x3c!--${t}--\\x3e`+this.newLine:this.indentate(r)+\"<\"+e+n+s+this.tagEndChar+t+this.indentate(r)+i:this.indentate(r)+\"<\"+e+n+s+\">\"+t+i}},yr.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`></${t}`,e},yr.prototype.checkStopNode=function(t){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(t.matches(this.stopNodeExpressions[e]))return!0;return!1},yr.prototype.buildTextValNode=function(t,e,n,r,i){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName){const e=String(t).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\");return this.indentate(r)+`<![CDATA[${e}]]>`+this.newLine}if(!1!==this.options.commentPropName&&e===this.options.commentPropName){const e=String(t).replace(/--/g,\"- -\").replace(/-$/,\"- \");return this.indentate(r)+`\\x3c!--${e}--\\x3e`+this.newLine}if(\"?\"===e[0])return this.indentate(r)+\"<\"+e+n+\"?\"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),\"\"===i?this.indentate(r)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+\"<\"+e+n+\">\"+i+\"</\"+e+this.tagEndChar}},yr.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};const xr=yr;function Nr(t){return new xr({attributeNamePrefix:\"@_\",format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(Er({lockinfo:{\"@_xmlns:d\":\"DAV:\",lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:t}}},\"d\"))}function Er(t,e){const n={...t};for(const t in n)n.hasOwnProperty(t)&&(n[t]&&\"object\"==typeof n[t]&&-1===t.indexOf(\":\")?(n[`${e}:${t}`]=Er(n[t],e),delete n[t]):!1===/^@_/.test(t)&&(n[`${e}:${t}`]=n[t],delete n[t]));return n}function Ar(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}function Sr(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}const Pr=Sr((function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=K({url:m(t.remoteURL,p(e)),method:\"UNLOCK\",headers:{\"Lock-Token\":n}},t,r);return Ar(J(i,t),(function(e){if(Jt(t,e),204!==e.status&&200!==e.status)throw Zt(e)}))})),Tr=Sr((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{refreshToken:r,timeout:i=Or}=n,s={Accept:\"text/plain,application/xml\",Timeout:i};r&&(s.If=r);const o=K({url:m(t.remoteURL,p(e)),method:\"LOCK\",headers:s,data:Nr(t.contactHref)},t,n);return Ar(J(o,t),(function(e){return Jt(t,e),Ar(e.text(),(function(t){const n=(s=t,new En({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(s)),r=Sn().get(n,\"prop.lockdiscovery.activelock.locktoken.href\"),i=Sn().get(n,\"prop.lockdiscovery.activelock.timeout\");var s;if(!r)throw Zt(e,\"No lock token received: \");return{token:r,serverTimeout:i}}))}))})),Or=\"Infinite, Second-4100000000\";function Cr(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const _r=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e.path||\"/\",r=K({url:m(t.remoteURL,n),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,e);return Cr(J(r,t),(function(n){return Jt(t,n),Cr(n.text(),(function(r){return Cr(_n(r,t.parsing),(function(t){const r=function(t){try{const[e]=t.multistatus.response,{propstat:{prop:{\"quota-used-bytes\":n,\"quota-available-bytes\":r}}}=e;return void 0!==n&&void 0!==r?{used:parseInt(String(n),10),available:In(r)}:null}catch(t){}return null}(t);return Kt(n,r,e.details)}))}))}))}));function $r(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const jr=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,i=K({url:m(t.remoteURL,p(e)),method:\"SEARCH\",headers:{Accept:\"text/plain,application/xml\",\"Content-Type\":t.headers[\"Content-Type\"]||\"application/xml; charset=utf-8\"}},t,n);return $r(J(i,t),(function(n){return Jt(t,n),$r(n.text(),(function(i){return $r(_n(i,t.parsing),(function(t){const i=function(t,e,n){const r={truncated:!1,results:[]};return r.truncated=t.multistatus.response.some((t=>\"507\"===(t.status||t.propstat?.status).split(\" \",3)?.[1]&&t.href.replace(/\\/$/,\"\").endsWith(p(e).replace(/\\/$/,\"\")))),t.multistatus.response.forEach((t=>{if(void 0===t.propstat)return;const e=t.href.split(\"/\").map(decodeURIComponent).join(\"/\");r.results.push($n(t.propstat.prop,e,n))})),r}(t,e,r);return Kt(n,i,r)}))}))}))})),Ir=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=K({url:m(t.remoteURL,p(e)),method:\"MOVE\",headers:{Destination:m(t.remoteURL,p(n)),Overwrite:!1===r.overwrite?\"F\":\"T\"}},t,r);return o=function(e){Jt(t,e)},(s=J(i,t))&&s.then||(s=Promise.resolve(s)),o?s.then(o):s;var s,o}));var Mr=n(172);function Rr(t){if(z(t))return t.byteLength;if(q(t))return t.length;if(\"string\"==typeof t)return(0,Mr.d)(t);throw new a({info:{code:_.DataTypeNoLength}},\"Cannot calculate data length: Invalid type\")}const kr=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const{contentLength:i=!0,overwrite:s=!0}=r,o={\"Content-Type\":\"application/octet-stream\"};!1===i||(o[\"Content-Length\"]=\"number\"==typeof i?`${i}`:`${Rr(n)}`),s||(o[\"If-None-Match\"]=\"*\");const a=K({url:m(t.remoteURL,p(e)),method:\"PUT\",headers:o,data:n},t,r);return l=function(e){try{Jt(t,e)}catch(t){const e=t;if(412!==e.status||s)throw e;return!1}return!0},(h=J(a,t))&&h.then||(h=Promise.resolve(h)),l?h.then(l):h;var h,l})),Lr=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=K({url:m(t.remoteURL,p(e)),method:\"OPTIONS\"},t,n);return s=function(e){try{Jt(t,e)}catch(t){throw t}return{compliance:(e.headers.get(\"DAV\")??\"\").split(\",\").map((t=>t.trim())),server:e.headers.get(\"Server\")??\"\"}},(i=J(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s}));function Dr(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ur=Wr((function(t,e,n,r,i){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new a({info:{code:_.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const o={\"Content-Type\":\"application/octet-stream\",\"Content-Length\":\"\"+(r-n+1),\"Content-Range\":`bytes ${n}-${r}/*`},h=K({url:m(t.remoteURL,p(e)),method:\"PUT\",headers:o,data:i},t,s);return Dr(J(h,t),(function(e){Jt(t,e)}))}));function Fr(t,e){var n=t();return n&&n.then?n.then(e):e(n)}const Vr=Wr((function(t,e,n,r,i){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new a({info:{code:_.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const o={\"Content-Type\":\"application/x-sabredav-partialupdate\",\"Content-Length\":\"\"+(r-n+1),\"X-Update-Range\":`bytes=${n}-${r}`},h=K({url:m(t.remoteURL,p(e)),method:\"PATCH\",headers:o,data:i},t,s);return Dr(J(h,t),(function(e){Jt(t,e)}))}));function Wr(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(t.apply(this,e))}catch(t){return Promise.reject(t)}}}const Br=Wr((function(t,e,n,r,i){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return Dr(Lr(t,e,s),(function(o){let h=!1;return Fr((function(){if(o.compliance.includes(\"sabredav-partialupdate\"))return Dr(Vr(t,e,n,r,i,s),(function(t){return h=!0,t}))}),(function(l){let u=!1;return h?l:Fr((function(){if(o.server.includes(\"Apache\")&&o.compliance.includes(\"<http://apache.org/dav/propset/fs/1>\"))return Dr(Ur(t,e,n,r,i,s),(function(t){return u=!0,t}))}),(function(t){if(u)return t;throw new a({info:{code:_.NotSupported}},\"Not supported\")}))}))}))})),Gr=\"https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md\";function zr(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{authType:n=null,remoteBasePath:r,contactHref:i=Gr,entityDecoder:s,ha1:o,headers:h={},httpAgent:l,httpsAgent:u,password:c,token:f,username:d,withCredentials:y}=e;let b=n;b||(b=d||c?C.Password:C.None);const v={authType:b,remoteBasePath:r,contactHref:i,ha1:o,headers:Object.assign({},h),httpAgent:l,httpsAgent:u,password:c,parsing:{attributeNamePrefix:e.attributeNamePrefix??\"@\",attributeParsers:[],entityDecoder:s,tagParsers:[On]},remotePath:g(t),remoteURL:t,token:f,username:d,withCredentials:y};return $(v,d,c,f,o),{copyFile:(t,e,n)=>Qt(v,t,e,n),createDirectory:(t,e)=>zn(v,t,e),createReadStream:(t,e)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new(0,Hn().PassThrough);return Yn(t,e,n).then((t=>{t.pipe(r)})).catch((t=>{r.emit(\"error\",t)})),r}(v,t,e),createWriteStream:(t,e,n)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Xn;const i=new(0,Hn().PassThrough),s={};!1===n.overwrite&&(s[\"If-None-Match\"]=\"*\");const o=K({url:m(t.remoteURL,p(e)),method:\"PUT\",headers:s,data:i,maxRedirects:0},t,n);return J(o,t).then((e=>Jt(t,e))).then((t=>{setTimeout((()=>{r(t)}),0)})).catch((t=>{i.emit(\"error\",t)})),i}(v,t,e,n),customRequest:(t,e)=>Zn(v,t,e),deleteFile:(t,e)=>Jn(v,t,e),exists:(t,e)=>Kn(v,t,e),getDirectoryContents:(t,e)=>tr(v,t,e),getFileContents:(t,e)=>sr(v,t,e),getFileDownloadLink:t=>function(t,e){let n=m(t.remoteURL,p(e));const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=E(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new a({info:{code:_.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getFileUploadLink:t=>function(t,e){let n=`${m(t.remoteURL,p(e))}?Content-Type=application/octet-stream`;const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=E(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new a({info:{code:_.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getHeaders:()=>Object.assign({},v.headers),getQuota:t=>_r(v,t),lock:(t,e)=>Tr(v,t,e),moveFile:(t,e,n)=>Ir(v,t,e,n),putFileContents:(t,e,n)=>kr(v,t,e,n),partialUpdateFileContents:(t,e,n,r,i)=>Br(v,t,e,n,r,i),getDAVCompliance:t=>Lr(v,t),search:(t,e)=>jr(v,t,e),setHeaders:t=>{v.headers=Object.assign({},t)},stat:(t,e)=>Rn(v,t,e),unlock:(t,e,n)=>Pr(v,t,e,n),registerAttributeParser:t=>{v.parsing.attributeParsers.push(t)},registerTagParser:t=>{v.parsing.tagParsers.push(t)}}}export{C as AuthType,_ as ErrorCode,T as Request,O as Response,Rr as calculateDataLength,zr as createClient,L as getPatcher,jn as parseStat,_n as parseXML,$n as prepareFileFromProps,Kt as processResponsePayload,In as translateDiskSpace};","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n}\nfunction getFavoritesReport() {\n return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n}\nfunction getRecentSearch(lastModified) {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${getDavNameSpaces()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${getCurrentUser()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${lastModified}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n","import type { IFileAction, IFolder, INode, IView } from '@nextcloud/files'\nimport { emit } from '@nextcloud/event-bus'\nimport {\n\tgetFileActions,\n\tgetFilesRegistry,\n\tgetSidebar,\n\tPermission,\n\tregisterFileAction,\n\tregisterSidebarTab,\n} from '@nextcloud/files'\nimport {\n\tgetClient,\n\tgetDavNameSpaces,\n\tgetDavProperties,\n\tregisterDavProperty,\n\tresultToNode,\n} from '@nextcloud/files/dav'\nimport { loadState } from '@nextcloud/initial-state'\n\nexport const COMMENTS_TAB_ID = 'korean-comments-only'\nconst COMMENTS_TAG_NAME = 'korean_comments_action-comments-tab'\n\nconst EMPTY_COMMENT_ICON = '<svg data-comment-state=\"empty\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"/></svg>'\nconst HAS_COMMENTS_ICON = '<svg data-comment-state=\"has-comments\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"/><circle cx=\"8\" cy=\"12\" r=\"1.4\"/><circle cx=\"12\" cy=\"12\" r=\"1.4\"/><circle cx=\"16\" cy=\"12\" r=\"1.4\"/></svg>'\n\ntype ActionContext = Parameters<NonNullable<IFileAction['enabled']>>[0]\ntype CommentsViewInstance = {\n\t$unmount(): void\n\tupdate(resourceId: string | number): void | Promise<void>\n}\ntype CommentsViewConstructor = new (\n\tresourceType?: string,\n\toptions?: {\n\t\tel?: HTMLElement\n\t\tprops?: Record<string, unknown>\n\t},\n) => CommentsViewInstance\n\ntype CommentsWindow = Window & {\n\tOCA?: {\n\t\tComments?: {\n\t\t\tView?: CommentsViewConstructor\n\t\t}\n\t}\n}\n\nfunction commentsAppAvailable(): boolean {\n\treturn loadState<boolean | null>('comments', 'activityEnabled', null) !== null\n}\n\nfunction commentCount(context: ActionContext): number {\n\tconst count = context.nodes[0]?.attributes?.['comments-count']\n\tif (typeof count === 'number') {\n\t\treturn count\n\t}\n\tif (typeof count === 'string') {\n\t\tconst parsed = Number.parseInt(count, 10)\n\t\treturn Number.isFinite(parsed) ? parsed : 0\n\t}\n\treturn 0\n}\n\nfunction unreadCommentCount(context: ActionContext): number {\n\tconst count = context.nodes[0]?.attributes?.['comments-unread']\n\tif (typeof count === 'number') {\n\t\treturn count\n\t}\n\tif (typeof count === 'string') {\n\t\tconst parsed = Number.parseInt(count, 10)\n\t\treturn Number.isFinite(parsed) ? parsed : 0\n\t}\n\treturn 0\n}\n\nfunction isEligibleContext(context: ActionContext): boolean {\n\tconst [node] = context.nodes\n\treturn context.nodes.length === 1\n\t\t&& node !== undefined\n\t\t&& node.root.startsWith('/files/')\n\t\t&& node.permissions !== Permission.NONE\n\t\t&& node.fileid !== undefined\n\t\t&& getSidebar().available\n\t\t&& commentsAppAvailable()\n}\n\nconst commentRefreshSequence = new Map<string, number>()\n\nexport async function refreshCommentCount(node: INode): Promise<void> {\n\tconst sequence = (commentRefreshSequence.get(node.source) ?? 0) + 1\n\tcommentRefreshSequence.set(node.source, sequence)\n\tconst response = await getClient().stat(`${node.root}${node.path}`, {\n\t\tdetails: true,\n\t\tdata: `<?xml version=\"1.0\"?>\n\t\t\t<d:propfind ${getDavNameSpaces()}>\n\t\t\t\t<d:prop>${getDavProperties()}</d:prop>\n\t\t\t</d:propfind>`,\n\t})\n\tif (commentRefreshSequence.get(node.source) !== sequence) {\n\t\treturn\n\t}\n\tconst stat = 'data' in response ? response.data : response\n\tconst refreshed = resultToNode(stat, node.root)\n\tconst count = refreshed.attributes['comments-count']\n\tconst previous = node.attributes['comments-count']\n\tconst previousCount = typeof previous === 'number'\n\t\t? previous\n\t\t: typeof previous === 'string'\n\t\t\t? Number.parseInt(previous, 10)\n\t\t\t: 0\n\tif (typeof count === 'number' && count !== previousCount) {\n\t\tnode.update({ 'comments-count': count })\n\t\temit('files:node:updated', node)\n\t}\n}\n\nasync function waitForCommentsView(): Promise<CommentsViewConstructor> {\n\tconst deadline = Date.now() + 5000\n\twhile (Date.now() < deadline) {\n\t\tconst CommentsView = (window as CommentsWindow).OCA?.Comments?.View\n\t\tif (CommentsView) {\n\t\t\treturn CommentsView\n\t\t}\n\t\tawait new Promise((resolve) => window.setTimeout(resolve, 50))\n\t}\n\tthrow new Error('Nextcloud Comments view is unavailable')\n}\n\nfunction createCommentsElement(): CustomElementConstructor {\n\treturn class CommentsOnlyElement extends HTMLElement {\n\t\tprivate commentsView?: CommentsViewInstance\n\t\tprivate container?: HTMLDivElement\n\t\tprivate currentNode?: INode\n\t\tprivate mutationObserver?: MutationObserver\n\t\tprivate refreshTimers = new Map<string, number>()\n\t\tprivate renderGeneration = 0\n\t\tactive = false\n\t\tfolder?: IFolder\n\t\tview?: IView\n\n\t\tget node(): INode | undefined {\n\t\t\treturn this.currentNode\n\t\t}\n\n\t\tset node(node: INode | undefined) {\n\t\t\tthis.currentNode = node\n\t\t\tvoid this.renderComments()\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tthis.style.display = 'block'\n\t\t\tthis.style.height = '100%'\n\t\t\tthis.style.overflow = 'auto'\n\t\t\tthis.container = document.createElement('div')\n\t\t\tthis.container.className = 'korean-comments-action__content'\n\t\t\tthis.append(this.container)\n\t\t\tif (typeof MutationObserver !== 'undefined') {\n\t\t\t\tthis.mutationObserver = new MutationObserver(() => this.scheduleCountRefresh())\n\t\t\t\tthis.mutationObserver.observe(this.container, { childList: true, subtree: true })\n\t\t\t}\n\t\t\tvoid this.renderComments()\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.renderGeneration += 1\n\t\t\tthis.mutationObserver?.disconnect()\n\t\t\tthis.mutationObserver = undefined\n\t\t\tfor (const timer of this.refreshTimers.values()) {\n\t\t\t\twindow.clearTimeout(timer)\n\t\t\t}\n\t\t\tthis.refreshTimers.clear()\n\t\t\tthis.commentsView?.$unmount()\n\t\t\tthis.commentsView = undefined\n\t\t\tthis.container = undefined\n\t\t\tthis.replaceChildren()\n\t\t}\n\n\t\tprivate async renderComments() {\n\t\t\tconst node = this.currentNode\n\t\t\tconst resourceId = node?.fileid\n\t\t\tif (!this.isConnected || !this.container || !node || resourceId === undefined) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.commentsView) {\n\t\t\t\tawait this.commentsView.update(resourceId)\n\t\t\t\tthis.scheduleCountRefresh()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst generation = ++this.renderGeneration\n\t\t\ttry {\n\t\t\t\tconst CommentsView = await waitForCommentsView()\n\t\t\t\tif (generation !== this.renderGeneration || !this.isConnected || !this.container) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.commentsView = new CommentsView('files', {\n\t\t\t\t\tel: this.container,\n\t\t\t\t\tprops: { resourceId },\n\t\t\t\t})\n\t\t\t\tthis.scheduleCountRefresh()\n\t\t\t} catch (error) {\n\t\t\t\tif (generation === this.renderGeneration) {\n\t\t\t\t\tthis.renderRetry(error)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tprivate renderRetry(error: unknown) {\n\t\t\tif (!this.container) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconsole.error('Could not initialize the native Comments view', error)\n\t\t\tconst message = document.createElement('p')\n\t\t\tmessage.textContent = '댓글 화면을 불러오지 못했습니다.'\n\t\t\tconst retry = document.createElement('button')\n\t\t\tretry.type = 'button'\n\t\t\tretry.textContent = '다시 시도'\n\t\t\tretry.addEventListener('click', () => void this.renderComments())\n\t\t\tthis.container.replaceChildren(message, retry)\n\t\t}\n\n\t\tprivate scheduleCountRefresh() {\n\t\t\tconst node = this.currentNode\n\t\t\tif (!node) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst key = node.source\n\t\t\tconst existingTimer = this.refreshTimers.get(key)\n\t\t\tif (existingTimer !== undefined) {\n\t\t\t\twindow.clearTimeout(existingTimer)\n\t\t\t}\n\t\t\tconst timer = window.setTimeout(() => {\n\t\t\t\tthis.refreshTimers.delete(key)\n\t\t\t\tvoid refreshCommentCount(node).catch((error) => {\n\t\t\t\t\tconsole.error('Could not refresh the comment count', error)\n\t\t\t\t})\n\t\t\t}, 200)\n\t\t\tthis.refreshTimers.set(key, timer)\n\t\t}\n\t}\n}\n\nregisterDavProperty('oc:comments-count')\n\nregisterSidebarTab({\n\tid: COMMENTS_TAB_ID,\n\tdisplayName: '댓글',\n\ticonSvgInline: HAS_COMMENTS_ICON,\n\torder: 45,\n\ttagName: COMMENTS_TAG_NAME,\n\tenabled({ node }) {\n\t\treturn commentsAppAvailable()\n\t\t\t&& node.root.startsWith('/files/')\n\t\t\t&& node.permissions !== Permission.NONE\n\t\t\t&& node.fileid !== undefined\n\t},\n\tonInit() {\n\t\tif (!window.customElements.get(COMMENTS_TAG_NAME)) {\n\t\t\twindow.customElements.define(COMMENTS_TAG_NAME, createCommentsElement())\n\t\t}\n\t\treturn Promise.resolve()\n\t},\n})\n\nlet nativeUnreadActionAdopted = false\n\nexport const action: IFileAction = {\n\tid: 'korean-comments-action',\n\tdisplayName: () => '',\n\ttitle: (context) => {\n\t\tconst count = commentCount(context)\n\t\treturn count > 0 ? `댓글 ${count}개` : '댓글 작성'\n\t},\n\ticonSvgInline: (context) => commentCount(context) > 0 ? HAS_COMMENTS_ICON : EMPTY_COMMENT_ICON,\n\tenabled(context) {\n\t\treturn isEligibleContext(context)\n\t\t\t&& (!nativeUnreadActionAdopted || unreadCommentCount(context) === 0)\n\t},\n\tasync exec(context) {\n\t\tconst [node] = context.nodes\n\t\tif (!node || !isEligibleContext(context)) {\n\t\t\treturn false\n\t\t}\n\n\t\ttry {\n\t\t\tconst sidebar = getSidebar()\n\t\t\tif (sidebar.isOpen && sidebar.node?.source === node.source) {\n\t\t\t\tsidebar.setActiveTab(COMMENTS_TAB_ID)\n\t\t\t} else {\n\t\t\t\tsidebar.open(node, COMMENTS_TAB_ID)\n\t\t\t}\n\t\t\treturn null\n\t\t} catch (error) {\n\t\t\tconsole.error('Could not open the comments-only sidebar', error)\n\t\t\treturn false\n\t\t}\n\t},\n\tinline: () => true,\n\torder: -45,\n}\n\nexport function adoptNativeUnreadAction(nativeAction: IFileAction): boolean {\n\tif (nativeAction.id !== 'comments-unread' || typeof nativeAction.enabled !== 'function') {\n\t\treturn false\n\t}\n\tconst originalEnabled = nativeAction.enabled\n\tnativeAction.displayName = action.displayName\n\tnativeAction.title = action.title\n\tnativeAction.iconSvgInline = () => HAS_COMMENTS_ICON\n\tnativeAction.exec = action.exec\n\tnativeAction.inline = action.inline\n\tnativeAction.enabled = (context) => isEligibleContext(context)\n\t\t&& originalEnabled(context) === true\n\tnativeUnreadActionAdopted = true\n\treturn true\n}\n\nfor (const fileAction of getFileActions()) {\n\tadoptNativeUnreadAction(fileAction)\n}\n\ngetFilesRegistry().addEventListener('register:action', (event) => {\n\tadoptNativeUnreadAction((event as CustomEvent<IFileAction>).detail)\n})\n\nregisterFileAction(action)\n"],"names":["getDefaultExportFromCjs","x","browser","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","timeout","len","args","i","Item","array","noop","name","dir","browserExports","process$1","debug_1","define_process_env_default","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","constants","require$$0","debug","require$$1","exports","module","re","safeRe","src","safeSrc","t","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","value","token","max","createToken","isGlobal","safe","index","looseOption","emptyOpts","parseOptions_1","options","numeric","compareIdentifiers","a","b","anum","bnum","identifiers","require$$2","parseOptions","require$$3","require$$4","isPrereleaseIdentifier","prerelease","identifier","SemVer","version","m","id","num","other","release","identifierBase","match","base","prereleaseBase","semver","loose","parse_1","throwErrors","er","parse","valid_1","v","ProxyBus","bus2","valid","major","handler","event","SimpleBus","h","e","bus","getBus","subscribe","unsubscribe","emit","linkToRemoteBase","service","generateRemoteUrl","ensureBaseUrlInNonDomEnvironment","getBaseUrl","ensureDomEnvironment","getRootUrl","webroot","pos","ScopedStorage","scope","wrapped","persistent","key","StorageBuilder","appId","persist","clear","getBuilder","_subscribeToTokenUpdates","getRequestToken","setRequestToken","onRequestTokenUpdate","observer","wrapper","error","_internal","currentUser","getAttribute","el","attribute","getCurrentUser","head","uid","LogLevel","LogLevel2","ConsoleLogger","context","message","level","msg","buildConsoleLogger","LoggerBuilder","factory","user","self","onLoaded","getLoggerBuilder","encodePath","path","basename","extname2","dirname","sections","extname","join","nonEmptyArgs","arg","lastArg","leadingSlash","trailingSlash","acc","section","first","scopedGlobals","logger","FileType","Permission","NodeStatus","isDavResource","source","davService","validateData","data","fixDates","fixRegExp","pattern","matches","validFlags","flag","Node","target","prop","origin","displayname","mime","mtime","size","permissions","idx","protocol","remainder","slashIndex","host","rawPath","safeUrl","url","firstMatch","root","status","destination","oldBasename","basename2","attributes","File","Folder","s","buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","c","rt","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","length","buf","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","alloc","fill","encoding","checked","string","actual","fromArrayLike","arrayView","copy","byteOffset","obj","numberIsNaN","y","list","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","str","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","received","addNumericalSeparator","checkBounds","type","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","ReflectApply","receiver","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","EventEmitter","eventsModule","once","defaultMaxListeners","checkListener","listener","_getMaxListeners","that","doError","events","err","listeners","arrayClone","_addListener","prepend","existing","w","onceWrapper","_onceWrap","state","position","originalListener","spliceOne","keys","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","resolve","reject","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","inherits_browserModule","ctor","superCtor","TempCtor","streamBrowser","shams","symObj","symVal","_","syms","descriptor","hasSymbols","esObjectAtoms","esErrors","_eval","ref","syntax","uri","abs","floor","pow","round","_isNaN","$isNaN","sign","number","gOPD","$gOPD","$defineProperty","esDefineProperty","origSymbol","hasSymbolSham","Reflect_getPrototypeOf","$Object","Object_getPrototypeOf","ERROR_MESSAGE","toStr","funcType","concatty","slicy","arrLike","joiny","joiner","implementation","bound","binder","result","boundLength","boundArgs","Empty","functionCall","functionApply","reflectApply","bind","$apply","$call","$reflectApply","actualApply","$TypeError","$actualApply","callBindApplyHelpers","callBind","hasProtoAccessor","desc","$getPrototypeOf","get","reflectGetProto","originalGetProto","getDunderProto","getProto","O","call","$hasOwn","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","TypedArray","INTRINSICS","errorProto","doEval","gen","LEGACY_ALIASES","require$$23","hasOwn","require$$24","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","GetIntrinsic","callBindBasic","$indexOf","hasToStringTag","callBound","$toString","isStandardArguments","isLegacyArguments","supportsStandardArguments","isArguments","isRegexMarker","throwRegexMarker","badStringifier","hasLastIndexDataProperty","regexClass","isRegex","regex","cached","safeRegexTest","isFnRegex","fnToStr","getGeneratorFunction","isGeneratorFunction","GeneratorFunction","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","isIE68","isDDA","all","isCallable","strClass","hasOwnProperty","forEachArray","iterator","forEachString","forEachObject","object","k","isArray","forEach","thisArg","possibleTypedArrayNames","possibleNames","g","global","availableTypedArrays","gopd","property","nonEnumerable","nonWritable","nonConfigurable","hasPropertyDescriptors","hasPropertyDescriptors_1","define","hasDescriptors","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","applyBind","originalFunction","func","adjustedLength","typedArrays","$slice","cache","typedArray","superProto","tryTypedArrays","getter","trySlices","isTATag","tag","whichTypedArray","whichTypedArray_1","isTypedArray","isArgumentsObject","uncurryThis","f","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isPromise","isArrayBufferView","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMapToString","isMap","isSetToString","isSet","isWeakMapToString","isWeakMap","isWeakSetToString","isWeakSet","isArrayBufferToString","isArrayBuffer","isDataViewToString","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isBoxedPrimitive","isAnyArrayBuffer","method","isBufferBrowser","getOwnPropertyDescriptors","descriptors","formatRegExp","isString","objects","inspect","isNull","isObject","warned","deprecated","debugs","debugEnvRegex","debugEnv","set","pid","opts","ctx","stylizeNoColor","isBoolean","isUndefined","stylizeWithColor","formatValue","styleType","style","arrayToHash","hash","recurseTimes","isFunction","primitive","formatPrimitive","visibleKeys","isError","formatError","isRegExp","isDate","braces","formatArray","formatProperty","reduceToSingleString","simple","isNumber","l","line","prev","cur","ar","isNullOrUndefined","isSymbol","objectToString","isPrimitive","o","pad","months","timestamp","time","add","kCustomPromisifiedSymbol","original","promiseResolve","promiseReject","promise","callbackifyOnRejected","reason","cb","newReason","callbackify","callbackified","maybeCb","rej","ownKeys","enumerableOnly","symbols","_objectSpread","_defineProperty","_toPropertyKey","_classCallCheck","instance","Constructor","_defineProperties","props","_createClass","protoProps","staticProps","_toPrimitive","hint","prim","_require","_require2","custom","copyBuffer","BufferList","entry","p","hasStrings","nb","destroy","_this","readableDestroyed","writableDestroyed","emitErrorNT","emitCloseNT","emitErrorAndCloseNT","undestroy","errorOrDestroy","stream","rState","wState","_inheritsLoose","subClass","superClass","codes","createErrorType","arg1","arg2","arg3","NodeError","_Base","oneOf","expected","thing","startsWith","search","endsWith","this_len","includes","determiner","errorsBrowser","ERR_INVALID_OPT_VALUE","highWaterMarkFrom","isDuplex","duplexKey","getHighWaterMark","hwm","deprecate","config","_stream_writable","Writable","CorkedRequest","onCorkedFinish","Duplex","WritableState","internalUtil","Stream","OurUint8Array","_uint8ArrayToBuffer","chunk","_isUint8Array","destroyImpl","_require$codes","ERR_INVALID_ARG_TYPE","ERR_METHOD_NOT_IMPLEMENTED","ERR_MULTIPLE_CALLBACK","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","noDecode","onwrite","current","realHasInstance","writeAfterEnd","validChunk","isBuf","writeOrBuffer","clearBuffer","decodeChunk","newChunk","doWrite","writev","onwriteError","sync","finishMaybe","onwriteStateUpdate","finished","needFinish","afterWrite","onwriteDrain","holder","count","allBuffers","endWritable","callFinal","prefinish","need","corkReq","objectKeys","_stream_duplex","Readable","onend","onEndNT","copyProps","SafeBuffer","isEncoding","_normalizeEncoding","enc","retried","normalizeEncoding","nenc","string_decoder","StringDecoder","utf16Text","utf16End","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","r","utf8End","utf8Text","utf8CheckByte","byte","utf8CheckIncomplete","utf8CheckExtraBytes","total","ERR_STREAM_PREMATURE_CLOSE","callback","called","_len","_key","isRequest","eos","readable","writable","onlegacyfinish","onfinish","writableEnded","readableEnded","onerror","onclose","onrequest","endOfStream","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","done","readAndResolve","iter","onReadable","wrapForNext","lastPromise","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","_this2","createReadableStreamAsyncIterator","_Object$create","async_iterator","fromBrowser","_stream_readable","ReadableState","EElistenerCount","debugUtil","ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","kProxyEvents","prependListener","skipChunkCheck","readableAddChunk","addToFront","onEofChunk","chunkInvalid","addChunk","maybeReadMore","emitReadable","decoder","content","MAX_HWM","computeNewHighWaterMark","howMuchToRead","nOrig","endReadable","doRead","fromList","emitReadable_","flow","maybeReadMore_","dest","pipeOpts","doEnd","endFn","unpipe","onunpipe","unpipeInfo","cleanup","ondrain","pipeOnDrain","cleanedUp","ondata","indexOf","dests","ev","nReadingNextTick","updateReadableListening","resume","resume_","paused","endReadableNT","iterable","xs","_stream_transform","Transform","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","rs","err2","_stream_passthrough","PassThrough","ERR_MISSING_ARGS","destroyer","reading","writing","closed","destroyed","pipe","to","popCallback","streams","pipeline","destroys","pipeline_1","streamBrowserify","EE","inherits","didOnEnd","sax","strict","opt","SAXParser","SAXStream","createStream","buffers","parser","clearBuffers","S","rootNS","F","newf","checkBufferLength","maxAllowed","maxActual","closeText","emitNode","flushBuffers","write","streamWraps","determineBufferEncoding","isEnd","me","finalChunk","CDATAre","DOCTYPEre","XML_NAMESPACE","XMLNS_NAMESPACE","nameStart","nameBody","entityStart","entityBody","isWhitespace","isQuote","isAttribEnd","isMatch","notMatch","getDeclaredEncoding","body","normalizeEncodingName","encodingsMatch","detectedEncoding","declaredEncoding","detected","declared","validateXmlDeclarationEncoding","strictFail","nodeType","textopts","text","newTag","parent","qname","qualName","prefix","local","attrib","qn","openTag","selfClosing","nv","closeTag","tagName","closeTo","close","parseEntity","entity","entityLC","numStr","isXmlChar","beginWhiteSpace","charAt","starti","procInstEndData","returnState","parsedEntity","stringFromCharCode","fromCodePoint","MAX_SIZE","codeUnits","highSurrogate","lowSurrogate","namespaceMapping","rootNameMapping","XmlTextDetector","node","isSvg","validate","xmlTextDetector","loadState","app","fallback","selector","elem","parsedValue","_arrayLikeToArray","_arrayWithHoles","_iterableToArrayLimit","u","_nonIterableRest","_slicedToArray","_unsupportedIterableToArray","entries","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","apply","construct","Func","_len2","_key2","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySplice","arrayIsArray","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","numberToString","booleanToString","bigintToString","symbolToString","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","_len3","_key3","_len4","_key4","addToSet","transformCaseFunc","element","lcElement","cleanArray","clone","newObject","_ref2","_ref3","stringifyValue","valueAsRecord","valueToString","lookupGetter","stringified","fallbackValue","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","ELEMENT_MARKUP_PROBE","COMMENT_MARKUP_PROBE","FALLBACK_TAG_CLOSE","SELF_CLOSING_TAG","NODE_TYPE","LITERAL_TEXT_ELEMENT_NAMES","LITERAL_TEXT_ELEMENTS","LITERAL_TEXT_CLOSE","map","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","_resolveSetOption","cfg","_resolveObjectOption","makeFallback","createDOMPurify","window","DOMPurify","document","originalDocument","currentScript","HTMLTemplateElement","Element","NodeFilter","DOMParser","ElementPrototype","cloneNode","remove","removeAttributeNode","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","getOwnerDocument","_readNodeType","_readNodeName","template","trustedTypesPolicy","emptyHTML","defaultTrustedTypesPolicy","defaultTrustedTypesPolicyResolved","IN_TRUSTED_TYPES_POLICY","_assertNotInTrustedTypesPolicy","_createTrustedHTML","_createTrustedScriptURL","_getDefaultTrustedTypesPolicy","_document","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","CUSTOM_ELEMENT$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","SET_CONFIG_ALLOWED_TAGS","SET_CONFIG_ALLOWED_ATTR","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","DEFAULT_MATHML_TEXT_INTEGRATION_POINTS","MATHML_TEXT_INTEGRATION_POINTS","DEFAULT_HTML_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","customElementHandling","previousTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkSvgNamespace","parentTagName","_checkMathMlNamespace","_checkHtmlNamespace","_checkValidNamespace","_forceRemove","_stripAttributeNode","_neutralizeRoot","_neutralizeSubtree","childNodes","snapshot","child","_removeAttribute","attr","_stripDisallowedAttributes","stack","_isPatchLinkageAttribute","lcName","lcTag","_neutralizePatchLinkage","_initDocument","dirty","doc","leadingWhitespace","dirtyPayload","_createNodeIterator","_stripTemplateExpressions","_scrubTemplateExpressions2","_node$querySelectorAl","walker","currentNode","templates","tmpl","_isDocumentFragment","_isClobbered","realTagName","_isNode","_executeHooks","hook","_isUnsafeNode","_matchesNameCheck","check","_sanitizeDisallowedNode","_isBasicCustomElement","parentNode","childCount","hoisted","_forkSharedAllowlist","hookList","defaultSet","setConfigSet","_handleHookDetachedNode","_sanitizeElements","removed","_isValidAttribute","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_applyTrustedTypesToAttribute","namespaceURI","_setAttributeValue","_sanitizeAttributes","hookEvent","attrValue","initValue","recreatedNamedProp","_sanitizeShadowDOM2","fragment","shadowNode","shadowIterator","innerSr","_sanitizeAttachedShadowRoots","item","isElement","rootName","sr","importedNode","returnNode","inPlace","nn","walkRoot","nodeIterator","serializedHTML","entryPoint","hookFunction","FilesRegistry","TypedEventTarget","getRegistry","getFilesRegistry","DefaultType","registerFileAction","action","validateAction$1","getFileActions","registerSidebarAction","validateSidebarAction","registerSidebarTab","tab","validateSidebarTab","SidebarProxy","#impl","tabId","getSidebar","isPublicShare","getSharingToken","N","A","P","T","C","$","I","M","L","D","U","V","W","B","G","z","q","H","Y","X","Q","Z","J","K","tt","et","nt","it","st","ot","at","ht","lt","ut","ct","pt","ft","dt","gt","mt","yt","bt","vt","wt","xt","Nt","#t","#e","#n","#r","#i","#s","#o","#a","#h","#l","#u","#c","#p","#f","#d","#g","#m","#y","#b","#v","#w","#x","#N","#E","Et","Xt","At","St","Pt","Tt","Ot","Ct","_t","$t","jt","It","Mt","Rt","kt","Lt","Dt","Wt","Ut","Bt","Ft","Vt","Gt","zt","qt","Ht","Yt","#A","#S","#P","Zt","Jt","Kt","Qt","te","ee","ne","ie","se","oe","ae","he","le","ue","ce","pe","fe","de","ge","ye","be","ve","we","xe","Ne","Ee","Ae","Se","Pe","Te","Oe","Ce","_e","$e","je","Ie","Me","Re","ke","Le","De","Ue","Fe","ze","Ve","We","Ge","Xe","He","Qe","Ye","qe","tn","Be","Ze","en","Ke","Je","Jr","rn","sn","on","an","hn","un","ln","cn","pn","vn","xn","dn","gn","mn","yn","wn","bn","En","An","Sn","Pn","Tn","On","Cn","_n","$n","jn","In","Mn","Rn","kn","Ln","Dn","Vn","Gn","Wn","Bn","Fn","zn","Un","Hn","Yn","Xn","Zn","Jn","Kn","Qn","tr","nr","or","rr","ir","hr","gr","pr","lr","dr","fr","ur","cr","mr","yr","wr","br","vr","xr","Nr","Er","Ar","Sr","Pr","Tr","Or","Cr","_r","$r","jr","Ir","Mr","Rr","kr","Lr","Dr","Ur","Wr","Fr","Vr","Br","Gr","zr","parsePermissions","permString","defaultDavProperties","defaultDavNamespaces","registerDavProperty","namespace","namespaces","ns","getDavProperties","getDavNameSpaces","getRootPath","defaultRootPath","getRemoteURL","defaultRemoteURL","getClient","remoteURL","headers","client","createClient","setHeaders","getPatcher","headers2","resultToNode","filesRoot","userId","owner","crtime","nodeData","COMMENTS_TAB_ID","COMMENTS_TAG_NAME","EMPTY_COMMENT_ICON","HAS_COMMENTS_ICON","commentsAppAvailable","commentCount","unreadCommentCount","isEligibleContext","commentRefreshSequence","refreshCommentCount","sequence","response","stat","previous","previousCount","waitForCommentsView","deadline","CommentsView","createCommentsElement","timer","resourceId","generation","retry","existingTimer","nativeUnreadActionAdopted","sidebar","adoptNativeUnreadAction","nativeAction","originalEnabled","fileAction"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]}