From 2496d3db8d63643161ca74efa6e835d6cd09d86c Mon Sep 17 00:00:00 2001 From: SocksTheWolf <132639882+SocksTheWolf@users.noreply.github.com> Date: Wed, 18 Mar 2026 19:48:51 -0700 Subject: [PATCH] update to node24 --- .github/workflows/ci.yml | 2 +- README.md | 2 +- action.yml | 2 +- lib/index.js | 45315 ++++++++++++++++++++++++++++--------- package.json | 16 +- yarn.lock | 9090 +++++--- 6 files changed, 40058 insertions(+), 14369 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 864d77c..aefe861 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 24 - run: yarn install - run: yarn build diff --git a/README.md b/README.md index d05aae9..65b2a36 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Edit or Read the content of any json file or the `package.json` that you want. path: "package.json" # default value replaceWith: | { - "engines": { "node": "20" } + "engines": { "node": "24" } "version": 10 } diff --git a/action.yml b/action.yml index a1134c6..8fa9f51 100644 --- a/action.yml +++ b/action.yml @@ -38,7 +38,7 @@ outputs: description: "cpu field in package.json, Specify that your code only runs on certain cpu architectures." runs: - using: 'node20' + using: 'node24' main: 'lib/index.js' branding: diff --git a/lib/index.js b/lib/index.js index 44f3227..316250b 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,12177 +1,35424 @@ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ 28: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ 8506 +(module, __unused_webpack_exports, __webpack_require__) { -"use strict"; +/* unused reexport */ __webpack_require__(1746); +/***/ }, -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); -var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function get() { - return m[k]; - } - }); -} : function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); -var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) { - Object.defineProperty(o, "default", { - enumerable: true, - value: v - }); -} : function (o, v) { - o["default"] = v; -}); -var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) { - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.issue = exports.issueCommand = void 0; -var os = __importStar(__webpack_require__(37)); -var utils_1 = __webpack_require__(600); -/** - * Commands - * - * Command Format: - * ::name key=value,key=value::message - * - * Examples: - * ::warning::This is the message - * ::set-env name=MY_VAR::some value - */ -function issueCommand(command, properties, message) { - var cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); +/***/ 1746 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +var __webpack_unused_export__; + + +var net = __webpack_require__(9278); +var tls = __webpack_require__(4756); +var http = __webpack_require__(8611); +var https = __webpack_require__(5692); +var events = __webpack_require__(4434); +var assert = __webpack_require__(2613); +var util = __webpack_require__(9023); +__webpack_unused_export__ = httpOverHttp; +__webpack_unused_export__ = httpsOverHttp; +__webpack_unused_export__ = httpOverHttps; +__webpack_unused_export__ = httpsOverHttps; +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; } -exports.issueCommand = issueCommand; -function issue(name) { - var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; - issueCommand(name, {}, message); +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; } -exports.issue = issue; -var CMD_STRING = '::'; -var Command = /*#__PURE__*/function () { - function Command(command, properties, message) { - _classCallCheck(this, Command); - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - _createClass(Command, [{ - key: "toString", - value: function toString() { - var cmdStr = CMD_STRING + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - var first = true; - for (var key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - var val = this.properties[key]; - if (val) { - if (first) { - first = false; - } else { - cmdStr += ','; - } - cmdStr += "".concat(key, "=").concat(escapeProperty(val)); - } - } - } +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; } - cmdStr += "".concat(CMD_STRING).concat(escapeData(this.message)); - return cmdStr; } - }]); - return Command; -}(); -function escapeData(s) { - return utils_1.toCommandValue(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A'); -} -function escapeProperty(s) { - return utils_1.toCommandValue(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C'); + socket.destroy(); + self.removeSocket(socket); + }); } +util.inherits(TunnelingAgent, events.EventEmitter); +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({ + request: req + }, self.options, toOptions(host, port, localAddress)); + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } -/***/ }), - -/***/ 397: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; - - -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function get() { - return m[k]; + // If we are under maxSockets create a new one. + self.createSocket(options, function (socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + function onFree() { + self.emit('free', socket, options); + } + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); } }); -} : function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); -var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) { - Object.defineProperty(o, "default", { - enumerable: true, - value: v +}; +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } }); -} : function (o, v) { - o["default"] = v; -}); -var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) { - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; } - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function () { + onConnect(res, socket, head); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; -var command_1 = __webpack_require__(28); -var file_command_1 = __webpack_require__(35); -var utils_1 = __webpack_require__(600); -var os = __importStar(__webpack_require__(37)); -var path = __importStar(__webpack_require__(17)); -var oidc_utils_1 = __webpack_require__(335); -/** - * The code to exit an action - */ -var ExitCode; -(function (ExitCode) { - /** - * A code indicating that the action was successful - */ - ExitCode[ExitCode["Success"] = 0] = "Success"; - /** - * A code indicating that the action was a failure - */ - ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); -//----------------------------------------------------------------------- -// Variables -//----------------------------------------------------------------------- -/** - * Sets env variable for this action and future actions in the job - * @param name the name of the variable to set - * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function exportVariable(name, val) { - var convertedVal = utils_1.toCommandValue(val); - process.env[name] = convertedVal; - var filePath = process.env['GITHUB_ENV'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); } - command_1.issueCommand('set-env', { - name: name - }, convertedVal); -} -exports.exportVariable = exportVariable; -/** - * Registers a secret which will get masked from logs - * @param secret value of the secret - */ -function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); -} -exports.setSecret = setSecret; -/** - * Prepends inputPath to the PATH (for this action and future actions) - * @param inputPath - */ -function addPath(inputPath) { - var filePath = process.env['GITHUB_PATH'] || ''; - if (filePath) { - file_command_1.issueFileCommand('PATH', inputPath); - } else { - command_1.issueCommand('add-path', {}, inputPath); - } - process.env['PATH'] = "".concat(inputPath).concat(path.delimiter).concat(process.env['PATH']); -} -exports.addPath = addPath; -/** - * Gets the value of an input. - * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. - * Returns an empty string if the value is not defined. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string - */ -function getInput(name, options) { - var val = process.env["INPUT_".concat(name.replace(/ /g, '_').toUpperCase())] || ''; - if (options && options.required && !val) { - throw new Error("Input required and not supplied: ".concat(name)); + function onError(cause) { + connectReq.removeAllListeners(); + debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); } - if (options && options.trimWhitespace === false) { - return val; +}; +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket); + if (pos === -1) { + return; } - return val.trim(); -} -exports.getInput = getInput; -/** - * Gets the values of an multiline input. Each value is also trimmed. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string[] - * - */ -function getMultilineInput(name, options) { - var inputs = getInput(name, options).split('\n').filter(function (x) { - return x !== ''; - }); - if (options && options.trimWhitespace === false) { - return inputs; + this.sockets.splice(pos, 1); + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function (socket) { + pending.request.onSocket(socket); + }); } - return inputs.map(function (input) { - return input.trim(); +}; +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function (socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); }); } -exports.getMultilineInput = getMultilineInput; -/** - * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. - * Support boolean input list: `true | True | TRUE | false | False | FALSE` . - * The return value is also in boolean type. - * ref: https://yaml.org/spec/1.2/spec.html#id2804923 - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns boolean - */ -function getBooleanInput(name, options) { - var trueValue = ['true', 'True', 'TRUE']; - var falseValue = ['false', 'False', 'FALSE']; - var val = getInput(name, options); - if (trueValue.includes(val)) return true; - if (falseValue.includes(val)) return false; - throw new TypeError("Input does not meet YAML 1.2 \"Core Schema\" specification: ".concat(name, "\n") + "Support boolean input list: `true | True | TRUE | false | False | FALSE`"); -} -exports.getBooleanInput = getBooleanInput; -/** - * Sets the value of an output. - * - * @param name name of the output to set - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function setOutput(name, value) { - var filePath = process.env['GITHUB_OUTPUT'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { + // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; } - process.stdout.write(os.EOL); - command_1.issueCommand('set-output', { - name: name - }, utils_1.toCommandValue(value)); -} -exports.setOutput = setOutput; -/** - * Enables or disables the echoing of commands into stdout for the rest of the step. - * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. - * - */ -function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); -} -exports.setCommandEcho = setCommandEcho; -//----------------------------------------------------------------------- -// Results -//----------------------------------------------------------------------- -/** - * Sets the action status to failed. - * When the action exits it will be with an exit code of 1 - * @param message add error issue message - */ -function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); -} -exports.setFailed = setFailed; -//----------------------------------------------------------------------- -// Logging Commands -//----------------------------------------------------------------------- -/** - * Gets whether Actions Step Debug is on or not - */ -function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; -} -exports.isDebug = isDebug; -/** - * Writes debug message to user log - * @param message debug message - */ -function debug(message) { - command_1.issueCommand('debug', {}, message); + return host; // for v0.11 or later } -exports.debug = debug; -/** - * Adds an error issue - * @param message error issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function error(message) { - var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; } -exports.error = error; -/** - * Adds a warning issue - * @param message warning issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function warning(message) { - var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function debug() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + }; +} else { + debug = function debug() {}; } -exports.warning = warning; -/** - * Adds a notice issue - * @param message notice issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function notice(message) { - var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +__webpack_unused_export__ = debug; // for test + +/***/ }, + +/***/ 7800 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var __webpack_unused_export__; + + +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _globalThis$File; +var Client = __webpack_require__(9085); +var Dispatcher = __webpack_require__(747); +var Pool = __webpack_require__(9452); +var BalancedPool = __webpack_require__(7629); +var Agent = __webpack_require__(5765); +var ProxyAgent = __webpack_require__(3384); +var EnvHttpProxyAgent = __webpack_require__(2457); +var RetryAgent = __webpack_require__(7738); +var errors = __webpack_require__(3515); +var util = __webpack_require__(6632); +var InvalidArgumentError = errors.InvalidArgumentError; +var api = __webpack_require__(8015); +var buildConnector = __webpack_require__(200); +var MockClient = __webpack_require__(6717); +var MockAgent = __webpack_require__(933); +var MockPool = __webpack_require__(9900); +var mockErrors = __webpack_require__(7861); +var RetryHandler = __webpack_require__(3728); +var _require = __webpack_require__(4397), + getGlobalDispatcher = _require.getGlobalDispatcher, + setGlobalDispatcher = _require.setGlobalDispatcher; +var DecoratorHandler = __webpack_require__(6435); +var RedirectHandler = __webpack_require__(3898); +var createRedirectInterceptor = __webpack_require__(844); +Object.assign(Dispatcher.prototype, api); +__webpack_unused_export__ = Dispatcher; +__webpack_unused_export__ = Client; +__webpack_unused_export__ = Pool; +__webpack_unused_export__ = BalancedPool; +__webpack_unused_export__ = Agent; +__webpack_unused_export__ = ProxyAgent; +__webpack_unused_export__ = EnvHttpProxyAgent; +__webpack_unused_export__ = RetryAgent; +__webpack_unused_export__ = RetryHandler; +__webpack_unused_export__ = DecoratorHandler; +__webpack_unused_export__ = RedirectHandler; +__webpack_unused_export__ = createRedirectInterceptor; +__webpack_unused_export__ = { + redirect: __webpack_require__(9698), + retry: __webpack_require__(1186), + dump: __webpack_require__(8052), + dns: __webpack_require__(7939) +}; +__webpack_unused_export__ = buildConnector; +__webpack_unused_export__ = errors; +__webpack_unused_export__ = { + parseHeaders: util.parseHeaders, + headerNameToString: util.headerNameToString +}; +function makeDispatcher(fn) { + return function (url, opts, handler) { + if (typeof opts === 'function') { + handler = opts; + opts = null; + } + if (!url || typeof url !== 'string' && typeof url !== 'object' && !(url instanceof URL)) { + throw new InvalidArgumentError('invalid url'); + } + if (opts != null && typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); + } + if (opts && opts.path != null) { + if (typeof opts.path !== 'string') { + throw new InvalidArgumentError('invalid opts.path'); + } + var path = opts.path; + if (!opts.path.startsWith('/')) { + path = "/".concat(path); + } + url = new URL(util.parseOrigin(url).origin + path); + } else { + if (!opts) { + opts = typeof url === 'object' ? url : {}; + } + url = util.parseURL(url); + } + var _opts = opts, + agent = _opts.agent, + _opts$dispatcher = _opts.dispatcher, + dispatcher = _opts$dispatcher === void 0 ? getGlobalDispatcher() : _opts$dispatcher; + if (agent) { + throw new InvalidArgumentError('unsupported opts.agent. Did you mean opts.client?'); + } + return fn.call(dispatcher, _objectSpread(_objectSpread({}, opts), {}, { + origin: url.origin, + path: url.search ? "".concat(url.pathname).concat(url.search) : url.pathname, + method: opts.method || (opts.body ? 'PUT' : 'GET') + }), handler); + }; } -exports.notice = notice; -/** - * Writes info to log with console.log. - * @param message info message - */ -function info(message) { - process.stdout.write(message + os.EOL); +__webpack_unused_export__ = setGlobalDispatcher; +__webpack_unused_export__ = getGlobalDispatcher; +var fetchImpl = (__webpack_require__(1574).fetch); +__webpack_unused_export__ = /*#__PURE__*/function () { + var _fetch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(init) { + var options, + _args = arguments, + _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + options = _args.length > 1 && _args[1] !== undefined ? _args[1] : undefined; + _context.p = 1; + _context.n = 2; + return fetchImpl(init, options); + case 2: + return _context.a(2, _context.v); + case 3: + _context.p = 3; + _t = _context.v; + if (_t && typeof _t === 'object') { + Error.captureStackTrace(_t); + } + throw _t; + case 4: + return _context.a(2); + } + }, _callee, null, [[1, 3]]); + })); + function fetch(_x) { + return _fetch.apply(this, arguments); + } + return fetch; +}(); +/* unused reexport */ __webpack_require__(8588).Headers; +/* unused reexport */ __webpack_require__(6803).Response; +/* unused reexport */ __webpack_require__(1447).Request; +/* unused reexport */ __webpack_require__(7662).FormData; +__webpack_unused_export__ = (_globalThis$File = globalThis.File) !== null && _globalThis$File !== void 0 ? _globalThis$File : (__webpack_require__(4573).File); +/* unused reexport */ __webpack_require__(187).FileReader; +var _require2 = __webpack_require__(2795), + setGlobalOrigin = _require2.setGlobalOrigin, + getGlobalOrigin = _require2.getGlobalOrigin; +__webpack_unused_export__ = setGlobalOrigin; +__webpack_unused_export__ = getGlobalOrigin; +var _require3 = __webpack_require__(7621), + CacheStorage = _require3.CacheStorage; +var _require4 = __webpack_require__(3861), + kConstruct = _require4.kConstruct; + +// Cache & CacheStorage are tightly coupled with fetch. Even if it may run +// in an older version of Node, it doesn't have any use without fetch. +__webpack_unused_export__ = new CacheStorage(kConstruct); +var _require5 = __webpack_require__(861), + deleteCookie = _require5.deleteCookie, + getCookies = _require5.getCookies, + getSetCookies = _require5.getSetCookies, + setCookie = _require5.setCookie; +__webpack_unused_export__ = deleteCookie; +__webpack_unused_export__ = getCookies; +__webpack_unused_export__ = getSetCookies; +__webpack_unused_export__ = setCookie; +var _require6 = __webpack_require__(8388), + parseMIMEType = _require6.parseMIMEType, + serializeAMimeType = _require6.serializeAMimeType; +__webpack_unused_export__ = parseMIMEType; +__webpack_unused_export__ = serializeAMimeType; +var _require7 = __webpack_require__(8028), + CloseEvent = _require7.CloseEvent, + ErrorEvent = _require7.ErrorEvent, + MessageEvent = _require7.MessageEvent; +/* unused reexport */ __webpack_require__(4966).WebSocket; +__webpack_unused_export__ = CloseEvent; +__webpack_unused_export__ = ErrorEvent; +__webpack_unused_export__ = MessageEvent; +__webpack_unused_export__ = makeDispatcher(api.request); +__webpack_unused_export__ = makeDispatcher(api.stream); +__webpack_unused_export__ = makeDispatcher(api.pipeline); +__webpack_unused_export__ = makeDispatcher(api.connect); +__webpack_unused_export__ = makeDispatcher(api.upgrade); +__webpack_unused_export__ = MockClient; +__webpack_unused_export__ = MockPool; +__webpack_unused_export__ = MockAgent; +__webpack_unused_export__ = mockErrors; +var _require8 = __webpack_require__(1054), + EventSource = _require8.EventSource; +__webpack_unused_export__ = EventSource; + +/***/ }, + +/***/ 9350 +(module, __unused_webpack_exports, __webpack_require__) { + +var _require = __webpack_require__(6632), + addAbortListener = _require.addAbortListener; +var _require2 = __webpack_require__(3515), + RequestAbortedError = _require2.RequestAbortedError; +var kListener = Symbol('kListener'); +var kSignal = Symbol('kSignal'); +function abort(self) { + if (self.abort) { + var _self$kSignal; + self.abort((_self$kSignal = self[kSignal]) === null || _self$kSignal === void 0 ? void 0 : _self$kSignal.reason); + } else { + var _self$kSignal$reason, _self$kSignal2; + self.reason = (_self$kSignal$reason = (_self$kSignal2 = self[kSignal]) === null || _self$kSignal2 === void 0 ? void 0 : _self$kSignal2.reason) !== null && _self$kSignal$reason !== void 0 ? _self$kSignal$reason : new RequestAbortedError(); + } + removeSignal(self); } -exports.info = info; -/** - * Begin an output group. - * - * Output until the next `groupEnd` will be foldable in this group - * - * @param name The name of the output group - */ -function startGroup(name) { - command_1.issue('group', name); +function addSignal(self, signal) { + self.reason = null; + self[kSignal] = null; + self[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self); + return; + } + self[kSignal] = signal; + self[kListener] = function () { + abort(self); + }; + addAbortListener(self[kSignal], self[kListener]); } -exports.startGroup = startGroup; -/** - * End an output group. - */ -function endGroup() { - command_1.issue('endgroup'); +function removeSignal(self) { + if (!self[kSignal]) { + return; + } + if ('removeEventListener' in self[kSignal]) { + self[kSignal].removeEventListener('abort', self[kListener]); + } else { + self[kSignal].removeListener('abort', self[kListener]); + } + self[kSignal] = null; + self[kListener] = null; } -exports.endGroup = endGroup; -/** - * Wrap an asynchronous function call in a group. - * - * Returns the same type as the function itself. - * - * @param name The name of the group - * @param fn The function to wrap in the group - */ -function group(name, fn) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { - var result; - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - startGroup(name); - _context.prev = 1; - _context.next = 4; - return fn(); - case 4: - result = _context.sent; - case 5: - _context.prev = 5; - endGroup(); - return _context.finish(5); - case 8: - return _context.abrupt("return", result); - case 9: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[1,, 5, 8]]); - })); -} -exports.group = group; -//----------------------------------------------------------------------- -// Wrapper action state -//----------------------------------------------------------------------- -/** - * Saves state for current action, the state can only be retrieved by this action's post job execution. - * - * @param name name of the state to store - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function saveState(name, value) { - var filePath = process.env['GITHUB_STATE'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); - } - command_1.issueCommand('save-state', { - name: name - }, utils_1.toCommandValue(value)); -} -exports.saveState = saveState; -/** - * Gets the value of an state set by this action's main execution. - * - * @param name name of the state to get - * @returns string - */ -function getState(name) { - return process.env["STATE_".concat(name)] || ''; -} -exports.getState = getState; -function getIDToken(aud) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return oidc_utils_1.OidcClient.getIDToken(aud); - case 2: - return _context2.abrupt("return", _context2.sent); - case 3: - case "end": - return _context2.stop(); - } - } - }, _callee2); - })); -} -exports.getIDToken = getIDToken; -/** - * Summary exports - */ -var summary_1 = __webpack_require__(407); -Object.defineProperty(exports, "summary", ({ - enumerable: true, - get: function get() { - return summary_1.summary; - } -})); -/** - * @deprecated use core.summary - */ -var summary_2 = __webpack_require__(407); -Object.defineProperty(exports, "markdownSummary", ({ - enumerable: true, - get: function get() { - return summary_2.markdownSummary; - } -})); -/** - * Path exports - */ -var path_utils_1 = __webpack_require__(476); -Object.defineProperty(exports, "toPosixPath", ({ - enumerable: true, - get: function get() { - return path_utils_1.toPosixPath; - } -})); -Object.defineProperty(exports, "toWin32Path", ({ - enumerable: true, - get: function get() { - return path_utils_1.toWin32Path; - } -})); -Object.defineProperty(exports, "toPlatformPath", ({ - enumerable: true, - get: function get() { - return path_utils_1.toPlatformPath; - } -})); +module.exports = { + addSignal: addSignal, + removeSignal: removeSignal +}; -/***/ }), +/***/ }, -/***/ 35: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ 4652 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -// For internal use, subject to change. -var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function get() { - return m[k]; +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(6698), + AsyncResource = _require.AsyncResource; +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError, + SocketError = _require2.SocketError; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(9350), + addSignal = _require3.addSignal, + removeSignal = _require3.removeSignal; +var ConnectHandler = /*#__PURE__*/function (_AsyncResource) { + function ConnectHandler(opts, callback) { + var _this; + _classCallCheck(this, ConnectHandler); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - }); -} : function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); -var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) { - Object.defineProperty(o, "default", { - enumerable: true, - value: v - }); -} : function (o, v) { - o["default"] = v; -}); -var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) { - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; -// We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ -var fs = __importStar(__webpack_require__(147)); -var os = __importStar(__webpack_require__(37)); -var uuid_1 = __webpack_require__(779); -var utils_1 = __webpack_require__(600); -function issueFileCommand(command, message) { - var filePath = process.env["GITHUB_".concat(command)]; - if (!filePath) { - throw new Error("Unable to find environment variable for file command ".concat(command)); - } - if (!fs.existsSync(filePath)) { - throw new Error("Missing file at path: ".concat(filePath)); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + var signal = opts.signal, + opaque = opts.opaque, + responseHeaders = opts.responseHeaders; + if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); + } + _this = _callSuper(this, ConnectHandler, ['UNDICI_CONNECT']); + _this.opaque = opaque || null; + _this.responseHeaders = responseHeaders || null; + _this.callback = callback; + _this.abort = null; + addSignal(_this, signal); + return _this; } - fs.appendFileSync(filePath, "".concat(utils_1.toCommandValue(message)).concat(os.EOL), { - encoding: 'utf8' - }); -} -exports.issueFileCommand = issueFileCommand; -function prepareKeyValueMessage(key, value) { - var delimiter = "ghadelimiter_".concat(uuid_1.v4()); - var convertedValue = utils_1.toCommandValue(value); - // These should realistically never happen, but just in case someone finds a - // way to exploit uuid generation let's not allow keys or values that contain - // the delimiter. - if (key.includes(delimiter)) { - throw new Error("Unexpected input: name should not contain the delimiter \"".concat(delimiter, "\"")); + _inherits(ConnectHandler, _AsyncResource); + return _createClass(ConnectHandler, [{ + key: "onConnect", + value: function onConnect(abort, context) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context; + } + }, { + key: "onHeaders", + value: function onHeaders() { + throw new SocketError('bad connect', null); + } + }, { + key: "onUpgrade", + value: function onUpgrade(statusCode, rawHeaders, socket) { + var callback = this.callback, + opaque = this.opaque, + context = this.context; + removeSignal(this); + this.callback = null; + var headers = rawHeaders; + // Indicates is an HTTP2Session + if (headers != null) { + headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + } + this.runInAsyncScope(callback, null, null, { + statusCode: statusCode, + headers: headers, + socket: socket, + opaque: opaque, + context: context + }); + } + }, { + key: "onError", + value: function onError(err) { + var _this2 = this; + var callback = this.callback, + opaque = this.opaque; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(function () { + _this2.runInAsyncScope(callback, null, err, { + opaque: opaque + }); + }); + } + } + }]); +}(AsyncResource); +function connect(opts, callback) { + var _this3 = this; + if (callback === undefined) { + return new Promise(function (resolve, reject) { + connect.call(_this3, opts, function (err, data) { + return err ? reject(err) : resolve(data); + }); + }); } - if (convertedValue.includes(delimiter)) { - throw new Error("Unexpected input: value should not contain the delimiter \"".concat(delimiter, "\"")); + try { + var connectHandler = new ConnectHandler(opts, callback); + this.dispatch(_objectSpread(_objectSpread({}, opts), {}, { + method: 'CONNECT' + }), connectHandler); + } catch (err) { + if (typeof callback !== 'function') { + throw err; + } + var opaque = opts === null || opts === void 0 ? void 0 : opts.opaque; + queueMicrotask(function () { + return callback(err, { + opaque: opaque + }); + }); } - return "".concat(key, "<<").concat(delimiter).concat(os.EOL).concat(convertedValue).concat(os.EOL).concat(delimiter); } -exports.prepareKeyValueMessage = prepareKeyValueMessage; +module.exports = connect; -/***/ }), +/***/ }, -/***/ 335: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ 9926 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); -var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _require = __webpack_require__(7075), + Readable = _require.Readable, + Duplex = _require.Duplex, + PassThrough = _require.PassThrough; +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError, + InvalidReturnValueError = _require2.InvalidReturnValueError, + RequestAbortedError = _require2.RequestAbortedError; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(6698), + AsyncResource = _require3.AsyncResource; +var _require4 = __webpack_require__(9350), + addSignal = _require4.addSignal, + removeSignal = _require4.removeSignal; +var assert = __webpack_require__(4589); +var kResume = Symbol('resume'); +var PipelineRequest = /*#__PURE__*/function (_Readable) { + function PipelineRequest() { + var _this; + _classCallCheck(this, PipelineRequest); + _this = _callSuper(this, PipelineRequest, [{ + autoDestroy: true + }]); + _this[kResume] = null; + return _this; } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + _inherits(PipelineRequest, _Readable); + return _createClass(PipelineRequest, [{ + key: "_read", + value: function _read() { + var resume = this[kResume]; + if (resume) { + this[kResume] = null; + resume(); } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + }, { + key: "_destroy", + value: function _destroy(err, callback) { + this._read(); + callback(err); + } + }]); +}(Readable); +var PipelineResponse = /*#__PURE__*/function (_Readable2) { + function PipelineResponse(resume) { + var _this2; + _classCallCheck(this, PipelineResponse); + _this2 = _callSuper(this, PipelineResponse, [{ + autoDestroy: true + }]); + _this2[kResume] = resume; + return _this2; + } + _inherits(PipelineResponse, _Readable2); + return _createClass(PipelineResponse, [{ + key: "_read", + value: function _read() { + this[kResume](); + } + }, { + key: "_destroy", + value: function _destroy(err, callback) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); } + callback(err); } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + }]); +}(Readable); +var PipelineHandler = /*#__PURE__*/function (_AsyncResource) { + function PipelineHandler(opts, handler) { + var _this3; + _classCallCheck(this, PipelineHandler); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.OidcClient = void 0; -var http_client_1 = __webpack_require__(440); -var auth_1 = __webpack_require__(39); -var core_1 = __webpack_require__(397); -var OidcClient = /*#__PURE__*/function () { - function OidcClient() { - _classCallCheck(this, OidcClient); + if (typeof handler !== 'function') { + throw new InvalidArgumentError('invalid handler'); + } + var signal = opts.signal, + method = opts.method, + opaque = opts.opaque, + onInfo = opts.onInfo, + responseHeaders = opts.responseHeaders; + if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); + } + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method'); + } + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback'); + } + _this3 = _callSuper(this, PipelineHandler, ['UNDICI_PIPELINE']); + _this3.opaque = opaque || null; + _this3.responseHeaders = responseHeaders || null; + _this3.handler = handler; + _this3.abort = null; + _this3.context = null; + _this3.onInfo = onInfo || null; + _this3.req = new PipelineRequest().on('error', util.nop); + _this3.ret = new Duplex({ + readableObjectMode: opts.objectMode, + autoDestroy: true, + read: function read() { + var _this4 = _this3, + body = _this4.body; + if (body !== null && body !== void 0 && body.resume) { + body.resume(); + } + }, + write: function write(chunk, encoding, callback) { + var _this5 = _this3, + req = _this5.req; + if (req.push(chunk, encoding) || req._readableState.destroyed) { + callback(); + } else { + req[kResume] = callback; + } + }, + destroy: function destroy(err, callback) { + var _this6 = _this3, + body = _this6.body, + req = _this6.req, + res = _this6.res, + ret = _this6.ret, + abort = _this6.abort; + if (!err && !ret._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (abort && err) { + abort(); + } + util.destroy(body, err); + util.destroy(req, err); + util.destroy(res, err); + removeSignal(_this3); + callback(err); + } + }).on('prefinish', function () { + var _this7 = _this3, + req = _this7.req; + + // Node < 15 does not call _final in same tick. + req.push(null); + }); + _this3.res = null; + addSignal(_this3, signal); + return _this3; } - _createClass(OidcClient, null, [{ - key: "createHttpClient", - value: function createHttpClient() { - var allowRetry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - var maxRetry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; - var requestOptions = { - allowRetries: allowRetry, - maxRetries: maxRetry - }; - return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + _inherits(PipelineHandler, _AsyncResource); + return _createClass(PipelineHandler, [{ + key: "onConnect", + value: function onConnect(abort, context) { + var ret = this.ret, + res = this.res; + if (this.reason) { + abort(this.reason); + return; + } + assert(!res, 'pipeline cannot be retried'); + assert(!ret.destroyed); + this.abort = abort; + this.context = context; } }, { - key: "getRequestToken", - value: function getRequestToken() { - var token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; - if (!token) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + key: "onHeaders", + value: function onHeaders(statusCode, rawHeaders, resume) { + var _this8 = this; + var opaque = this.opaque, + handler = this.handler, + context = this.context; + if (statusCode < 200) { + if (this.onInfo) { + var headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + this.onInfo({ + statusCode: statusCode, + headers: headers + }); + } + return; } - return token; + this.res = new PipelineResponse(resume); + var body; + try { + this.handler = null; + var _headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + body = this.runInAsyncScope(handler, null, { + statusCode: statusCode, + headers: _headers, + opaque: opaque, + body: this.res, + context: context + }); + } catch (err) { + this.res.on('error', util.nop); + throw err; + } + if (!body || typeof body.on !== 'function') { + throw new InvalidReturnValueError('expected Readable'); + } + body.on('data', function (chunk) { + var ret = _this8.ret, + body = _this8.body; + if (!ret.push(chunk) && body.pause) { + body.pause(); + } + }).on('error', function (err) { + var ret = _this8.ret; + util.destroy(ret, err); + }).on('end', function () { + var ret = _this8.ret; + ret.push(null); + }).on('close', function () { + var ret = _this8.ret; + if (!ret._readableState.ended) { + util.destroy(ret, new RequestAbortedError()); + } + }); + this.body = body; } }, { - key: "getIDTokenUrl", - value: function getIDTokenUrl() { - var runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; - if (!runtimeUrl) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); - } - return runtimeUrl; + key: "onData", + value: function onData(chunk) { + var res = this.res; + return res.push(chunk); } }, { - key: "getCall", - value: function getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { - var httpclient, res, id_token; - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - httpclient = OidcClient.createHttpClient(); - _context.next = 3; - return httpclient.getJson(id_token_url)["catch"](function (error) { - throw new Error("Failed to get ID Token. \n \n Error Code : ".concat(error.statusCode, "\n \n Error Message: ").concat(error.result.message)); - }); - case 3: - res = _context.sent; - id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; - if (id_token) { - _context.next = 7; - break; - } - throw new Error('Response json body do not have ID Token field'); - case 7: - return _context.abrupt("return", id_token); - case 8: - case "end": - return _context.stop(); - } - } - }, _callee); - })); + key: "onComplete", + value: function onComplete(trailers) { + var res = this.res; + res.push(null); } }, { - key: "getIDToken", - value: function getIDToken(audience) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { - var id_token_url, encodedAudience, id_token; - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.prev = 0; - // New ID Token is requested from action service - id_token_url = OidcClient.getIDTokenUrl(); - if (audience) { - encodedAudience = encodeURIComponent(audience); - id_token_url = "".concat(id_token_url, "&audience=").concat(encodedAudience); - } - core_1.debug("ID token url is ".concat(id_token_url)); - _context2.next = 6; - return OidcClient.getCall(id_token_url); - case 6: - id_token = _context2.sent; - core_1.setSecret(id_token); - return _context2.abrupt("return", id_token); - case 11: - _context2.prev = 11; - _context2.t0 = _context2["catch"](0); - throw new Error("Error message: ".concat(_context2.t0.message)); - case 14: - case "end": - return _context2.stop(); - } - } - }, _callee2, null, [[0, 11]]); - })); + key: "onError", + value: function onError(err) { + var ret = this.ret; + this.handler = null; + util.destroy(ret, err); } }]); - return OidcClient; -}(); -exports.OidcClient = OidcClient; +}(AsyncResource); +function pipeline(opts, handler) { + try { + var pipelineHandler = new PipelineHandler(opts, handler); + this.dispatch(_objectSpread(_objectSpread({}, opts), {}, { + body: pipelineHandler.req + }), pipelineHandler); + return pipelineHandler.ret; + } catch (err) { + return new PassThrough().destroy(err); + } +} +module.exports = pipeline; -/***/ }), +/***/ }, -/***/ 476: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ 7299 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function get() { - return m[k]; +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _assertThisInitialized = (__webpack_require__(2475)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(5455), + Readable = _require.Readable; +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError, + RequestAbortedError = _require2.RequestAbortedError; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(7711), + getResolveErrorBodyCallback = _require3.getResolveErrorBodyCallback; +var _require4 = __webpack_require__(6698), + AsyncResource = _require4.AsyncResource; +var RequestHandler = /*#__PURE__*/function (_AsyncResource) { + function RequestHandler(opts, callback) { + var _this; + _classCallCheck(this, RequestHandler); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - }); -} : function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); -var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) { - Object.defineProperty(o, "default", { - enumerable: true, - value: v - }); -} : function (o, v) { - o["default"] = v; -}); -var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) { - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; -var path = __importStar(__webpack_require__(17)); -/** - * toPosixPath converts the given path to the posix form. On Windows, \\ will be - * replaced with /. - * - * @param pth. Path to transform. - * @return string Posix path. - */ -function toPosixPath(pth) { - return pth.replace(/[\\]/g, '/'); -} -exports.toPosixPath = toPosixPath; -/** - * toWin32Path converts the given path to the win32 form. On Linux, / will be - * replaced with \\. - * - * @param pth. Path to transform. - * @return string Win32 path. - */ -function toWin32Path(pth) { - return pth.replace(/[/]/g, '\\'); -} -exports.toWin32Path = toWin32Path; -/** - * toPlatformPath converts the given path to a platform-specific path. It does - * this by replacing instances of / and \ with the platform-specific path - * separator. - * - * @param pth The path to platformize. - * @return string The platform-specific path. - */ -function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path.sep); + var signal = opts.signal, + method = opts.method, + opaque = opts.opaque, + body = opts.body, + onInfo = opts.onInfo, + responseHeaders = opts.responseHeaders, + throwOnError = opts.throwOnError, + highWaterMark = opts.highWaterMark; + try { + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + if (highWaterMark && (typeof highWaterMark !== 'number' || highWaterMark < 0)) { + throw new InvalidArgumentError('invalid highWaterMark'); + } + if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); + } + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method'); + } + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback'); + } + _this = _callSuper(this, RequestHandler, ['UNDICI_REQUEST']); + } catch (err) { + if (util.isStream(body)) { + util.destroy(body.on('error', util.nop), err); + } + throw err; + } + _this.method = method; + _this.responseHeaders = responseHeaders || null; + _this.opaque = opaque || null; + _this.callback = callback; + _this.res = null; + _this.abort = null; + _this.body = body; + _this.trailers = {}; + _this.context = null; + _this.onInfo = onInfo || null; + _this.throwOnError = throwOnError; + _this.highWaterMark = highWaterMark; + _this.signal = signal; + _this.reason = null; + _this.removeAbortListener = null; + if (util.isStream(body)) { + body.on('error', function (err) { + _this.onError(err); + }); + } + if (_this.signal) { + if (_this.signal.aborted) { + var _this$signal$reason; + _this.reason = (_this$signal$reason = _this.signal.reason) !== null && _this$signal$reason !== void 0 ? _this$signal$reason : new RequestAbortedError(); + } else { + _this.removeAbortListener = util.addAbortListener(_this.signal, function () { + var _this$signal$reason2; + _this.reason = (_this$signal$reason2 = _this.signal.reason) !== null && _this$signal$reason2 !== void 0 ? _this$signal$reason2 : new RequestAbortedError(); + if (_this.res) { + util.destroy(_this.res.on('error', util.nop), _this.reason); + } else if (_this.abort) { + _this.abort(_this.reason); + } + if (_this.removeAbortListener) { + var _this$res; + (_this$res = _this.res) === null || _this$res === void 0 || _this$res.off('close', _this.removeAbortListener); + _this.removeAbortListener(); + _this.removeAbortListener = null; + } + }); + } + } + return _assertThisInitialized(_this); + } + _inherits(RequestHandler, _AsyncResource); + return _createClass(RequestHandler, [{ + key: "onConnect", + value: function onConnect(abort, context) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = context; + } + }, { + key: "onHeaders", + value: function onHeaders(statusCode, rawHeaders, resume, statusMessage) { + var callback = this.callback, + opaque = this.opaque, + abort = this.abort, + context = this.context, + responseHeaders = this.responseHeaders, + highWaterMark = this.highWaterMark; + var headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ + statusCode: statusCode, + headers: headers + }); + } + return; + } + var parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers; + var contentType = parsedHeaders['content-type']; + var contentLength = parsedHeaders['content-length']; + var res = new Readable({ + resume: resume, + abort: abort, + contentType: contentType, + contentLength: this.method !== 'HEAD' && contentLength ? Number(contentLength) : null, + highWaterMark: highWaterMark + }); + if (this.removeAbortListener) { + res.on('close', this.removeAbortListener); + } + this.callback = null; + this.res = res; + if (callback !== null) { + if (this.throwOnError && statusCode >= 400) { + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback: callback, + body: res, + contentType: contentType, + statusCode: statusCode, + statusMessage: statusMessage, + headers: headers + }); + } else { + this.runInAsyncScope(callback, null, null, { + statusCode: statusCode, + headers: headers, + trailers: this.trailers, + opaque: opaque, + body: res, + context: context + }); + } + } + } + }, { + key: "onData", + value: function onData(chunk) { + return this.res.push(chunk); + } + }, { + key: "onComplete", + value: function onComplete(trailers) { + util.parseHeaders(trailers, this.trailers); + this.res.push(null); + } + }, { + key: "onError", + value: function onError(err) { + var _this2 = this; + var res = this.res, + callback = this.callback, + body = this.body, + opaque = this.opaque; + if (callback) { + // TODO: Does this need queueMicrotask? + this.callback = null; + queueMicrotask(function () { + _this2.runInAsyncScope(callback, null, err, { + opaque: opaque + }); + }); + } + if (res) { + this.res = null; + // Ensure all queued handlers are invoked before destroying res. + queueMicrotask(function () { + util.destroy(res, err); + }); + } + if (body) { + this.body = null; + util.destroy(body, err); + } + if (this.removeAbortListener) { + res === null || res === void 0 || res.off('close', this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } + } + }]); +}(AsyncResource); +function request(opts, callback) { + var _this3 = this; + if (callback === undefined) { + return new Promise(function (resolve, reject) { + request.call(_this3, opts, function (err, data) { + return err ? reject(err) : resolve(data); + }); + }); + } + try { + this.dispatch(opts, new RequestHandler(opts, callback)); + } catch (err) { + if (typeof callback !== 'function') { + throw err; + } + var opaque = opts === null || opts === void 0 ? void 0 : opts.opaque; + queueMicrotask(function () { + return callback(err, { + opaque: opaque + }); + }); + } } -exports.toPlatformPath = toPlatformPath; +module.exports = request; +module.exports.RequestHandler = RequestHandler; -/***/ }), +/***/ }, -/***/ 407: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ 5712 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -var _slicedToArray = (__webpack_require__(424)["default"]); -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); -var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _assertThisInitialized = (__webpack_require__(2475)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(7075), + finished = _require.finished, + PassThrough = _require.PassThrough; +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError, + InvalidReturnValueError = _require2.InvalidReturnValueError; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(7711), + getResolveErrorBodyCallback = _require3.getResolveErrorBodyCallback; +var _require4 = __webpack_require__(6698), + AsyncResource = _require4.AsyncResource; +var _require5 = __webpack_require__(9350), + addSignal = _require5.addSignal, + removeSignal = _require5.removeSignal; +var StreamHandler = /*#__PURE__*/function (_AsyncResource) { + function StreamHandler(opts, factory, callback) { + var _this; + _classCallCheck(this, StreamHandler); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + var signal = opts.signal, + method = opts.method, + opaque = opts.opaque, + body = opts.body, + onInfo = opts.onInfo, + responseHeaders = opts.responseHeaders, + throwOnError = opts.throwOnError; + try { + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + if (typeof factory !== 'function') { + throw new InvalidArgumentError('invalid factory'); + } + if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); + } + if (method === 'CONNECT') { + throw new InvalidArgumentError('invalid method'); } + if (onInfo && typeof onInfo !== 'function') { + throw new InvalidArgumentError('invalid onInfo callback'); + } + _this = _callSuper(this, StreamHandler, ['UNDICI_STREAM']); + } catch (err) { + if (util.isStream(body)) { + util.destroy(body.on('error', util.nop), err); + } + throw err; } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + _this.responseHeaders = responseHeaders || null; + _this.opaque = opaque || null; + _this.factory = factory; + _this.callback = callback; + _this.res = null; + _this.abort = null; + _this.context = null; + _this.trailers = null; + _this.body = body; + _this.onInfo = onInfo || null; + _this.throwOnError = throwOnError || false; + if (util.isStream(body)) { + body.on('error', function (err) { + _this.onError(err); + }); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; -var os_1 = __webpack_require__(37); -var fs_1 = __webpack_require__(147); -var _fs_1$promises = fs_1.promises, - access = _fs_1$promises.access, - appendFile = _fs_1$promises.appendFile, - writeFile = _fs_1$promises.writeFile; -exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; -exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; -var Summary = /*#__PURE__*/function () { - function Summary() { - _classCallCheck(this, Summary); - this._buffer = ''; + addSignal(_assertThisInitialized(_this), signal); + return _assertThisInitialized(_this); } - /** - * Finds the summary file path from the environment, rejects if env var is not found or file does not exist - * Also checks r/w permissions. - * - * @returns step summary file path - */ - _createClass(Summary, [{ - key: "filePath", - value: function filePath() { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { - var pathFromEnv; - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - if (!this._filePath) { - _context.next = 2; - break; - } - return _context.abrupt("return", this._filePath); - case 2: - pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; - if (pathFromEnv) { - _context.next = 5; - break; - } - throw new Error("Unable to find environment variable for $".concat(exports.SUMMARY_ENV_VAR, ". Check if your runtime environment supports job summaries.")); - case 5: - _context.prev = 5; - _context.next = 8; - return access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - case 8: - _context.next = 13; - break; - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](5); - throw new Error("Unable to access summary file: '".concat(pathFromEnv, "'. Check if the file has correct read/write permissions.")); - case 13: - this._filePath = pathFromEnv; - return _context.abrupt("return", this._filePath); - case 15: - case "end": - return _context.stop(); - } - } - }, _callee, this, [[5, 10]]); - })); - } - /** - * Wraps content in an HTML tag, adding any HTML attributes - * - * @param {string} tag HTML tag to wrap - * @param {string | null} content content within the tag - * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add - * - * @returns {string} content wrapped in HTML element - */ - }, { - key: "wrap", - value: function wrap(tag, content) { - var attrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var htmlAttrs = Object.entries(attrs).map(function (_ref) { - var _ref2 = _slicedToArray(_ref, 2), - key = _ref2[0], - value = _ref2[1]; - return " ".concat(key, "=\"").concat(value, "\""); - }).join(''); - if (!content) { - return "<".concat(tag).concat(htmlAttrs, ">"); + _inherits(StreamHandler, _AsyncResource); + return _createClass(StreamHandler, [{ + key: "onConnect", + value: function onConnect(abort, context) { + if (this.reason) { + abort(this.reason); + return; } - return "<".concat(tag).concat(htmlAttrs, ">").concat(content, ""); + assert(this.callback); + this.abort = abort; + this.context = context; } - /** - * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. - * - * @param {SummaryWriteOptions} [options] (optional) options for write operation - * - * @returns {Promise} summary instance - */ }, { - key: "write", - value: function write(options) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { - var overwrite, filePath, writeFunc; - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - _context2.next = 3; - return this.filePath(); - case 3: - filePath = _context2.sent; - writeFunc = overwrite ? writeFile : appendFile; - _context2.next = 7; - return writeFunc(filePath, this._buffer, { - encoding: 'utf8' - }); - case 7: - return _context2.abrupt("return", this.emptyBuffer()); - case 8: - case "end": - return _context2.stop(); - } + key: "onHeaders", + value: function onHeaders(statusCode, rawHeaders, resume, statusMessage) { + var _this2 = this, + _res$_writableState; + var factory = this.factory, + opaque = this.opaque, + context = this.context, + callback = this.callback, + responseHeaders = this.responseHeaders; + var headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + if (statusCode < 200) { + if (this.onInfo) { + this.onInfo({ + statusCode: statusCode, + headers: headers + }); + } + return; + } + this.factory = null; + var res; + if (this.throwOnError && statusCode >= 400) { + var parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers; + var contentType = parsedHeaders['content-type']; + res = new PassThrough(); + this.callback = null; + this.runInAsyncScope(getResolveErrorBodyCallback, null, { + callback: callback, + body: res, + contentType: contentType, + statusCode: statusCode, + statusMessage: statusMessage, + headers: headers + }); + } else { + if (factory === null) { + return; + } + res = this.runInAsyncScope(factory, null, { + statusCode: statusCode, + headers: headers, + opaque: opaque, + context: context + }); + if (!res || typeof res.write !== 'function' || typeof res.end !== 'function' || typeof res.on !== 'function') { + throw new InvalidReturnValueError('expected Writable'); + } + + // TODO: Avoid finished. It registers an unnecessary amount of listeners. + finished(res, { + readable: false + }, function (err) { + var callback = _this2.callback, + res = _this2.res, + opaque = _this2.opaque, + trailers = _this2.trailers, + abort = _this2.abort; + _this2.res = null; + if (err || !res.readable) { + util.destroy(res, err); } - }, _callee2, this); - })); - } - /** - * Clears the summary buffer and wipes the summary file - * - * @returns {Summary} summary instance - */ - }, { - key: "clear", - value: function clear() { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() { - return _regeneratorRuntime().wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.emptyBuffer().write({ - overwrite: true - })); - case 1: - case "end": - return _context3.stop(); - } + _this2.callback = null; + _this2.runInAsyncScope(callback, null, err || null, { + opaque: opaque, + trailers: trailers + }); + if (err) { + abort(); } - }, _callee3, this); - })); - } - /** - * Returns the current summary buffer as a string - * - * @returns {string} string of summary buffer - */ - }, { - key: "stringify", - value: function stringify() { - return this._buffer; + }); + } + res.on('drain', resume); + this.res = res; + var needDrain = res.writableNeedDrain !== undefined ? res.writableNeedDrain : (_res$_writableState = res._writableState) === null || _res$_writableState === void 0 ? void 0 : _res$_writableState.needDrain; + return needDrain !== true; } - /** - * If the summary buffer is empty - * - * @returns {boolen} true if the buffer is empty - */ }, { - key: "isEmptyBuffer", - value: function isEmptyBuffer() { - return this._buffer.length === 0; + key: "onData", + value: function onData(chunk) { + var res = this.res; + return res ? res.write(chunk) : true; } - /** - * Resets the summary buffer without writing to summary file - * - * @returns {Summary} summary instance - */ }, { - key: "emptyBuffer", - value: function emptyBuffer() { - this._buffer = ''; - return this; + key: "onComplete", + value: function onComplete(trailers) { + var res = this.res; + removeSignal(this); + if (!res) { + return; + } + this.trailers = util.parseHeaders(trailers); + res.end(); } - /** - * Adds raw text to the summary buffer - * - * @param {string} text content to add - * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) - * - * @returns {Summary} summary instance - */ }, { - key: "addRaw", - value: function addRaw(text) { - var addEOL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - this._buffer += text; - return addEOL ? this.addEOL() : this; + key: "onError", + value: function onError(err) { + var _this3 = this; + var res = this.res, + callback = this.callback, + opaque = this.opaque, + body = this.body; + removeSignal(this); + this.factory = null; + if (res) { + this.res = null; + util.destroy(res, err); + } else if (callback) { + this.callback = null; + queueMicrotask(function () { + _this3.runInAsyncScope(callback, null, err, { + opaque: opaque + }); + }); + } + if (body) { + this.body = null; + util.destroy(body, err); + } } - /** - * Adds the operating system-specific end-of-line marker to the buffer - * - * @returns {Summary} summary instance - */ - }, { - key: "addEOL", - value: function addEOL() { - return this.addRaw(os_1.EOL); - } - /** - * Adds an HTML codeblock to the summary buffer - * - * @param {string} code content to render within fenced code block - * @param {string} lang (optional) language to syntax highlight code - * - * @returns {Summary} summary instance - */ - }, { - key: "addCodeBlock", - value: function addCodeBlock(code, lang) { - var attrs = Object.assign({}, lang && { - lang: lang + }]); +}(AsyncResource); +function stream(opts, factory, callback) { + var _this4 = this; + if (callback === undefined) { + return new Promise(function (resolve, reject) { + stream.call(_this4, opts, factory, function (err, data) { + return err ? reject(err) : resolve(data); }); - var element = this.wrap('pre', this.wrap('code', code), attrs); - return this.addRaw(element).addEOL(); + }); + } + try { + this.dispatch(opts, new StreamHandler(opts, factory, callback)); + } catch (err) { + if (typeof callback !== 'function') { + throw err; } - /** - * Adds an HTML list to the summary buffer - * - * @param {string[]} items list of items to render - * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) - * - * @returns {Summary} summary instance - */ - }, { - key: "addList", - value: function addList(items) { - var _this = this; - var ordered = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var tag = ordered ? 'ol' : 'ul'; - var listItems = items.map(function (item) { - return _this.wrap('li', item); - }).join(''); - var element = this.wrap(tag, listItems); - return this.addRaw(element).addEOL(); + var opaque = opts === null || opts === void 0 ? void 0 : opts.opaque; + queueMicrotask(function () { + return callback(err, { + opaque: opaque + }); + }); + } +} +module.exports = stream; + +/***/ }, + +/***/ 4210 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _require = __webpack_require__(3515), + InvalidArgumentError = _require.InvalidArgumentError, + SocketError = _require.SocketError; +var _require2 = __webpack_require__(6698), + AsyncResource = _require2.AsyncResource; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(9350), + addSignal = _require3.addSignal, + removeSignal = _require3.removeSignal; +var assert = __webpack_require__(4589); +var UpgradeHandler = /*#__PURE__*/function (_AsyncResource) { + function UpgradeHandler(opts, callback) { + var _this; + _classCallCheck(this, UpgradeHandler); + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('invalid opts'); } - /** - * Adds an HTML table to the summary buffer - * - * @param {SummaryTableCell[]} rows table rows - * - * @returns {Summary} summary instance - */ - }, { - key: "addTable", - value: function addTable(rows) { - var _this2 = this; - var tableBody = rows.map(function (row) { - var cells = row.map(function (cell) { - if (typeof cell === 'string') { - return _this2.wrap('td', cell); - } - var header = cell.header, - data = cell.data, - colspan = cell.colspan, - rowspan = cell.rowspan; - var tag = header ? 'th' : 'td'; - var attrs = Object.assign(Object.assign({}, colspan && { - colspan: colspan - }), rowspan && { - rowspan: rowspan - }); - return _this2.wrap(tag, data, attrs); - }).join(''); - return _this2.wrap('tr', cells); - }).join(''); - var element = this.wrap('table', tableBody); - return this.addRaw(element).addEOL(); + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); } - /** - * Adds a collapsable HTML details element to the summary buffer - * - * @param {string} label text for the closed state - * @param {string} content collapsable content - * - * @returns {Summary} summary instance - */ - }, { - key: "addDetails", - value: function addDetails(label, content) { - var element = this.wrap('details', this.wrap('summary', label) + content); - return this.addRaw(element).addEOL(); + var signal = opts.signal, + opaque = opts.opaque, + responseHeaders = opts.responseHeaders; + if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') { + throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget'); } - /** - * Adds an HTML image tag to the summary buffer - * - * @param {string} src path to the image you to embed - * @param {string} alt text description of the image - * @param {SummaryImageOptions} options (optional) addition image attributes - * - * @returns {Summary} summary instance - */ - }, { - key: "addImage", - value: function addImage(src, alt, options) { - var _ref3 = options || {}, - width = _ref3.width, - height = _ref3.height; - var attrs = Object.assign(Object.assign({}, width && { - width: width - }), height && { - height: height - }); - var element = this.wrap('img', null, Object.assign({ - src: src, - alt: alt - }, attrs)); - return this.addRaw(element).addEOL(); + _this = _callSuper(this, UpgradeHandler, ['UNDICI_UPGRADE']); + _this.responseHeaders = responseHeaders || null; + _this.opaque = opaque || null; + _this.callback = callback; + _this.abort = null; + _this.context = null; + addSignal(_this, signal); + return _this; + } + _inherits(UpgradeHandler, _AsyncResource); + return _createClass(UpgradeHandler, [{ + key: "onConnect", + value: function onConnect(abort, context) { + if (this.reason) { + abort(this.reason); + return; + } + assert(this.callback); + this.abort = abort; + this.context = null; } - /** - * Adds an HTML section heading element - * - * @param {string} text heading text - * @param {number | string} [level=1] (optional) the heading level, default: 1 - * - * @returns {Summary} summary instance - */ }, { - key: "addHeading", - value: function addHeading(text, level) { - var tag = "h".concat(level); - var allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) ? tag : 'h1'; - var element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); + key: "onHeaders", + value: function onHeaders() { + throw new SocketError('bad upgrade', null); } - /** - * Adds an HTML thematic break (
) to the summary buffer - * - * @returns {Summary} summary instance - */ }, { - key: "addSeparator", - value: function addSeparator() { - var element = this.wrap('hr', null); - return this.addRaw(element).addEOL(); + key: "onUpgrade", + value: function onUpgrade(statusCode, rawHeaders, socket) { + assert(statusCode === 101); + var callback = this.callback, + opaque = this.opaque, + context = this.context; + removeSignal(this); + this.callback = null; + var headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + this.runInAsyncScope(callback, null, null, { + headers: headers, + socket: socket, + opaque: opaque, + context: context + }); } - /** - * Adds an HTML line break (
) to the summary buffer - * - * @returns {Summary} summary instance - */ }, { - key: "addBreak", - value: function addBreak() { - var element = this.wrap('br', null); - return this.addRaw(element).addEOL(); + key: "onError", + value: function onError(err) { + var _this2 = this; + var callback = this.callback, + opaque = this.opaque; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(function () { + _this2.runInAsyncScope(callback, null, err, { + opaque: opaque + }); + }); + } } - /** - * Adds an HTML blockquote to the summary buffer - * - * @param {string} text quote text - * @param {string} cite (optional) citation url - * - * @returns {Summary} summary instance - */ - }, { - key: "addQuote", - value: function addQuote(text, cite) { - var attrs = Object.assign({}, cite && { - cite: cite + }]); +}(AsyncResource); +function upgrade(opts, callback) { + var _this3 = this; + if (callback === undefined) { + return new Promise(function (resolve, reject) { + upgrade.call(_this3, opts, function (err, data) { + return err ? reject(err) : resolve(data); }); - var element = this.wrap('blockquote', text, attrs); - return this.addRaw(element).addEOL(); + }); + } + try { + var upgradeHandler = new UpgradeHandler(opts, callback); + this.dispatch(_objectSpread(_objectSpread({}, opts), {}, { + method: opts.method || 'GET', + upgrade: opts.protocol || 'Websocket' + }), upgradeHandler); + } catch (err) { + if (typeof callback !== 'function') { + throw err; } - /** - * Adds an HTML anchor tag to the summary buffer - * - * @param {string} text link text/content - * @param {string} href hyperlink - * - * @returns {Summary} summary instance - */ - }, { - key: "addLink", - value: function addLink(text, href) { - var element = this.wrap('a', text, { - href: href + var opaque = opts === null || opts === void 0 ? void 0 : opts.opaque; + queueMicrotask(function () { + return callback(err, { + opaque: opaque }); - return this.addRaw(element).addEOL(); - } - }]); - return Summary; -}(); -var _summary = new Summary(); -/** - * @deprecated use `core.summary` - */ -exports.markdownSummary = _summary; -exports.summary = _summary; + }); + } +} +module.exports = upgrade; -/***/ }), +/***/ }, -/***/ 600: -/***/ ((__unused_webpack_module, exports) => { +/***/ 8015 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -// We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.toCommandProperties = exports.toCommandValue = void 0; -/** - * Sanitizes an input into a string so it can be passed into issueCommand safely - * @param input input to sanitize into a string - */ -function toCommandValue(input) { - if (input === null || input === undefined) { - return ''; - } else if (typeof input === 'string' || input instanceof String) { - return input; - } - return JSON.stringify(input); -} -exports.toCommandValue = toCommandValue; -/** - * - * @param annotationProperties - * @returns The command properties to send with the actual annotation command - * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 - */ -function toCommandProperties(annotationProperties) { - if (!Object.keys(annotationProperties).length) { - return {}; - } - return { - title: annotationProperties.title, - file: annotationProperties.file, - line: annotationProperties.startLine, - endLine: annotationProperties.endLine, - col: annotationProperties.startColumn, - endColumn: annotationProperties.endColumn - }; -} -exports.toCommandProperties = toCommandProperties; +module.exports.request = __webpack_require__(7299); +module.exports.stream = __webpack_require__(5712); +module.exports.pipeline = __webpack_require__(9926); +module.exports.upgrade = __webpack_require__(4210); +module.exports.connect = __webpack_require__(4652); -/***/ }), +/***/ }, -/***/ 39: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/***/ 5455 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; - - -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); -var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); +// Ported from https://github.com/nodejs/undici/pull/907 + + + +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _superPropGet = (__webpack_require__(9901)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(7075), + Readable = _require.Readable; +var _require2 = __webpack_require__(3515), + RequestAbortedError = _require2.RequestAbortedError, + NotSupportedError = _require2.NotSupportedError, + InvalidArgumentError = _require2.InvalidArgumentError, + AbortError = _require2.AbortError; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(6632), + ReadableStreamFrom = _require3.ReadableStreamFrom; +var kConsume = Symbol('kConsume'); +var kReading = Symbol('kReading'); +var kBody = Symbol('kBody'); +var kAbort = Symbol('kAbort'); +var kContentType = Symbol('kContentType'); +var kContentLength = Symbol('kContentLength'); +var noop = function noop() {}; +var BodyReadable = /*#__PURE__*/function (_Readable) { + function BodyReadable(_ref) { + var _this; + var resume = _ref.resume, + abort = _ref.abort, + _ref$contentType = _ref.contentType, + contentType = _ref$contentType === void 0 ? '' : _ref$contentType, + contentLength = _ref.contentLength, + _ref$highWaterMark = _ref.highWaterMark, + highWaterMark = _ref$highWaterMark === void 0 ? 64 * 1024 : _ref$highWaterMark; + _classCallCheck(this, BodyReadable); + _this = _callSuper(this, BodyReadable, [{ + autoDestroy: true, + read: resume, + highWaterMark: highWaterMark + }]); + _this._readableState.dataEmitted = false; + _this[kAbort] = abort; + _this[kConsume] = null; + _this[kBody] = null; + _this[kContentType] = contentType; + _this[kContentLength] = contentLength; + + // Is stream being consumed through Readable API? + // This is an optimization so that we avoid checking + // for 'data' and 'readable' listeners in the hot path + // inside push(). + _this[kReading] = false; + return _this; } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + _inherits(BodyReadable, _Readable); + return _createClass(BodyReadable, [{ + key: "destroy", + value: function destroy(err) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + if (err) { + this[kAbort](); } + return _superPropGet(BodyReadable, "destroy", this, 3)([err]); } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + }, { + key: "_destroy", + value: function _destroy(err, callback) { + // Workaround for Node "bug". If the stream is destroyed in same + // tick as it is created, then a user who is waiting for a + // promise (i.e micro tick) for installing a 'error' listener will + // never get a chance and will always encounter an unhandled exception. + if (!this[kReading]) { + setImmediate(function () { + callback(err); + }); + } else { + callback(err); + } } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; -var BasicCredentialHandler = /*#__PURE__*/function () { - function BasicCredentialHandler(username, password) { - _classCallCheck(this, BasicCredentialHandler); - this.username = username; - this.password = password; - } - _createClass(BasicCredentialHandler, [{ - key: "prepareRequest", - value: function prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + }, { + key: "on", + value: function on(ev) { + if (ev === 'data' || ev === 'readable') { + this[kReading] = true; } - options.headers['Authorization'] = "Basic ".concat(Buffer.from("".concat(this.username, ":").concat(this.password)).toString('base64')); + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + return _superPropGet(BodyReadable, "on", this, 3)([ev].concat(args)); } - // This handler cannot handle 401 }, { - key: "canHandleAuthentication", - value: function canHandleAuthentication() { - return false; + key: "addListener", + value: function addListener(ev) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + return this.on.apply(this, [ev].concat(args)); } }, { - key: "handleAuthentication", - value: function handleAuthentication() { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - throw new Error('not implemented'); - case 1: - case "end": - return _context.stop(); - } - } - }, _callee); - })); + key: "off", + value: function off(ev) { + for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { + args[_key3 - 1] = arguments[_key3]; + } + var ret = _superPropGet(BodyReadable, "off", this, 3)([ev].concat(args)); + if (ev === 'data' || ev === 'readable') { + this[kReading] = this.listenerCount('data') > 0 || this.listenerCount('readable') > 0; + } + return ret; } - }]); - return BasicCredentialHandler; -}(); -exports.BasicCredentialHandler = BasicCredentialHandler; -var BearerCredentialHandler = /*#__PURE__*/function () { - function BearerCredentialHandler(token) { - _classCallCheck(this, BearerCredentialHandler); - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - _createClass(BearerCredentialHandler, [{ - key: "prepareRequest", - value: function prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + }, { + key: "removeListener", + value: function removeListener(ev) { + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; } - options.headers['Authorization'] = "Bearer ".concat(this.token); + return this.off.apply(this, [ev].concat(args)); } - // This handler cannot handle 401 }, { - key: "canHandleAuthentication", - value: function canHandleAuthentication() { - return false; + key: "push", + value: function push(chunk) { + if (this[kConsume] && chunk !== null) { + consumePush(this[kConsume], chunk); + return this[kReading] ? _superPropGet(BodyReadable, "push", this, 3)([chunk]) : true; + } + return _superPropGet(BodyReadable, "push", this, 3)([chunk]); } + + // https://fetch.spec.whatwg.org/#dom-body-text }, { - key: "handleAuthentication", - value: function handleAuthentication() { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - throw new Error('not implemented'); - case 1: - case "end": - return _context2.stop(); - } + key: "text", + value: function () { + var _text = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + return _context.a(2, consume(this, 'text')); } - }, _callee2); + }, _callee, this); })); - } - }]); - return BearerCredentialHandler; -}(); -exports.BearerCredentialHandler = BearerCredentialHandler; -var PersonalAccessTokenCredentialHandler = /*#__PURE__*/function () { - function PersonalAccessTokenCredentialHandler(token) { - _classCallCheck(this, PersonalAccessTokenCredentialHandler); - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - _createClass(PersonalAccessTokenCredentialHandler, [{ - key: "prepareRequest", - value: function prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + function text() { + return _text.apply(this, arguments); } - options.headers['Authorization'] = "Basic ".concat(Buffer.from("PAT:".concat(this.token)).toString('base64')); + return text; + }() // https://fetch.spec.whatwg.org/#dom-body-json + }, { + key: "json", + value: function () { + var _json = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() { + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + return _context2.a(2, consume(this, 'json')); + } + }, _callee2, this); + })); + function json() { + return _json.apply(this, arguments); + } + return json; + }() // https://fetch.spec.whatwg.org/#dom-body-blob + }, { + key: "blob", + value: function () { + var _blob = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + return _context3.a(2, consume(this, 'blob')); + } + }, _callee3, this); + })); + function blob() { + return _blob.apply(this, arguments); + } + return blob; + }() // https://fetch.spec.whatwg.org/#dom-body-bytes + }, { + key: "bytes", + value: function () { + var _bytes = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() { + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + return _context4.a(2, consume(this, 'bytes')); + } + }, _callee4, this); + })); + function bytes() { + return _bytes.apply(this, arguments); + } + return bytes; + }() // https://fetch.spec.whatwg.org/#dom-body-arraybuffer + }, { + key: "arrayBuffer", + value: function () { + var _arrayBuffer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() { + return _regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + return _context5.a(2, consume(this, 'arrayBuffer')); + } + }, _callee5, this); + })); + function arrayBuffer() { + return _arrayBuffer.apply(this, arguments); + } + return arrayBuffer; + }() // https://fetch.spec.whatwg.org/#dom-body-formdata + }, { + key: "formData", + value: function () { + var _formData = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() { + return _regenerator().w(function (_context6) { + while (1) switch (_context6.n) { + case 0: + throw new NotSupportedError(); + case 1: + return _context6.a(2); + } + }, _callee6); + })); + function formData() { + return _formData.apply(this, arguments); + } + return formData; + }() // https://fetch.spec.whatwg.org/#dom-body-bodyused + }, { + key: "bodyUsed", + get: function get() { + return util.isDisturbed(this); } - // This handler cannot handle 401 + + // https://fetch.spec.whatwg.org/#dom-body-body }, { - key: "canHandleAuthentication", - value: function canHandleAuthentication() { - return false; + key: "body", + get: function get() { + if (!this[kBody]) { + this[kBody] = ReadableStreamFrom(this); + if (this[kConsume]) { + // TODO: Is this the best way to force a lock? + this[kBody].getReader(); // Ensure stream is locked. + assert(this[kBody].locked); + } + } + return this[kBody]; } }, { - key: "handleAuthentication", - value: function handleAuthentication() { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() { - return _regeneratorRuntime().wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - throw new Error('not implemented'); - case 1: - case "end": - return _context3.stop(); - } + key: "dump", + value: function () { + var _dump = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(opts) { + var _this2 = this; + var limit, signal; + return _regenerator().w(function (_context7) { + while (1) switch (_context7.n) { + case 0: + limit = Number.isFinite(opts === null || opts === void 0 ? void 0 : opts.limit) ? opts.limit : 128 * 1024; + signal = opts === null || opts === void 0 ? void 0 : opts.signal; + if (!(signal != null && (typeof signal !== 'object' || !('aborted' in signal)))) { + _context7.n = 1; + break; + } + throw new InvalidArgumentError('signal must be an AbortSignal'); + case 1: + signal === null || signal === void 0 || signal.throwIfAborted(); + if (!this._readableState.closeEmitted) { + _context7.n = 2; + break; + } + return _context7.a(2, null); + case 2: + _context7.n = 3; + return new Promise(function (resolve, reject) { + if (_this2[kContentLength] > limit) { + _this2.destroy(new AbortError()); + } + var onAbort = function onAbort() { + var _signal$reason; + _this2.destroy((_signal$reason = signal.reason) !== null && _signal$reason !== void 0 ? _signal$reason : new AbortError()); + }; + signal === null || signal === void 0 || signal.addEventListener('abort', onAbort); + _this2.on('close', function () { + signal === null || signal === void 0 || signal.removeEventListener('abort', onAbort); + if (signal !== null && signal !== void 0 && signal.aborted) { + var _signal$reason2; + reject((_signal$reason2 = signal.reason) !== null && _signal$reason2 !== void 0 ? _signal$reason2 : new AbortError()); + } else { + resolve(null); + } + }).on('error', noop).on('data', function (chunk) { + limit -= chunk.length; + if (limit <= 0) { + this.destroy(); + } + }).resume(); + }); + case 3: + return _context7.a(2, _context7.v); } - }, _callee3); + }, _callee7, this); })); - } + function dump(_x) { + return _dump.apply(this, arguments); + } + return dump; + }() }]); - return PersonalAccessTokenCredentialHandler; -}(); -exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; - -/***/ }), +}(Readable); // https://streams.spec.whatwg.org/#readablestream-locked +function isLocked(self) { + // Consume is an implicit lock. + return self[kBody] && self[kBody].locked === true || self[kConsume]; +} -/***/ 440: -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +// https://fetch.spec.whatwg.org/#body-unusable +function isUnusable(self) { + return util.isDisturbed(self) || isLocked(self); +} +function consume(_x2, _x3) { + return _consume.apply(this, arguments); +} +function _consume() { + _consume = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(stream, type) { + return _regenerator().w(function (_context8) { + while (1) switch (_context8.n) { + case 0: + assert(!stream[kConsume]); + return _context8.a(2, new Promise(function (resolve, reject) { + if (isUnusable(stream)) { + var rState = stream._readableState; + if (rState.destroyed && rState.closeEmitted === false) { + stream.on('error', function (err) { + reject(err); + }).on('close', function () { + reject(new TypeError('unusable')); + }); + } else { + var _rState$errored; + reject((_rState$errored = rState.errored) !== null && _rState$errored !== void 0 ? _rState$errored : new TypeError('unusable')); + } + } else { + queueMicrotask(function () { + stream[kConsume] = { + type: type, + stream: stream, + resolve: resolve, + reject: reject, + length: 0, + body: [] + }; + stream.on('error', function (err) { + consumeFinish(this[kConsume], err); + }).on('close', function () { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()); + } + }); + consumeStart(stream[kConsume]); + }); + } + })); + } + }, _callee8); + })); + return _consume.apply(this, arguments); +} +function consumeStart(consume) { + if (consume.body === null) { + return; + } + var state = consume.stream._readableState; + if (state.bufferIndex) { + var start = state.bufferIndex; + var end = state.buffer.length; + for (var n = start; n < end; n++) { + consumePush(consume, state.buffer[n]); + } + } else { + var _iterator = _createForOfIteratorHelper(state.buffer), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var chunk = _step.value; + consumePush(consume, chunk); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + if (state.endEmitted) { + consumeEnd(this[kConsume]); + } else { + consume.stream.on('end', function () { + consumeEnd(this[kConsume]); + }); + } + consume.stream.resume(); + while (consume.stream.read() != null) { + // Loop + } +} -"use strict"; +/** + * @param {Buffer[]} chunks + * @param {number} length + */ +function chunksDecode(chunks, length) { + if (chunks.length === 0 || length === 0) { + return ''; + } + var buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length); + var bufferLength = buffer.length; + // Skip BOM. + var start = bufferLength > 2 && buffer[0] === 0xef && buffer[1] === 0xbb && buffer[2] === 0xbf ? 3 : 0; + return buffer.utf8Slice(start, bufferLength); +} -/* eslint-disable @typescript-eslint/no-explicit-any */ -var _createForOfIteratorHelper = (__webpack_require__(704)["default"]); -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _createClass = (__webpack_require__(728)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _assertThisInitialized = (__webpack_require__(115)["default"]); -var _inherits = (__webpack_require__(655)["default"]); -var _createSuper = (__webpack_require__(389)["default"]); -var _wrapNativeSuper = (__webpack_require__(496)["default"]); -var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function get() { - return m[k]; +/** + * @param {Buffer[]} chunks + * @param {number} length + * @returns {Uint8Array} + */ +function chunksConcat(chunks, length) { + if (chunks.length === 0 || length === 0) { + return new Uint8Array(0); + } + if (chunks.length === 1) { + // fast-path + return new Uint8Array(chunks[0]); + } + var buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer); + var offset = 0; + for (var i = 0; i < chunks.length; ++i) { + var chunk = chunks[i]; + buffer.set(chunk, offset); + offset += chunk.length; + } + return buffer; +} +function consumeEnd(consume) { + var type = consume.type, + body = consume.body, + resolve = consume.resolve, + stream = consume.stream, + length = consume.length; + try { + if (type === 'text') { + resolve(chunksDecode(body, length)); + } else if (type === 'json') { + resolve(JSON.parse(chunksDecode(body, length))); + } else if (type === 'arrayBuffer') { + resolve(chunksConcat(body, length).buffer); + } else if (type === 'blob') { + resolve(new Blob(body, { + type: stream[kContentType] + })); + } else if (type === 'bytes') { + resolve(chunksConcat(body, length)); } - }); -} : function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); -var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) { - Object.defineProperty(o, "default", { - enumerable: true, - value: v - }); -} : function (o, v) { - o["default"] = v; -}); -var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) { - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + consumeFinish(consume); + } catch (err) { + stream.destroy(err); } - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); +} +function consumePush(consume, chunk) { + consume.length += chunk.length; + consume.body.push(chunk); +} +function consumeFinish(consume, err) { + if (consume.body === null) { + return; } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + if (err) { + consume.reject(err); + } else { + consume.resolve(); + } + consume.type = null; + consume.stream = null; + consume.resolve = null; + consume.reject = null; + consume.length = 0; + consume.body = null; +} +module.exports = { + Readable: BodyReadable, + chunksDecode: chunksDecode +}; + +/***/ }, + +/***/ 7711 +(module, __unused_webpack_exports, __webpack_require__) { + +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(3515), + ResponseStatusCodeError = _require.ResponseStatusCodeError; +var _require2 = __webpack_require__(5455), + chunksDecode = _require2.chunksDecode; +var CHUNK_LIMIT = 128 * 1024; +function getResolveErrorBodyCallback(_x) { + return _getResolveErrorBodyCallback.apply(this, arguments); +} +function _getResolveErrorBodyCallback() { + _getResolveErrorBodyCallback = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) { + var callback, body, contentType, statusCode, statusMessage, headers, chunks, length, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, message, stackTraceLimit, payload, _t, _t2; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + callback = _ref.callback, body = _ref.body, contentType = _ref.contentType, statusCode = _ref.statusCode, statusMessage = _ref.statusMessage, headers = _ref.headers; + assert(body); + chunks = []; + length = 0; + _context.p = 1; + _iteratorAbruptCompletion = false; + _didIteratorError = false; + _context.p = 2; + _iterator = _asyncIterator(body); + case 3: + _context.n = 4; + return _iterator.next(); + case 4: + if (!(_iteratorAbruptCompletion = !(_step = _context.v).done)) { + _context.n = 6; + break; + } + chunk = _step.value; + chunks.push(chunk); + length += chunk.length; + if (!(length > CHUNK_LIMIT)) { + _context.n = 5; + break; + } + chunks = []; + length = 0; + return _context.a(3, 6); + case 5: + _iteratorAbruptCompletion = false; + _context.n = 3; + break; + case 6: + _context.n = 8; + break; + case 7: + _context.p = 7; + _t = _context.v; + _didIteratorError = true; + _iteratorError = _t; + case 8: + _context.p = 8; + _context.p = 9; + if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { + _context.n = 10; + break; + } + _context.n = 10; + return _iterator["return"](); + case 10: + _context.p = 10; + if (!_didIteratorError) { + _context.n = 11; + break; + } + throw _iteratorError; + case 11: + return _context.f(10); + case 12: + return _context.f(8); + case 13: + _context.n = 15; + break; + case 14: + _context.p = 14; + _t2 = _context.v; + chunks = []; + length = 0; + // Do nothing.... + case 15: + message = "Response status code ".concat(statusCode).concat(statusMessage ? ": ".concat(statusMessage) : ''); + if (!(statusCode === 204 || !contentType || !length)) { + _context.n = 16; + break; + } + queueMicrotask(function () { + return callback(new ResponseStatusCodeError(message, statusCode, headers)); + }); + return _context.a(2); + case 16: + stackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = 0; + try { + if (isContentTypeApplicationJson(contentType)) { + payload = JSON.parse(chunksDecode(chunks, length)); + } else if (isContentTypeText(contentType)) { + payload = chunksDecode(chunks, length); + } + } catch (_unused2) { + // process in a callback to avoid throwing in the microtask queue + } finally { + Error.stackTraceLimit = stackTraceLimit; + } + queueMicrotask(function () { + return callback(new ResponseStatusCodeError(message, statusCode, headers, payload)); + }); + case 17: + return _context.a(2); } + }, _callee, null, [[9,, 10, 12], [2, 7, 8, 13], [1, 14]]); + })); + return _getResolveErrorBodyCallback.apply(this, arguments); +} +var isContentTypeApplicationJson = function isContentTypeApplicationJson(contentType) { + return contentType.length > 15 && contentType[11] === '/' && contentType[0] === 'a' && contentType[1] === 'p' && contentType[2] === 'p' && contentType[3] === 'l' && contentType[4] === 'i' && contentType[5] === 'c' && contentType[6] === 'a' && contentType[7] === 't' && contentType[8] === 'i' && contentType[9] === 'o' && contentType[10] === 'n' && contentType[12] === 'j' && contentType[13] === 's' && contentType[14] === 'o' && contentType[15] === 'n'; +}; +var isContentTypeText = function isContentTypeText(contentType) { + return contentType.length > 4 && contentType[4] === '/' && contentType[0] === 't' && contentType[1] === 'e' && contentType[2] === 'x' && contentType[3] === 't'; +}; +module.exports = { + getResolveErrorBodyCallback: getResolveErrorBodyCallback, + isContentTypeApplicationJson: isContentTypeApplicationJson, + isContentTypeText: isContentTypeText +}; + +/***/ }, + +/***/ 200 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _objectSpread = (__webpack_require__(2897)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _excluded = ["allowH2", "maxCachedSessions", "socketPath", "timeout", "session"]; +var net = __webpack_require__(7030); +var assert = __webpack_require__(4589); +var util = __webpack_require__(6632); +var _require = __webpack_require__(3515), + InvalidArgumentError = _require.InvalidArgumentError, + ConnectTimeoutError = _require.ConnectTimeoutError; +var timers = __webpack_require__(1907); +function noop() {} +var tls; // include tls conditionally since it is not always available + +// TODO: session re-use does not wait for the first +// connection to resolve the session and might therefore +// resolve the same servername multiple times even when +// re-use is enabled. + +var SessionCache; +// FIXME: remove workaround when the Node bug is fixed +// https://github.com/nodejs/node/issues/49344#issuecomment-1741776308 +if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) { + SessionCache = /*#__PURE__*/function () { + function WeakSessionCache(maxCachedSessions) { + var _this = this; + _classCallCheck(this, WeakSessionCache); + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = new Map(); + this._sessionRegistry = new global.FinalizationRegistry(function (key) { + if (_this._sessionCache.size < _this._maxCachedSessions) { + return; + } + var ref = _this._sessionCache.get(key); + if (ref !== undefined && ref.deref() === undefined) { + _this._sessionCache["delete"](key); + } + }); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + return _createClass(WeakSessionCache, [{ + key: "get", + value: function get(sessionKey) { + var ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; } + }, { + key: "set", + value: function set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; + } + this._sessionCache.set(sessionKey, new WeakRef(session)); + this._sessionRegistry.register(session, sessionKey); + } + }]); + }(); +} else { + SessionCache = /*#__PURE__*/function () { + function SimpleSessionCache(maxCachedSessions) { + _classCallCheck(this, SimpleSessionCache); + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = new Map(); } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); + return _createClass(SimpleSessionCache, [{ + key: "get", + value: function get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + }, { + key: "set", + value: function set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; + } + if (this._sessionCache.size >= this._maxCachedSessions) { + // remove the oldest session + var _this$_sessionCache$k = this._sessionCache.keys().next(), + oldestKey = _this$_sessionCache$k.value; + this._sessionCache["delete"](oldestKey); + } + this._sessionCache.set(sessionKey, session); + } + }]); + }(); +} +function buildConnector(_ref) { + var allowH2 = _ref.allowH2, + maxCachedSessions = _ref.maxCachedSessions, + socketPath = _ref.socketPath, + timeout = _ref.timeout, + customSession = _ref.session, + opts = _objectWithoutProperties(_ref, _excluded); + if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { + throw new InvalidArgumentError('maxCachedSessions must be a positive integer or zero'); + } + var options = _objectSpread({ + path: socketPath + }, opts); + var sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); + timeout = timeout == null ? 10e3 : timeout; + allowH2 = allowH2 != null ? allowH2 : false; + return function connect(_ref2, callback) { + var hostname = _ref2.hostname, + host = _ref2.host, + protocol = _ref2.protocol, + port = _ref2.port, + servername = _ref2.servername, + localAddress = _ref2.localAddress, + httpSocket = _ref2.httpSocket; + var socket; + if (protocol === 'https:') { + if (!tls) { + tls = __webpack_require__(1692); + } + servername = servername || options.servername || util.getServerName(host) || null; + var sessionKey = servername || hostname; + assert(sessionKey); + var session = customSession || sessionCache.get(sessionKey) || null; + port = port || 443; + socket = tls.connect(_objectSpread(_objectSpread({ + highWaterMark: 16384 + }, options), {}, { + servername: servername, + session: session, + localAddress: localAddress, + // TODO(HTTP/2): Add support for h2c + ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'], + socket: httpSocket, + // upgrade socket connection + port: port, + host: hostname + })); + socket.on('session', function (session) { + // TODO (fix): Can a session become invalid once established? Don't think so? + sessionCache.set(sessionKey, session); + }); + } else { + assert(!httpSocket, 'httpSocket can only be sent on TLS update'); + port = port || 80; + socket = net.connect(_objectSpread(_objectSpread({ + highWaterMark: 64 * 1024 + }, options), {}, { + localAddress: localAddress, + port: port, + host: hostname + })); + } + + // Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket + if (options.keepAlive == null || options.keepAlive) { + var keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 60e3 : options.keepAliveInitialDelay; + socket.setKeepAlive(true, keepAliveInitialDelay); + } + var clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { + timeout: timeout, + hostname: hostname, + port: port + }); + socket.setNoDelay(true).once(protocol === 'https:' ? 'secureConnect' : 'connect', function () { + queueMicrotask(clearConnectTimeout); + if (callback) { + var cb = callback; + callback = null; + cb(null, this); + } + }).on('error', function (err) { + queueMicrotask(clearConnectTimeout); + if (callback) { + var cb = callback; + callback = null; + cb(err); + } + }); + return socket; + }; +} + +/** + * @param {WeakRef} socketWeakRef + * @param {object} opts + * @param {number} opts.timeout + * @param {string} opts.hostname + * @param {number} opts.port + * @returns {() => void} + */ +var setupConnectTimeout = process.platform === 'win32' ? function (socketWeakRef, opts) { + if (!opts.timeout) { + return noop; + } + var s1 = null; + var s2 = null; + var fastTimer = timers.setFastTimeout(function () { + // setImmediate is added to make sure that we prioritize socket error events over timeouts + s1 = setImmediate(function () { + // Windows needs an extra setImmediate probably due to implementation differences in the socket logic + s2 = setImmediate(function () { + return onConnectTimeout(socketWeakRef.deref(), opts); + }); + }); + }, opts.timeout); + return function () { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + clearImmediate(s2); + }; +} : function (socketWeakRef, opts) { + if (!opts.timeout) { + return noop; + } + var s1 = null; + var fastTimer = timers.setFastTimeout(function () { + // setImmediate is added to make sure that we prioritize socket error events over timeouts + s1 = setImmediate(function () { + onConnectTimeout(socketWeakRef.deref(), opts); + }); + }, opts.timeout); + return function () { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + }; }; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; -var http = __importStar(__webpack_require__(685)); -var https = __importStar(__webpack_require__(687)); -var pm = __importStar(__webpack_require__(537)); -var tunnel = __importStar(__webpack_require__(319)); -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers = exports.Headers || (exports.Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); + /** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + * @param {net.Socket} socket + * @param {object} opts + * @param {number} opts.timeout + * @param {string} opts.hostname + * @param {number} opts.port */ -function getProxyUrl(serverUrl) { - var proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; +function onConnectTimeout(socket, opts) { + // The socket could be already garbage collected + if (socket == null) { + return; + } + var message = 'Connect Timeout Error'; + if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) { + message += " (attempted addresses: ".concat(socket.autoSelectFamilyAttemptedAddresses.join(', '), ","); + } else { + message += " (attempted address: ".concat(opts.hostname, ":").concat(opts.port, ","); + } + message += " timeout: ".concat(opts.timeout, "ms)"); + util.destroy(socket, new ConnectTimeoutError(message)); } -exports.getProxyUrl = getProxyUrl; -var HttpRedirectCodes = [HttpCodes.MovedPermanently, HttpCodes.ResourceMoved, HttpCodes.SeeOther, HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect]; -var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; -var RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -var ExponentialBackoffCeiling = 10; -var ExponentialBackoffTimeSlice = 5; -var HttpClientError = /*#__PURE__*/function (_Error) { - _inherits(HttpClientError, _Error); - var _super = _createSuper(HttpClientError); - function HttpClientError(message, statusCode) { +module.exports = buildConnector; + +/***/ }, + +/***/ 5751 +(module) { + +"use strict"; + + +/** @type {Record} */ +var headerNameLowerCasedRecord = {}; + +// https://developer.mozilla.org/docs/Web/HTTP/Headers +var wellknownHeaderNames = ['Accept', 'Accept-Encoding', 'Accept-Language', 'Accept-Ranges', 'Access-Control-Allow-Credentials', 'Access-Control-Allow-Headers', 'Access-Control-Allow-Methods', 'Access-Control-Allow-Origin', 'Access-Control-Expose-Headers', 'Access-Control-Max-Age', 'Access-Control-Request-Headers', 'Access-Control-Request-Method', 'Age', 'Allow', 'Alt-Svc', 'Alt-Used', 'Authorization', 'Cache-Control', 'Clear-Site-Data', 'Connection', 'Content-Disposition', 'Content-Encoding', 'Content-Language', 'Content-Length', 'Content-Location', 'Content-Range', 'Content-Security-Policy', 'Content-Security-Policy-Report-Only', 'Content-Type', 'Cookie', 'Cross-Origin-Embedder-Policy', 'Cross-Origin-Opener-Policy', 'Cross-Origin-Resource-Policy', 'Date', 'Device-Memory', 'Downlink', 'ECT', 'ETag', 'Expect', 'Expect-CT', 'Expires', 'Forwarded', 'From', 'Host', 'If-Match', 'If-Modified-Since', 'If-None-Match', 'If-Range', 'If-Unmodified-Since', 'Keep-Alive', 'Last-Modified', 'Link', 'Location', 'Max-Forwards', 'Origin', 'Permissions-Policy', 'Pragma', 'Proxy-Authenticate', 'Proxy-Authorization', 'RTT', 'Range', 'Referer', 'Referrer-Policy', 'Refresh', 'Retry-After', 'Sec-WebSocket-Accept', 'Sec-WebSocket-Extensions', 'Sec-WebSocket-Key', 'Sec-WebSocket-Protocol', 'Sec-WebSocket-Version', 'Server', 'Server-Timing', 'Service-Worker-Allowed', 'Service-Worker-Navigation-Preload', 'Set-Cookie', 'SourceMap', 'Strict-Transport-Security', 'Supports-Loading-Mode', 'TE', 'Timing-Allow-Origin', 'Trailer', 'Transfer-Encoding', 'Upgrade', 'Upgrade-Insecure-Requests', 'User-Agent', 'Vary', 'Via', 'WWW-Authenticate', 'X-Content-Type-Options', 'X-DNS-Prefetch-Control', 'X-Frame-Options', 'X-Permitted-Cross-Domain-Policies', 'X-Powered-By', 'X-Requested-With', 'X-XSS-Protection']; +for (var i = 0; i < wellknownHeaderNames.length; ++i) { + var key = wellknownHeaderNames[i]; + var lowerCasedKey = key.toLowerCase(); + headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; +} + +// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`. +Object.setPrototypeOf(headerNameLowerCasedRecord, null); +module.exports = { + wellknownHeaderNames: wellknownHeaderNames, + headerNameLowerCasedRecord: headerNameLowerCasedRecord +}; + +/***/ }, + +/***/ 662 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var diagnosticsChannel = __webpack_require__(3053); +var util = __webpack_require__(7975); +var undiciDebugLog = util.debuglog('undici'); +var fetchDebuglog = util.debuglog('fetch'); +var websocketDebuglog = util.debuglog('websocket'); +var isClientSet = false; +var channels = { + // Client + beforeConnect: diagnosticsChannel.channel('undici:client:beforeConnect'), + connected: diagnosticsChannel.channel('undici:client:connected'), + connectError: diagnosticsChannel.channel('undici:client:connectError'), + sendHeaders: diagnosticsChannel.channel('undici:client:sendHeaders'), + // Request + create: diagnosticsChannel.channel('undici:request:create'), + bodySent: diagnosticsChannel.channel('undici:request:bodySent'), + headers: diagnosticsChannel.channel('undici:request:headers'), + trailers: diagnosticsChannel.channel('undici:request:trailers'), + error: diagnosticsChannel.channel('undici:request:error'), + // WebSocket + open: diagnosticsChannel.channel('undici:websocket:open'), + close: diagnosticsChannel.channel('undici:websocket:close'), + socketError: diagnosticsChannel.channel('undici:websocket:socket_error'), + ping: diagnosticsChannel.channel('undici:websocket:ping'), + pong: diagnosticsChannel.channel('undici:websocket:pong') +}; +if (undiciDebugLog.enabled || fetchDebuglog.enabled) { + var debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog; + + // Track all Client events + diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(function (evt) { + var _evt$connectParams = evt.connectParams, + version = _evt$connectParams.version, + protocol = _evt$connectParams.protocol, + port = _evt$connectParams.port, + host = _evt$connectParams.host; + debuglog('connecting to %s using %s%s', "".concat(host).concat(port ? ":".concat(port) : ''), protocol, version); + }); + diagnosticsChannel.channel('undici:client:connected').subscribe(function (evt) { + var _evt$connectParams2 = evt.connectParams, + version = _evt$connectParams2.version, + protocol = _evt$connectParams2.protocol, + port = _evt$connectParams2.port, + host = _evt$connectParams2.host; + debuglog('connected to %s using %s%s', "".concat(host).concat(port ? ":".concat(port) : ''), protocol, version); + }); + diagnosticsChannel.channel('undici:client:connectError').subscribe(function (evt) { + var _evt$connectParams3 = evt.connectParams, + version = _evt$connectParams3.version, + protocol = _evt$connectParams3.protocol, + port = _evt$connectParams3.port, + host = _evt$connectParams3.host, + error = evt.error; + debuglog('connection to %s using %s%s errored - %s', "".concat(host).concat(port ? ":".concat(port) : ''), protocol, version, error.message); + }); + diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(function (evt) { + var _evt$request = evt.request, + method = _evt$request.method, + path = _evt$request.path, + origin = _evt$request.origin; + debuglog('sending request to %s %s/%s', method, origin, path); + }); + + // Track Request events + diagnosticsChannel.channel('undici:request:headers').subscribe(function (evt) { + var _evt$request2 = evt.request, + method = _evt$request2.method, + path = _evt$request2.path, + origin = _evt$request2.origin, + statusCode = evt.response.statusCode; + debuglog('received response to %s %s/%s - HTTP %d', method, origin, path, statusCode); + }); + diagnosticsChannel.channel('undici:request:trailers').subscribe(function (evt) { + var _evt$request3 = evt.request, + method = _evt$request3.method, + path = _evt$request3.path, + origin = _evt$request3.origin; + debuglog('trailers received from %s %s/%s', method, origin, path); + }); + diagnosticsChannel.channel('undici:request:error').subscribe(function (evt) { + var _evt$request4 = evt.request, + method = _evt$request4.method, + path = _evt$request4.path, + origin = _evt$request4.origin, + error = evt.error; + debuglog('request to %s %s/%s errored - %s', method, origin, path, error.message); + }); + isClientSet = true; +} +if (websocketDebuglog.enabled) { + if (!isClientSet) { + var _debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog; + diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(function (evt) { + var _evt$connectParams4 = evt.connectParams, + version = _evt$connectParams4.version, + protocol = _evt$connectParams4.protocol, + port = _evt$connectParams4.port, + host = _evt$connectParams4.host; + _debuglog('connecting to %s%s using %s%s', host, port ? ":".concat(port) : '', protocol, version); + }); + diagnosticsChannel.channel('undici:client:connected').subscribe(function (evt) { + var _evt$connectParams5 = evt.connectParams, + version = _evt$connectParams5.version, + protocol = _evt$connectParams5.protocol, + port = _evt$connectParams5.port, + host = _evt$connectParams5.host; + _debuglog('connected to %s%s using %s%s', host, port ? ":".concat(port) : '', protocol, version); + }); + diagnosticsChannel.channel('undici:client:connectError').subscribe(function (evt) { + var _evt$connectParams6 = evt.connectParams, + version = _evt$connectParams6.version, + protocol = _evt$connectParams6.protocol, + port = _evt$connectParams6.port, + host = _evt$connectParams6.host, + error = evt.error; + _debuglog('connection to %s%s using %s%s errored - %s', host, port ? ":".concat(port) : '', protocol, version, error.message); + }); + diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(function (evt) { + var _evt$request5 = evt.request, + method = _evt$request5.method, + path = _evt$request5.path, + origin = _evt$request5.origin; + _debuglog('sending request to %s %s/%s', method, origin, path); + }); + } + + // Track all WebSocket events + diagnosticsChannel.channel('undici:websocket:open').subscribe(function (evt) { + var _evt$address = evt.address, + address = _evt$address.address, + port = _evt$address.port; + websocketDebuglog('connection opened %s%s', address, port ? ":".concat(port) : ''); + }); + diagnosticsChannel.channel('undici:websocket:close').subscribe(function (evt) { + var websocket = evt.websocket, + code = evt.code, + reason = evt.reason; + websocketDebuglog('closed connection to %s - %s %s', websocket.url, code, reason); + }); + diagnosticsChannel.channel('undici:websocket:socket_error').subscribe(function (err) { + websocketDebuglog('connection errored - %s', err.message); + }); + diagnosticsChannel.channel('undici:websocket:ping').subscribe(function (evt) { + websocketDebuglog('ping received'); + }); + diagnosticsChannel.channel('undici:websocket:pong').subscribe(function (evt) { + websocketDebuglog('pong received'); + }); +} +module.exports = { + channels: channels +}; + +/***/ }, + +/***/ 3515 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _wrapNativeSuper = (__webpack_require__(1837)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var kUndiciError = Symbol["for"]('undici.error.UND_ERR'); +var UndiciError = /*#__PURE__*/function (_Error) { + function UndiciError(message) { var _this; - _classCallCheck(this, HttpClientError); - _this = _super.call(this, message); - _this.name = 'HttpClientError'; - _this.statusCode = statusCode; - Object.setPrototypeOf(_assertThisInitialized(_this), HttpClientError.prototype); + _classCallCheck(this, UndiciError); + _this = _callSuper(this, UndiciError, [message]); + _defineProperty(_this, kUndiciError, true); + _this.name = 'UndiciError'; + _this.code = 'UND_ERR'; return _this; } - return _createClass(HttpClientError); -}( /*#__PURE__*/_wrapNativeSuper(Error)); -exports.HttpClientError = HttpClientError; -var HttpClientResponse = /*#__PURE__*/function () { - function HttpClientResponse(message) { - _classCallCheck(this, HttpClientResponse); - this.message = message; - } - _createClass(HttpClientResponse, [{ - key: "readBody", - value: function readBody() { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { - var _this2 = this; - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - return _context2.abrupt("return", new Promise(function (resolve) { - return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { - var output; - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - output = Buffer.alloc(0); - this.message.on('data', function (chunk) { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', function () { - resolve(output.toString()); - }); - case 3: - case "end": - return _context.stop(); - } - } - }, _callee, this); - })); - })); - case 1: - case "end": - return _context2.stop(); - } - } - }, _callee2); - })); + _inherits(UndiciError, _Error); + return _createClass(UndiciError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kUndiciError] === true; } }]); - return HttpClientResponse; -}(); -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - var parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -var HttpClient = /*#__PURE__*/function () { - function HttpClient(userAgent, handlers, requestOptions) { - _classCallCheck(this, HttpClient); - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } +}(/*#__PURE__*/_wrapNativeSuper(Error)); +var kConnectTimeoutError = Symbol["for"]('undici.error.UND_ERR_CONNECT_TIMEOUT'); +var ConnectTimeoutError = /*#__PURE__*/function (_UndiciError2) { + function ConnectTimeoutError(message) { + var _this2; + _classCallCheck(this, ConnectTimeoutError); + _this2 = _callSuper(this, ConnectTimeoutError, [message]); + _defineProperty(_this2, kConnectTimeoutError, true); + _this2.name = 'ConnectTimeoutError'; + _this2.message = message || 'Connect Timeout Error'; + _this2.code = 'UND_ERR_CONNECT_TIMEOUT'; + return _this2; + } + _inherits(ConnectTimeoutError, _UndiciError2); + return _createClass(ConnectTimeoutError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kConnectTimeoutError] === true; } + }]); +}(UndiciError); +var kHeadersTimeoutError = Symbol["for"]('undici.error.UND_ERR_HEADERS_TIMEOUT'); +var HeadersTimeoutError = /*#__PURE__*/function (_UndiciError3) { + function HeadersTimeoutError(message) { + var _this3; + _classCallCheck(this, HeadersTimeoutError); + _this3 = _callSuper(this, HeadersTimeoutError, [message]); + _defineProperty(_this3, kHeadersTimeoutError, true); + _this3.name = 'HeadersTimeoutError'; + _this3.message = message || 'Headers Timeout Error'; + _this3.code = 'UND_ERR_HEADERS_TIMEOUT'; + return _this3; } - _createClass(HttpClient, [{ - key: "options", - value: function options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() { - return _regeneratorRuntime().wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - return _context3.abrupt("return", this.request('OPTIONS', requestUrl, null, additionalHeaders || {})); - case 1: - case "end": - return _context3.stop(); - } - } - }, _callee3, this); - })); + _inherits(HeadersTimeoutError, _UndiciError3); + return _createClass(HeadersTimeoutError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kHeadersTimeoutError] === true; } - }, { - key: "get", - value: function get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() { - return _regeneratorRuntime().wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - return _context4.abrupt("return", this.request('GET', requestUrl, null, additionalHeaders || {})); - case 1: - case "end": - return _context4.stop(); - } - } - }, _callee4, this); - })); + }]); +}(UndiciError); +var kHeadersOverflowError = Symbol["for"]('undici.error.UND_ERR_HEADERS_OVERFLOW'); +var HeadersOverflowError = /*#__PURE__*/function (_UndiciError4) { + function HeadersOverflowError(message) { + var _this4; + _classCallCheck(this, HeadersOverflowError); + _this4 = _callSuper(this, HeadersOverflowError, [message]); + _defineProperty(_this4, kHeadersOverflowError, true); + _this4.name = 'HeadersOverflowError'; + _this4.message = message || 'Headers Overflow Error'; + _this4.code = 'UND_ERR_HEADERS_OVERFLOW'; + return _this4; + } + _inherits(HeadersOverflowError, _UndiciError4); + return _createClass(HeadersOverflowError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kHeadersOverflowError] === true; } - }, { - key: "del", - value: function del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() { - return _regeneratorRuntime().wrap(function _callee5$(_context5) { - while (1) { - switch (_context5.prev = _context5.next) { - case 0: - return _context5.abrupt("return", this.request('DELETE', requestUrl, null, additionalHeaders || {})); - case 1: - case "end": - return _context5.stop(); - } - } - }, _callee5, this); - })); + }]); +}(UndiciError); +var kBodyTimeoutError = Symbol["for"]('undici.error.UND_ERR_BODY_TIMEOUT'); +var BodyTimeoutError = /*#__PURE__*/function (_UndiciError5) { + function BodyTimeoutError(message) { + var _this5; + _classCallCheck(this, BodyTimeoutError); + _this5 = _callSuper(this, BodyTimeoutError, [message]); + _defineProperty(_this5, kBodyTimeoutError, true); + _this5.name = 'BodyTimeoutError'; + _this5.message = message || 'Body Timeout Error'; + _this5.code = 'UND_ERR_BODY_TIMEOUT'; + return _this5; + } + _inherits(BodyTimeoutError, _UndiciError5); + return _createClass(BodyTimeoutError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kBodyTimeoutError] === true; } - }, { - key: "post", - value: function post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() { - return _regeneratorRuntime().wrap(function _callee6$(_context6) { - while (1) { - switch (_context6.prev = _context6.next) { - case 0: - return _context6.abrupt("return", this.request('POST', requestUrl, data, additionalHeaders || {})); - case 1: - case "end": - return _context6.stop(); - } - } - }, _callee6, this); - })); + }]); +}(UndiciError); +var kResponseStatusCodeError = Symbol["for"]('undici.error.UND_ERR_RESPONSE_STATUS_CODE'); +var ResponseStatusCodeError = /*#__PURE__*/function (_UndiciError6) { + function ResponseStatusCodeError(message, statusCode, headers, body) { + var _this6; + _classCallCheck(this, ResponseStatusCodeError); + _this6 = _callSuper(this, ResponseStatusCodeError, [message]); + _defineProperty(_this6, kResponseStatusCodeError, true); + _this6.name = 'ResponseStatusCodeError'; + _this6.message = message || 'Response Status Code Error'; + _this6.code = 'UND_ERR_RESPONSE_STATUS_CODE'; + _this6.body = body; + _this6.status = statusCode; + _this6.statusCode = statusCode; + _this6.headers = headers; + return _this6; + } + _inherits(ResponseStatusCodeError, _UndiciError6); + return _createClass(ResponseStatusCodeError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kResponseStatusCodeError] === true; } - }, { - key: "patch", - value: function patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() { - return _regeneratorRuntime().wrap(function _callee7$(_context7) { - while (1) { - switch (_context7.prev = _context7.next) { - case 0: - return _context7.abrupt("return", this.request('PATCH', requestUrl, data, additionalHeaders || {})); - case 1: - case "end": - return _context7.stop(); - } - } - }, _callee7, this); - })); + }]); +}(UndiciError); +var kInvalidArgumentError = Symbol["for"]('undici.error.UND_ERR_INVALID_ARG'); +var InvalidArgumentError = /*#__PURE__*/function (_UndiciError7) { + function InvalidArgumentError(message) { + var _this7; + _classCallCheck(this, InvalidArgumentError); + _this7 = _callSuper(this, InvalidArgumentError, [message]); + _defineProperty(_this7, kInvalidArgumentError, true); + _this7.name = 'InvalidArgumentError'; + _this7.message = message || 'Invalid Argument Error'; + _this7.code = 'UND_ERR_INVALID_ARG'; + return _this7; + } + _inherits(InvalidArgumentError, _UndiciError7); + return _createClass(InvalidArgumentError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kInvalidArgumentError] === true; } - }, { - key: "put", - value: function put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() { - return _regeneratorRuntime().wrap(function _callee8$(_context8) { - while (1) { - switch (_context8.prev = _context8.next) { - case 0: - return _context8.abrupt("return", this.request('PUT', requestUrl, data, additionalHeaders || {})); - case 1: - case "end": - return _context8.stop(); - } - } - }, _callee8, this); - })); + }]); +}(UndiciError); +var kInvalidReturnValueError = Symbol["for"]('undici.error.UND_ERR_INVALID_RETURN_VALUE'); +var InvalidReturnValueError = /*#__PURE__*/function (_UndiciError8) { + function InvalidReturnValueError(message) { + var _this8; + _classCallCheck(this, InvalidReturnValueError); + _this8 = _callSuper(this, InvalidReturnValueError, [message]); + _defineProperty(_this8, kInvalidReturnValueError, true); + _this8.name = 'InvalidReturnValueError'; + _this8.message = message || 'Invalid Return Value Error'; + _this8.code = 'UND_ERR_INVALID_RETURN_VALUE'; + return _this8; + } + _inherits(InvalidReturnValueError, _UndiciError8); + return _createClass(InvalidReturnValueError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kInvalidReturnValueError] === true; } - }, { - key: "head", - value: function head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() { - return _regeneratorRuntime().wrap(function _callee9$(_context9) { - while (1) { - switch (_context9.prev = _context9.next) { - case 0: - return _context9.abrupt("return", this.request('HEAD', requestUrl, null, additionalHeaders || {})); - case 1: - case "end": - return _context9.stop(); + }]); +}(UndiciError); +var kAbortError = Symbol["for"]('undici.error.UND_ERR_ABORT'); +var AbortError = /*#__PURE__*/function (_UndiciError9) { + function AbortError(message) { + var _this9; + _classCallCheck(this, AbortError); + _this9 = _callSuper(this, AbortError, [message]); + _defineProperty(_this9, kAbortError, true); + _this9.name = 'AbortError'; + _this9.message = message || 'The operation was aborted'; + _this9.code = 'UND_ERR_ABORT'; + return _this9; + } + _inherits(AbortError, _UndiciError9); + return _createClass(AbortError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kAbortError] === true; + } + }]); +}(UndiciError); +var kRequestAbortedError = Symbol["for"]('undici.error.UND_ERR_ABORTED'); +var RequestAbortedError = /*#__PURE__*/function (_AbortError2) { + function RequestAbortedError(message) { + var _this0; + _classCallCheck(this, RequestAbortedError); + _this0 = _callSuper(this, RequestAbortedError, [message]); + _defineProperty(_this0, kRequestAbortedError, true); + _this0.name = 'AbortError'; + _this0.message = message || 'Request aborted'; + _this0.code = 'UND_ERR_ABORTED'; + return _this0; + } + _inherits(RequestAbortedError, _AbortError2); + return _createClass(RequestAbortedError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kRequestAbortedError] === true; + } + }]); +}(AbortError); +var kInformationalError = Symbol["for"]('undici.error.UND_ERR_INFO'); +var InformationalError = /*#__PURE__*/function (_UndiciError0) { + function InformationalError(message) { + var _this1; + _classCallCheck(this, InformationalError); + _this1 = _callSuper(this, InformationalError, [message]); + _defineProperty(_this1, kInformationalError, true); + _this1.name = 'InformationalError'; + _this1.message = message || 'Request information'; + _this1.code = 'UND_ERR_INFO'; + return _this1; + } + _inherits(InformationalError, _UndiciError0); + return _createClass(InformationalError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kInformationalError] === true; + } + }]); +}(UndiciError); +var kRequestContentLengthMismatchError = Symbol["for"]('undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'); +var RequestContentLengthMismatchError = /*#__PURE__*/function (_UndiciError1) { + function RequestContentLengthMismatchError(message) { + var _this10; + _classCallCheck(this, RequestContentLengthMismatchError); + _this10 = _callSuper(this, RequestContentLengthMismatchError, [message]); + _defineProperty(_this10, kRequestContentLengthMismatchError, true); + _this10.name = 'RequestContentLengthMismatchError'; + _this10.message = message || 'Request body length does not match content-length header'; + _this10.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'; + return _this10; + } + _inherits(RequestContentLengthMismatchError, _UndiciError1); + return _createClass(RequestContentLengthMismatchError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kRequestContentLengthMismatchError] === true; + } + }]); +}(UndiciError); +var kResponseContentLengthMismatchError = Symbol["for"]('undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH'); +var ResponseContentLengthMismatchError = /*#__PURE__*/function (_UndiciError10) { + function ResponseContentLengthMismatchError(message) { + var _this11; + _classCallCheck(this, ResponseContentLengthMismatchError); + _this11 = _callSuper(this, ResponseContentLengthMismatchError, [message]); + _defineProperty(_this11, kResponseContentLengthMismatchError, true); + _this11.name = 'ResponseContentLengthMismatchError'; + _this11.message = message || 'Response body length does not match content-length header'; + _this11.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'; + return _this11; + } + _inherits(ResponseContentLengthMismatchError, _UndiciError10); + return _createClass(ResponseContentLengthMismatchError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kResponseContentLengthMismatchError] === true; + } + }]); +}(UndiciError); +var kClientDestroyedError = Symbol["for"]('undici.error.UND_ERR_DESTROYED'); +var ClientDestroyedError = /*#__PURE__*/function (_UndiciError11) { + function ClientDestroyedError(message) { + var _this12; + _classCallCheck(this, ClientDestroyedError); + _this12 = _callSuper(this, ClientDestroyedError, [message]); + _defineProperty(_this12, kClientDestroyedError, true); + _this12.name = 'ClientDestroyedError'; + _this12.message = message || 'The client is destroyed'; + _this12.code = 'UND_ERR_DESTROYED'; + return _this12; + } + _inherits(ClientDestroyedError, _UndiciError11); + return _createClass(ClientDestroyedError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kClientDestroyedError] === true; + } + }]); +}(UndiciError); +var kClientClosedError = Symbol["for"]('undici.error.UND_ERR_CLOSED'); +var ClientClosedError = /*#__PURE__*/function (_UndiciError12) { + function ClientClosedError(message) { + var _this13; + _classCallCheck(this, ClientClosedError); + _this13 = _callSuper(this, ClientClosedError, [message]); + _defineProperty(_this13, kClientClosedError, true); + _this13.name = 'ClientClosedError'; + _this13.message = message || 'The client is closed'; + _this13.code = 'UND_ERR_CLOSED'; + return _this13; + } + _inherits(ClientClosedError, _UndiciError12); + return _createClass(ClientClosedError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kClientClosedError] === true; + } + }]); +}(UndiciError); +var kSocketError = Symbol["for"]('undici.error.UND_ERR_SOCKET'); +var SocketError = /*#__PURE__*/function (_UndiciError13) { + function SocketError(message, socket) { + var _this14; + _classCallCheck(this, SocketError); + _this14 = _callSuper(this, SocketError, [message]); + _defineProperty(_this14, kSocketError, true); + _this14.name = 'SocketError'; + _this14.message = message || 'Socket error'; + _this14.code = 'UND_ERR_SOCKET'; + _this14.socket = socket; + return _this14; + } + _inherits(SocketError, _UndiciError13); + return _createClass(SocketError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kSocketError] === true; + } + }]); +}(UndiciError); +var kNotSupportedError = Symbol["for"]('undici.error.UND_ERR_NOT_SUPPORTED'); +var NotSupportedError = /*#__PURE__*/function (_UndiciError14) { + function NotSupportedError(message) { + var _this15; + _classCallCheck(this, NotSupportedError); + _this15 = _callSuper(this, NotSupportedError, [message]); + _defineProperty(_this15, kNotSupportedError, true); + _this15.name = 'NotSupportedError'; + _this15.message = message || 'Not supported error'; + _this15.code = 'UND_ERR_NOT_SUPPORTED'; + return _this15; + } + _inherits(NotSupportedError, _UndiciError14); + return _createClass(NotSupportedError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kNotSupportedError] === true; + } + }]); +}(UndiciError); +var kBalancedPoolMissingUpstreamError = Symbol["for"]('undici.error.UND_ERR_BPL_MISSING_UPSTREAM'); +var BalancedPoolMissingUpstreamError = /*#__PURE__*/function (_UndiciError15) { + function BalancedPoolMissingUpstreamError(message) { + var _this16; + _classCallCheck(this, BalancedPoolMissingUpstreamError); + _this16 = _callSuper(this, BalancedPoolMissingUpstreamError, [message]); + _defineProperty(_this16, kBalancedPoolMissingUpstreamError, true); + _this16.name = 'MissingUpstreamError'; + _this16.message = message || 'No upstream has been added to the BalancedPool'; + _this16.code = 'UND_ERR_BPL_MISSING_UPSTREAM'; + return _this16; + } + _inherits(BalancedPoolMissingUpstreamError, _UndiciError15); + return _createClass(BalancedPoolMissingUpstreamError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kBalancedPoolMissingUpstreamError] === true; + } + }]); +}(UndiciError); +var kHTTPParserError = Symbol["for"]('undici.error.UND_ERR_HTTP_PARSER'); +var HTTPParserError = /*#__PURE__*/function (_Error2) { + function HTTPParserError(message, code, data) { + var _this17; + _classCallCheck(this, HTTPParserError); + _this17 = _callSuper(this, HTTPParserError, [message]); + _defineProperty(_this17, kHTTPParserError, true); + _this17.name = 'HTTPParserError'; + _this17.code = code ? "HPE_".concat(code) : undefined; + _this17.data = data ? data.toString() : undefined; + return _this17; + } + _inherits(HTTPParserError, _Error2); + return _createClass(HTTPParserError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kHTTPParserError] === true; + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(Error)); +var kResponseExceededMaxSizeError = Symbol["for"]('undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE'); +var ResponseExceededMaxSizeError = /*#__PURE__*/function (_UndiciError16) { + function ResponseExceededMaxSizeError(message) { + var _this18; + _classCallCheck(this, ResponseExceededMaxSizeError); + _this18 = _callSuper(this, ResponseExceededMaxSizeError, [message]); + _defineProperty(_this18, kResponseExceededMaxSizeError, true); + _this18.name = 'ResponseExceededMaxSizeError'; + _this18.message = message || 'Response content exceeded max size'; + _this18.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'; + return _this18; + } + _inherits(ResponseExceededMaxSizeError, _UndiciError16); + return _createClass(ResponseExceededMaxSizeError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kResponseExceededMaxSizeError] === true; + } + }]); +}(UndiciError); +var kRequestRetryError = Symbol["for"]('undici.error.UND_ERR_REQ_RETRY'); +var RequestRetryError = /*#__PURE__*/function (_UndiciError17) { + function RequestRetryError(message, code, _ref) { + var _this19; + var headers = _ref.headers, + data = _ref.data; + _classCallCheck(this, RequestRetryError); + _this19 = _callSuper(this, RequestRetryError, [message]); + _defineProperty(_this19, kRequestRetryError, true); + _this19.name = 'RequestRetryError'; + _this19.message = message || 'Request retry error'; + _this19.code = 'UND_ERR_REQ_RETRY'; + _this19.statusCode = code; + _this19.data = data; + _this19.headers = headers; + return _this19; + } + _inherits(RequestRetryError, _UndiciError17); + return _createClass(RequestRetryError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kRequestRetryError] === true; + } + }]); +}(UndiciError); +var kResponseError = Symbol["for"]('undici.error.UND_ERR_RESPONSE'); +var ResponseError = /*#__PURE__*/function (_UndiciError18) { + function ResponseError(message, code, _ref2) { + var _this20; + var headers = _ref2.headers, + data = _ref2.data; + _classCallCheck(this, ResponseError); + _this20 = _callSuper(this, ResponseError, [message]); + _defineProperty(_this20, kResponseError, true); + _this20.name = 'ResponseError'; + _this20.message = message || 'Response error'; + _this20.code = 'UND_ERR_RESPONSE'; + _this20.statusCode = code; + _this20.data = data; + _this20.headers = headers; + return _this20; + } + _inherits(ResponseError, _UndiciError18); + return _createClass(ResponseError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kResponseError] === true; + } + }]); +}(UndiciError); +var kSecureProxyConnectionError = Symbol["for"]('undici.error.UND_ERR_PRX_TLS'); +var SecureProxyConnectionError = /*#__PURE__*/function (_UndiciError19) { + function SecureProxyConnectionError(cause, message, options) { + var _this21; + _classCallCheck(this, SecureProxyConnectionError); + _this21 = _callSuper(this, SecureProxyConnectionError, [message, _objectSpread({ + cause: cause + }, options !== null && options !== void 0 ? options : {})]); + _defineProperty(_this21, kSecureProxyConnectionError, true); + _this21.name = 'SecureProxyConnectionError'; + _this21.message = message || 'Secure Proxy Connection failed'; + _this21.code = 'UND_ERR_PRX_TLS'; + _this21.cause = cause; + return _this21; + } + _inherits(SecureProxyConnectionError, _UndiciError19); + return _createClass(SecureProxyConnectionError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kSecureProxyConnectionError] === true; + } + }]); +}(UndiciError); +var kMessageSizeExceededError = Symbol["for"]('undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED'); +var MessageSizeExceededError = /*#__PURE__*/function (_UndiciError20) { + function MessageSizeExceededError(message) { + var _this22; + _classCallCheck(this, MessageSizeExceededError); + _this22 = _callSuper(this, MessageSizeExceededError, [message]); + _this22.name = 'MessageSizeExceededError'; + _this22.message = message || 'Max decompressed message size exceeded'; + _this22.code = 'UND_ERR_WS_MESSAGE_SIZE_EXCEEDED'; + return _this22; + } + _inherits(MessageSizeExceededError, _UndiciError20); + return _createClass(MessageSizeExceededError, [{ + key: kMessageSizeExceededError, + get: function get() { + return true; + } + }], [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kMessageSizeExceededError] === true; + } + }]); +}(UndiciError); +module.exports = { + AbortError: AbortError, + HTTPParserError: HTTPParserError, + UndiciError: UndiciError, + HeadersTimeoutError: HeadersTimeoutError, + HeadersOverflowError: HeadersOverflowError, + BodyTimeoutError: BodyTimeoutError, + RequestContentLengthMismatchError: RequestContentLengthMismatchError, + ConnectTimeoutError: ConnectTimeoutError, + ResponseStatusCodeError: ResponseStatusCodeError, + InvalidArgumentError: InvalidArgumentError, + InvalidReturnValueError: InvalidReturnValueError, + RequestAbortedError: RequestAbortedError, + ClientDestroyedError: ClientDestroyedError, + ClientClosedError: ClientClosedError, + InformationalError: InformationalError, + SocketError: SocketError, + NotSupportedError: NotSupportedError, + ResponseContentLengthMismatchError: ResponseContentLengthMismatchError, + BalancedPoolMissingUpstreamError: BalancedPoolMissingUpstreamError, + ResponseExceededMaxSizeError: ResponseExceededMaxSizeError, + RequestRetryError: RequestRetryError, + ResponseError: ResponseError, + SecureProxyConnectionError: SecureProxyConnectionError, + MessageSizeExceededError: MessageSizeExceededError +}; + +/***/ }, + +/***/ 5591 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(3515), + InvalidArgumentError = _require.InvalidArgumentError, + NotSupportedError = _require.NotSupportedError; +var assert = __webpack_require__(4589); +var _require2 = __webpack_require__(6632), + isValidHTTPToken = _require2.isValidHTTPToken, + isValidHeaderValue = _require2.isValidHeaderValue, + isStream = _require2.isStream, + destroy = _require2.destroy, + isBuffer = _require2.isBuffer, + isFormDataLike = _require2.isFormDataLike, + isIterable = _require2.isIterable, + isBlobLike = _require2.isBlobLike, + buildURL = _require2.buildURL, + validateHandler = _require2.validateHandler, + getServerName = _require2.getServerName, + normalizedMethodRecords = _require2.normalizedMethodRecords; +var _require3 = __webpack_require__(662), + channels = _require3.channels; +var _require4 = __webpack_require__(5751), + headerNameLowerCasedRecord = _require4.headerNameLowerCasedRecord; + +// Verifies that a given path is valid does not contain control chars \x00 to \x20 +var invalidPathRegex = /[^\u0021-\u00ff]/; +var kHandler = Symbol('handler'); +var Request = /*#__PURE__*/function () { + function Request(origin, _ref, handler) { + var _this = this; + var path = _ref.path, + method = _ref.method, + body = _ref.body, + headers = _ref.headers, + query = _ref.query, + idempotent = _ref.idempotent, + blocking = _ref.blocking, + upgrade = _ref.upgrade, + headersTimeout = _ref.headersTimeout, + bodyTimeout = _ref.bodyTimeout, + reset = _ref.reset, + throwOnError = _ref.throwOnError, + expectContinue = _ref.expectContinue, + servername = _ref.servername; + _classCallCheck(this, Request); + if (typeof path !== 'string') { + throw new InvalidArgumentError('path must be a string'); + } else if (path[0] !== '/' && !(path.startsWith('http://') || path.startsWith('https://')) && method !== 'CONNECT') { + throw new InvalidArgumentError('path must be an absolute URL or start with a slash'); + } else if (invalidPathRegex.test(path)) { + throw new InvalidArgumentError('invalid request path'); + } + if (typeof method !== 'string') { + throw new InvalidArgumentError('method must be a string'); + } else if (normalizedMethodRecords[method] === undefined && !isValidHTTPToken(method)) { + throw new InvalidArgumentError('invalid request method'); + } + if (upgrade && typeof upgrade !== 'string') { + throw new InvalidArgumentError('upgrade must be a string'); + } + if (upgrade && !isValidHeaderValue(upgrade)) { + throw new InvalidArgumentError('invalid upgrade header'); + } + if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError('invalid headersTimeout'); + } + if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError('invalid bodyTimeout'); + } + if (reset != null && typeof reset !== 'boolean') { + throw new InvalidArgumentError('invalid reset'); + } + if (expectContinue != null && typeof expectContinue !== 'boolean') { + throw new InvalidArgumentError('invalid expectContinue'); + } + this.headersTimeout = headersTimeout; + this.bodyTimeout = bodyTimeout; + this.throwOnError = throwOnError === true; + this.method = method; + this.abort = null; + if (body == null) { + this.body = null; + } else if (isStream(body)) { + this.body = body; + var rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + destroy(this); + }; + this.body.on('end', this.endHandler); + } + this.errorHandler = function (err) { + if (_this.abort) { + _this.abort(err); + } else { + _this.error = err; + } + }; + this.body.on('error', this.errorHandler); + } else if (isBuffer(body)) { + this.body = body.byteLength ? body : null; + } else if (ArrayBuffer.isView(body)) { + this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + } else if (body instanceof ArrayBuffer) { + this.body = body.byteLength ? Buffer.from(body) : null; + } else if (typeof body === 'string') { + this.body = body.length ? Buffer.from(body) : null; + } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) { + this.body = body; + } else { + throw new InvalidArgumentError('body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable'); + } + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? buildURL(path, query) : path; + this.origin = origin; + this.idempotent = idempotent == null ? method === 'HEAD' || method === 'GET' : idempotent; + this.blocking = blocking == null ? false : blocking; + this.reset = reset == null ? null : reset; + this.host = null; + this.contentLength = null; + this.contentType = null; + this.headers = []; + + // Only for H2 + this.expectContinue = expectContinue != null ? expectContinue : false; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError('headers array must be even'); + } + for (var i = 0; i < headers.length; i += 2) { + processHeader(this, headers[i], headers[i + 1]); + } + } else if (headers && typeof headers === 'object') { + if (headers[Symbol.iterator]) { + var _iterator = _createForOfIteratorHelper(headers), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var header = _step.value; + if (!Array.isArray(header) || header.length !== 2) { + throw new InvalidArgumentError('headers must be in key-value pair format'); } + processHeader(this, header[0], header[1]); } - }, _callee9, this); - })); + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } else { + var keys = Object.keys(headers); + for (var _i = 0; _i < keys.length; ++_i) { + processHeader(this, keys[_i], headers[keys[_i]]); + } + } + } else if (headers != null) { + throw new InvalidArgumentError('headers must be an object or an array'); + } + validateHandler(handler, method, upgrade); + this.servername = servername || getServerName(this.host); + this[kHandler] = handler; + if (channels.create.hasSubscribers) { + channels.create.publish({ + request: this + }); + } + } + return _createClass(Request, [{ + key: "onBodySent", + value: function onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); + } + } } }, { - key: "sendStream", - value: function sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() { - return _regeneratorRuntime().wrap(function _callee10$(_context10) { - while (1) { - switch (_context10.prev = _context10.next) { - case 0: - return _context10.abrupt("return", this.request(verb, requestUrl, stream, additionalHeaders)); - case 1: - case "end": - return _context10.stop(); - } - } - }, _callee10, this); - })); + key: "onRequestSent", + value: function onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ + request: this + }); + } + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); + } + } } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ }, { - key: "getJson", - value: function getJson(requestUrl) { - var additionalHeaders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee11() { - var res; - return _regeneratorRuntime().wrap(function _callee11$(_context11) { - while (1) { - switch (_context11.prev = _context11.next) { - case 0: - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - _context11.next = 3; - return this.get(requestUrl, additionalHeaders); - case 3: - res = _context11.sent; - return _context11.abrupt("return", this._processResponse(res, this.requestOptions)); - case 5: - case "end": - return _context11.stop(); - } - } - }, _callee11, this); - })); + key: "onConnect", + value: function onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); + } else { + this.abort = abort; + return this[kHandler].onConnect(abort); + } } }, { - key: "postJson", - value: function postJson(requestUrl, obj) { - var additionalHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee12() { - var data, res; - return _regeneratorRuntime().wrap(function _callee12$(_context12) { - while (1) { - switch (_context12.prev = _context12.next) { - case 0: - data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - _context12.next = 5; - return this.post(requestUrl, data, additionalHeaders); - case 5: - res = _context12.sent; - return _context12.abrupt("return", this._processResponse(res, this.requestOptions)); - case 7: - case "end": - return _context12.stop(); - } - } - }, _callee12, this); - })); + key: "onResponseStarted", + value: function onResponseStarted() { + var _this$kHandler$onResp, _this$kHandler; + return (_this$kHandler$onResp = (_this$kHandler = this[kHandler]).onResponseStarted) === null || _this$kHandler$onResp === void 0 ? void 0 : _this$kHandler$onResp.call(_this$kHandler); } }, { - key: "putJson", - value: function putJson(requestUrl, obj) { - var additionalHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee13() { - var data, res; - return _regeneratorRuntime().wrap(function _callee13$(_context13) { - while (1) { - switch (_context13.prev = _context13.next) { - case 0: - data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - _context13.next = 5; - return this.put(requestUrl, data, additionalHeaders); - case 5: - res = _context13.sent; - return _context13.abrupt("return", this._processResponse(res, this.requestOptions)); - case 7: - case "end": - return _context13.stop(); - } + key: "onHeaders", + value: function onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ + request: this, + response: { + statusCode: statusCode, + headers: headers, + statusText: statusText } - }, _callee13, this); - })); + }); + } + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); + } } }, { - key: "patchJson", - value: function patchJson(requestUrl, obj) { - var additionalHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee14() { - var data, res; - return _regeneratorRuntime().wrap(function _callee14$(_context14) { - while (1) { - switch (_context14.prev = _context14.next) { - case 0: - data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - _context14.next = 5; - return this.patch(requestUrl, data, additionalHeaders); - case 5: - res = _context14.sent; - return _context14.abrupt("return", this._processResponse(res, this.requestOptions)); - case 7: - case "end": - return _context14.stop(); - } - } - }, _callee14, this); - })); + key: "onData", + value: function onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); + return false; + } } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ }, { - key: "request", - value: function request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee15() { - var parsedUrl, info, maxTries, numTries, response, authenticationHandler, _iterator, _step, handler, redirectsRemaining, redirectUrl, parsedRedirectUrl, header; - return _regeneratorRuntime().wrap(function _callee15$(_context15) { - while (1) { - switch (_context15.prev = _context15.next) { - case 0: - if (!this._disposed) { - _context15.next = 2; - break; - } - throw new Error('Client has already been disposed.'); - case 2: - parsedUrl = new URL(requestUrl); - info = this._prepareRequest(verb, parsedUrl, headers); // Only perform retries on reads since writes may not be idempotent. - maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; - numTries = 0; - case 6: - _context15.next = 8; - return this.requestRaw(info, data); - case 8: - response = _context15.sent; - if (!(response && response.message && response.message.statusCode === HttpCodes.Unauthorized)) { - _context15.next = 34; - break; - } - authenticationHandler = void 0; - _iterator = _createForOfIteratorHelper(this.handlers); - _context15.prev = 12; - _iterator.s(); - case 14: - if ((_step = _iterator.n()).done) { - _context15.next = 21; - break; - } - handler = _step.value; - if (!handler.canHandleAuthentication(response)) { - _context15.next = 19; - break; - } - authenticationHandler = handler; - return _context15.abrupt("break", 21); - case 19: - _context15.next = 14; - break; - case 21: - _context15.next = 26; - break; - case 23: - _context15.prev = 23; - _context15.t0 = _context15["catch"](12); - _iterator.e(_context15.t0); - case 26: - _context15.prev = 26; - _iterator.f(); - return _context15.finish(26); - case 29: - if (!authenticationHandler) { - _context15.next = 33; - break; - } - return _context15.abrupt("return", authenticationHandler.handleAuthentication(this, info, data)); - case 33: - return _context15.abrupt("return", response); - case 34: - redirectsRemaining = this._maxRedirects; - case 35: - if (!(response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0)) { - _context15.next = 52; - break; - } - redirectUrl = response.message.headers['location']; - if (redirectUrl) { - _context15.next = 39; - break; - } - return _context15.abrupt("break", 52); - case 39: - parsedRedirectUrl = new URL(redirectUrl); - if (!(parsedUrl.protocol === 'https:' && parsedUrl.protocol !== parsedRedirectUrl.protocol && !this._allowRedirectDowngrade)) { - _context15.next = 42; - break; - } - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - case 42: - _context15.next = 44; - return response.readBody(); - case 44: - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - _context15.next = 48; - return this.requestRaw(info, data); - case 48: - response = _context15.sent; - redirectsRemaining--; - _context15.next = 35; - break; - case 52: - if (!(!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode))) { - _context15.next = 54; - break; - } - return _context15.abrupt("return", response); - case 54: - numTries += 1; - if (!(numTries < maxTries)) { - _context15.next = 60; - break; - } - _context15.next = 58; - return response.readBody(); - case 58: - _context15.next = 60; - return this._performExponentialBackoff(numTries); - case 60: - if (numTries < maxTries) { - _context15.next = 6; - break; - } - case 61: - return _context15.abrupt("return", response); - case 62: - case "end": - return _context15.stop(); - } - } - }, _callee15, this, [[12, 23, 26, 29]]); - })); + key: "onUpgrade", + value: function onUpgrade(statusCode, headers, socket) { + assert(!this.aborted); + assert(!this.completed); + return this[kHandler].onUpgrade(statusCode, headers, socket); } - /** - * Needs to be called if keepAlive is set to true in request options. - */ }, { - key: "dispose", - value: function dispose() { - if (this._agent) { - this._agent.destroy(); + key: "onComplete", + value: function onComplete(trailers) { + this.onFinally(); + assert(!this.aborted); + this.completed = true; + if (channels.trailers.hasSubscribers) { + channels.trailers.publish({ + request: this, + trailers: trailers + }); + } + try { + return this[kHandler].onComplete(trailers); + } catch (err) { + // TODO (fix): This might be a bad idea? + this.onError(err); } - this._disposed = true; } - /** - * Raw request. - * @param info - * @param data - */ }, { - key: "requestRaw", - value: function requestRaw(info, data) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee16() { - var _this3 = this; - return _regeneratorRuntime().wrap(function _callee16$(_context16) { - while (1) { - switch (_context16.prev = _context16.next) { - case 0: - return _context16.abrupt("return", new Promise(function (resolve, reject) { - function callbackForResult(err, res) { - if (err) { - reject(err); - } else if (!res) { - // If `err` is not passed, then `res` must be passed. - reject(new Error('Unknown error')); - } else { - resolve(res); - } - } - _this3.requestRawWithCallback(info, data, callbackForResult); - })); - case 1: - case "end": - return _context16.stop(); - } - } - }, _callee16); - })); + key: "onError", + value: function onError(error) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ + request: this, + error: error + }); + } + if (this.aborted) { + return; + } + this.aborted = true; + return this[kHandler].onError(error); } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ }, { - key: "requestRawWithCallback", - value: function requestRawWithCallback(info, data, onResult) { - if (typeof data === 'string') { - if (!info.options.headers) { - info.options.headers = {}; - } - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + key: "onFinally", + value: function onFinally() { + if (this.errorHandler) { + this.body.off('error', this.errorHandler); + this.errorHandler = null; } - var callbackCalled = false; - function handleResult(err, res) { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); + if (this.endHandler) { + this.body.off('end', this.endHandler); + this.endHandler = null; + } + } + }, { + key: "addHeader", + value: function addHeader(key, value) { + processHeader(this, key, value); + return this; + } + }]); +}(); +function processHeader(request, key, val) { + if (val && typeof val === 'object' && !Array.isArray(val)) { + throw new InvalidArgumentError("invalid ".concat(key, " header")); + } else if (val === undefined) { + return; + } + var headerName = headerNameLowerCasedRecord[key]; + if (headerName === undefined) { + headerName = key.toLowerCase(); + if (headerNameLowerCasedRecord[headerName] === undefined && !isValidHTTPToken(headerName)) { + throw new InvalidArgumentError('invalid header key'); + } + } + if (Array.isArray(val)) { + var arr = []; + for (var i = 0; i < val.length; i++) { + if (typeof val[i] === 'string') { + if (!isValidHeaderValue(val[i])) { + throw new InvalidArgumentError("invalid ".concat(key, " header")); } - } - var req = info.httpModule.request(info.options, function (msg) { - var res = new HttpClientResponse(msg); - handleResult(undefined, res); - }); - var socket; - req.on('socket', function (sock) { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, function () { - if (socket) { - socket.end(); - } - handleResult(new Error("Request timeout: ".concat(info.options.path))); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } else { - req.end(); + arr.push(val[i]); + } else if (val[i] === null) { + arr.push(''); + } else if (typeof val[i] === 'object') { + throw new InvalidArgumentError("invalid ".concat(key, " header")); + } else { + arr.push("".concat(val[i])); } } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - }, { - key: "getAgent", - value: function getAgent(serverUrl) { - var parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); + val = arr; + } else if (typeof val === 'string') { + if (!isValidHeaderValue(val)) { + throw new InvalidArgumentError("invalid ".concat(key, " header")); } - }, { - key: "_prepareRequest", - value: function _prepareRequest(method, requestUrl, headers) { - var info = {}; - info.parsedUrl = requestUrl; - var usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - var defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; - info.options.path = (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - var _iterator2 = _createForOfIteratorHelper(this.handlers), - _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var handler = _step2.value; - handler.prepareRequest(info.options); - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - } - return info; + } else if (val === null) { + val = ''; + } else { + val = "".concat(val); + } + if (headerName === 'host') { + if (request.host !== null) { + throw new InvalidArgumentError('duplicate host header'); } - }, { - key: "_mergeHeaders", - value: function _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); - } - return lowercaseKeys(headers || {}); + if (typeof val !== 'string') { + throw new InvalidArgumentError('invalid host header'); } - }, { - key: "_getExistingOrDefaultHeader", - value: function _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - var clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; + // Consumed by Client + request.host = val; + } else if (headerName === 'content-length') { + if (request.contentLength !== null) { + throw new InvalidArgumentError('duplicate content-length header'); } - }, { - key: "_getAgent", - value: function _getAgent(parsedUrl) { - var agent; - var proxyUrl = pm.getProxyUrl(parsedUrl); - var useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (agent) { - return agent; - } - var usingSsl = parsedUrl.protocol === 'https:'; - var maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + request.contentLength = parseInt(val, 10); + if (!Number.isFinite(request.contentLength)) { + throw new InvalidArgumentError('invalid content-length header'); + } + } else if (request.contentType === null && headerName === 'content-type') { + request.contentType = val; + request.headers.push(key, val); + } else if (headerName === 'transfer-encoding' || headerName === 'keep-alive' || headerName === 'upgrade') { + throw new InvalidArgumentError("invalid ".concat(headerName, " header")); + } else if (headerName === 'connection') { + var value = typeof val === 'string' ? val.toLowerCase() : null; + if (value !== 'close' && value !== 'keep-alive') { + throw new InvalidArgumentError('invalid connection header'); + } + if (value === 'close') { + request.reset = true; + } + } else if (headerName === 'expect') { + throw new NotSupportedError('expect header not supported'); + } else { + request.headers.push(key, val); + } +} +module.exports = Request; + +/***/ }, + +/***/ 6771 +(module) { + +module.exports = { + kClose: Symbol('close'), + kDestroy: Symbol('destroy'), + kDispatch: Symbol('dispatch'), + kUrl: Symbol('url'), + kWriting: Symbol('writing'), + kResuming: Symbol('resuming'), + kQueue: Symbol('queue'), + kConnect: Symbol('connect'), + kConnecting: Symbol('connecting'), + kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'), + kKeepAliveMaxTimeout: Symbol('max keep alive timeout'), + kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'), + kKeepAliveTimeoutValue: Symbol('keep alive timeout'), + kKeepAlive: Symbol('keep alive'), + kHeadersTimeout: Symbol('headers timeout'), + kBodyTimeout: Symbol('body timeout'), + kServerName: Symbol('server name'), + kLocalAddress: Symbol('local address'), + kHost: Symbol('host'), + kNoRef: Symbol('no ref'), + kBodyUsed: Symbol('used'), + kBody: Symbol('abstracted request body'), + kRunning: Symbol('running'), + kBlocking: Symbol('blocking'), + kPending: Symbol('pending'), + kSize: Symbol('size'), + kBusy: Symbol('busy'), + kQueued: Symbol('queued'), + kFree: Symbol('free'), + kConnected: Symbol('connected'), + kClosed: Symbol('closed'), + kNeedDrain: Symbol('need drain'), + kReset: Symbol('reset'), + kDestroyed: Symbol["for"]('nodejs.stream.destroyed'), + kResume: Symbol('resume'), + kOnError: Symbol('on error'), + kMaxHeadersSize: Symbol('max headers size'), + kRunningIdx: Symbol('running index'), + kPendingIdx: Symbol('pending index'), + kError: Symbol('error'), + kClients: Symbol('clients'), + kClient: Symbol('client'), + kParser: Symbol('parser'), + kOnDestroyed: Symbol('destroy callbacks'), + kPipelining: Symbol('pipelining'), + kSocket: Symbol('socket'), + kHostHeader: Symbol('host header'), + kConnector: Symbol('connector'), + kStrictContentLength: Symbol('strict content length'), + kMaxRedirections: Symbol('maxRedirections'), + kMaxRequests: Symbol('maxRequestsPerClient'), + kProxy: Symbol('proxy agent options'), + kCounter: Symbol('socket request counter'), + kInterceptors: Symbol('dispatch interceptors'), + kMaxResponseSize: Symbol('max response size'), + kHTTP2Session: Symbol('http2Session'), + kHTTP2SessionState: Symbol('http2Session state'), + kRetryHandlerDefaultRetry: Symbol('retry agent default retry'), + kConstruct: Symbol('constructable'), + kListeners: Symbol('listeners'), + kHTTPContext: Symbol('http context'), + kMaxConcurrentStreams: Symbol('max concurrent streams'), + kNoProxyAgent: Symbol('no proxy agent'), + kHttpProxyAgent: Symbol('http proxy agent'), + kHttpsProxyAgent: Symbol('https proxy agent') +}; + +/***/ }, + +/***/ 1488 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _require = __webpack_require__(5751), + wellknownHeaderNames = _require.wellknownHeaderNames, + headerNameLowerCasedRecord = _require.headerNameLowerCasedRecord; +var TstNode = /*#__PURE__*/function () { + /** + * @param {string} key + * @param {any} value + * @param {number} index + */ + function TstNode(key, value, index) { + _classCallCheck(this, TstNode); + /** @type {any} */ + _defineProperty(this, "value", null); + /** @type {null | TstNode} */ + _defineProperty(this, "left", null); + /** @type {null | TstNode} */ + _defineProperty(this, "middle", null); + /** @type {null | TstNode} */ + _defineProperty(this, "right", null); + /** @type {number} */ + _defineProperty(this, "code", void 0); + if (index === undefined || index >= key.length) { + throw new TypeError('Unreachable'); + } + var code = this.code = key.charCodeAt(index); + // check code is ascii string + if (code > 0x7F) { + throw new TypeError('key must be ascii string'); + } + if (key.length !== ++index) { + this.middle = new TstNode(key, value, index); + } else { + this.value = value; + } + } + + /** + * @param {string} key + * @param {any} value + */ + return _createClass(TstNode, [{ + key: "add", + value: function add(key, value) { + var length = key.length; + if (length === 0) { + throw new TypeError('Unreachable'); } - // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. - if (proxyUrl && proxyUrl.hostname) { - var agentOptions = { - maxSockets: maxSockets, - keepAlive: this._keepAlive, - proxy: Object.assign(Object.assign({}, (proxyUrl.username || proxyUrl.password) && { - proxyAuth: "".concat(proxyUrl.username, ":").concat(proxyUrl.password) - }), { - host: proxyUrl.hostname, - port: proxyUrl.port - }) - }; - var tunnelAgent; - var overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + var index = 0; + var node = this; + while (true) { + var code = key.charCodeAt(index); + // check code is ascii string + if (code > 0x7F) { + throw new TypeError('key must be ascii string'); + } + if (node.code === code) { + if (length === ++index) { + node.value = value; + break; + } else if (node.middle !== null) { + node = node.middle; + } else { + node.middle = new TstNode(key, value, index); + break; + } + } else if (node.code < code) { + if (node.left !== null) { + node = node.left; + } else { + node.left = new TstNode(key, value, index); + break; + } + } else if (node.right !== null) { + node = node.right; } else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + node.right = new TstNode(key, value, index); + break; } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if reusing agent across request and tunneling agent isn't assigned create a new agent - if (this._keepAlive && !agent) { - var options = { - keepAlive: this._keepAlive, - maxSockets: maxSockets - }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; } - // if not using private agent and tunnel agent isn't setup then use global agent - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; - } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; } + + /** + * @param {Uint8Array} key + * @return {TstNode | null} + */ }, { - key: "_performExponentialBackoff", - value: function _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee17() { - var ms; - return _regeneratorRuntime().wrap(function _callee17$(_context17) { - while (1) { - switch (_context17.prev = _context17.next) { - case 0: - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return _context17.abrupt("return", new Promise(function (resolve) { - return setTimeout(function () { - return resolve(); - }, ms); - })); - case 3: - case "end": - return _context17.stop(); + key: "search", + value: function search(key) { + var keylength = key.length; + var index = 0; + var node = this; + while (node !== null && index < keylength) { + var code = key[index]; + // A-Z + // First check if it is bigger than 0x5a. + // Lowercase letters have higher char codes than uppercase ones. + // Also we assume that headers will mostly contain lowercase characters. + if (code <= 0x5a && code >= 0x41) { + // Lowercase for uppercase. + code |= 32; + } + while (node !== null) { + if (code === node.code) { + if (keylength === ++index) { + // Returns Node since it is the last key. + return node; } + node = node.middle; + break; } - }, _callee17); - })); + node = node.code < code ? node.left : node.right; + } + } + return null; + } + }]); +}(); +var TernarySearchTree = /*#__PURE__*/function () { + function TernarySearchTree() { + _classCallCheck(this, TernarySearchTree); + /** @type {TstNode | null} */ + _defineProperty(this, "node", null); + } + return _createClass(TernarySearchTree, [{ + key: "insert", + value: + /** + * @param {string} key + * @param {any} value + * */ + function insert(key, value) { + if (this.node === null) { + this.node = new TstNode(key, value, 0); + } else { + this.node.add(key, value); + } } + + /** + * @param {Uint8Array} key + * @return {any} + */ }, { - key: "_processResponse", - value: function _processResponse(res, options) { - return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() { - var _this4 = this; - return _regeneratorRuntime().wrap(function _callee19$(_context19) { - while (1) { - switch (_context19.prev = _context19.next) { - case 0: - return _context19.abrupt("return", new Promise(function (resolve, reject) { - return __awaiter(_this4, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee18() { - var statusCode, response, dateTimeDeserializer, obj, contents, msg, err; - return _regeneratorRuntime().wrap(function _callee18$(_context18) { - while (1) { - switch (_context18.prev = _context18.next) { - case 0: - dateTimeDeserializer = function _dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - var a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - }; - statusCode = res.message.statusCode || 0; - response = { - statusCode: statusCode, - result: null, - headers: {} - }; // not found leads to null obj returned - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - // get the result from the body - _context18.prev = 4; - _context18.next = 7; - return res.readBody(); - case 7: - contents = _context18.sent; - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); - } else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - _context18.next = 14; - break; - case 12: - _context18.prev = 12; - _context18.t0 = _context18["catch"](4); - case 14: - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } else { - msg = "Failed request: (".concat(statusCode, ")"); - } - err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } else { - resolve(response); - } - case 15: - case "end": - return _context18.stop(); - } - } - }, _callee18, null, [[4, 12]]); - })); - })); - case 1: - case "end": - return _context19.stop(); - } - } - }, _callee19); - })); + key: "lookup", + value: function lookup(key) { + var _this$node$search$val, _this$node; + return (_this$node$search$val = (_this$node = this.node) === null || _this$node === void 0 || (_this$node = _this$node.search(key)) === null || _this$node === void 0 ? void 0 : _this$node.value) !== null && _this$node$search$val !== void 0 ? _this$node$search$val : null; } }]); - return HttpClient; }(); -exports.HttpClient = HttpClient; -var lowercaseKeys = function lowercaseKeys(obj) { - return Object.keys(obj).reduce(function (c, k) { - return c[k.toLowerCase()] = obj[k], c; - }, {}); +var tree = new TernarySearchTree(); +for (var i = 0; i < wellknownHeaderNames.length; ++i) { + var key = headerNameLowerCasedRecord[wellknownHeaderNames[i]]; + tree.insert(key, key); +} +module.exports = { + TernarySearchTree: TernarySearchTree, + tree: tree }; -/***/ }), +/***/ }, -/***/ 537: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { +/***/ 6632 +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -var _createForOfIteratorHelper = (__webpack_require__(704)["default"]); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.checkBypass = exports.getProxyUrl = void 0; -function getProxyUrl(reqUrl) { - var usingSsl = reqUrl.protocol === 'https:'; - if (checkBypass(reqUrl)) { - return undefined; +var _objectSpread = (__webpack_require__(2897)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _regeneratorValues = (__webpack_require__(579)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _wrapAsyncGenerator = (__webpack_require__(2958)["default"]); +var _awaitAsyncGenerator = (__webpack_require__(3344)["default"]); +var _asyncGeneratorDelegate = (__webpack_require__(3513)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(6771), + kDestroyed = _require.kDestroyed, + kBodyUsed = _require.kBodyUsed, + kListeners = _require.kListeners, + kBody = _require.kBody; +var _require2 = __webpack_require__(7067), + IncomingMessage = _require2.IncomingMessage; +var stream = __webpack_require__(7075); +var net = __webpack_require__(7030); +var _require3 = __webpack_require__(4573), + Blob = _require3.Blob; +var nodeUtil = __webpack_require__(7975); +var _require4 = __webpack_require__(1792), + stringify = _require4.stringify; +var _require5 = __webpack_require__(8474), + EE = _require5.EventEmitter; +var _require6 = __webpack_require__(3515), + InvalidArgumentError = _require6.InvalidArgumentError; +var _require7 = __webpack_require__(5751), + headerNameLowerCasedRecord = _require7.headerNameLowerCasedRecord; +var _require8 = __webpack_require__(1488), + tree = _require8.tree; +var _process$versions$nod = process.versions.node.split('.').map(function (v) { + return Number(v); + }), + _process$versions$nod2 = _slicedToArray(_process$versions$nod, 2), + nodeMajor = _process$versions$nod2[0], + nodeMinor = _process$versions$nod2[1]; +var BodyAsyncIterable = /*#__PURE__*/function () { + function BodyAsyncIterable(body) { + _classCallCheck(this, BodyAsyncIterable); + this[kBody] = body; + this[kBodyUsed] = false; } - var proxyVar = function () { - if (usingSsl) { - return process.env['https_proxy'] || process.env['HTTPS_PROXY']; - } else { - return process.env['http_proxy'] || process.env['HTTP_PROXY']; + return _createClass(BodyAsyncIterable, [{ + key: Symbol.asyncIterator, + value: function value() { + var _this = this; + return _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + assert(!_this[kBodyUsed], 'disturbed'); + _this[kBodyUsed] = true; + return _context.d(_regeneratorValues(_asyncGeneratorDelegate(_asyncIterator(_this[kBody]), _awaitAsyncGenerator)), 1); + case 1: + return _context.a(2); + } + }, _callee); + }))(); } - }(); - if (proxyVar) { - return new URL(proxyVar); + }]); +}(); +function wrapRequestBody(body) { + if (isStream(body)) { + // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp + // so that it can be dispatched again? + // TODO (fix): Do we need 100-expect support to provide a way to do this properly? + if (bodyLength(body) === 0) { + body.on('data', function () { + assert(false); + }); + } + if (typeof body.readableDidRead !== 'boolean') { + body[kBodyUsed] = false; + EE.prototype.on.call(body, 'data', function () { + this[kBodyUsed] = true; + }); + } + return body; + } else if (body && typeof body.pipeTo === 'function') { + // TODO (fix): We can't access ReadableStream internal state + // to determine whether or not it has been disturbed. This is just + // a workaround. + return new BodyAsyncIterable(body); + } else if (body && typeof body !== 'string' && !ArrayBuffer.isView(body) && isIterable(body)) { + // TODO: Should we allow re-using iterable if !this.opts.idempotent + // or through some other flag? + return new BodyAsyncIterable(body); } else { - return undefined; + return body; } } -exports.getProxyUrl = getProxyUrl; -function checkBypass(reqUrl) { - if (!reqUrl.hostname) { +function nop() {} +function isStream(obj) { + return obj && typeof obj === 'object' && typeof obj.pipe === 'function' && typeof obj.on === 'function'; +} + +// based on https://github.com/node-fetch/fetch-blob/blob/8ab587d34080de94140b54f07168451e7d0b655e/index.js#L229-L241 (MIT License) +function isBlobLike(object) { + if (object === null) { return false; - } - var noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; - if (!noProxy) { + } else if (object instanceof Blob) { + return true; + } else if (typeof object !== 'object') { return false; + } else { + var sTag = object[Symbol.toStringTag]; + return (sTag === 'Blob' || sTag === 'File') && ('stream' in object && typeof object.stream === 'function' || 'arrayBuffer' in object && typeof object.arrayBuffer === 'function'); } - // Determine the request port - var reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } else if (reqUrl.protocol === 'http:') { - reqPort = 80; - } else if (reqUrl.protocol === 'https:') { - reqPort = 443; - } - // Format the request hostname and hostname with port - var upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { - upperReqHosts.push("".concat(upperReqHosts[0], ":").concat(reqPort)); - } - // Compare request host against noproxy - var _iterator = _createForOfIteratorHelper(noProxy.split(',').map(function (x) { - return x.trim().toUpperCase(); - }).filter(function (x) { - return x; - })), - _step; - try { - var _loop = function _loop() { - var upperNoProxyItem = _step.value; - if (upperReqHosts.some(function (x) { - return x === upperNoProxyItem; - })) { - return { - v: true - }; - } - }; - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var _ret = _loop(); - if (typeof _ret === "object") return _ret.v; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); +} +function buildURL(url, queryParams) { + if (url.includes('?') || url.includes('#')) { + throw new Error('Query params cannot be passed when url already contains "?" or "#".'); } - return false; + var stringified = stringify(queryParams); + if (stringified) { + url += '?' + stringified; + } + return url; } -exports.checkBypass = checkBypass; - -/***/ }), - -/***/ 319: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -module.exports = __webpack_require__(938); - -/***/ }), - -/***/ 938: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; - - -var net = __webpack_require__(982); -var tls = __webpack_require__(404); -var http = __webpack_require__(685); -var https = __webpack_require__(687); -var events = __webpack_require__(361); -var assert = __webpack_require__(491); -var util = __webpack_require__(837); -exports.httpOverHttp = httpOverHttp; -exports.httpsOverHttp = httpsOverHttp; -exports.httpOverHttps = httpOverHttps; -exports.httpsOverHttps = httpsOverHttps; -function httpOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - return agent; -} -function httpsOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; -} -function httpOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - return agent; +function isValidPort(port) { + var value = parseInt(port, 10); + return value === Number(port) && value >= 0 && value <= 65535; } -function httpsOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; +function isHttpOrHttpsPrefixed(value) { + return value != null && value[0] === 'h' && value[1] === 't' && value[2] === 't' && value[3] === 'p' && (value[4] === ':' || value[4] === 's' && value[5] === ':'); } -function TunnelingAgent(options) { - var self = this; - self.options = options || {}; - self.proxyOptions = self.options.proxy || {}; - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; - self.requests = []; - self.sockets = []; - self.on('free', function onFree(socket, host, port, localAddress) { - var options = toOptions(host, port, localAddress); - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i]; - if (pending.host === options.host && pending.port === options.port) { - // Detect the request to connect same origin server, - // reuse the connection. - self.requests.splice(i, 1); - pending.request.onSocket(socket); - return; - } +function parseURL(url) { + if (typeof url === 'string') { + url = new URL(url); + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.'); } - socket.destroy(); - self.removeSocket(socket); - }); -} -util.inherits(TunnelingAgent, events.EventEmitter); -TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { - var self = this; - var options = mergeOptions({ - request: req - }, self.options, toOptions(host, port, localAddress)); - if (self.sockets.length >= this.maxSockets) { - // We are over limit so we'll add it to the queue. - self.requests.push(options); - return; + return url; } - - // If we are under maxSockets create a new one. - self.createSocket(options, function (socket) { - socket.on('free', onFree); - socket.on('close', onCloseOrRemove); - socket.on('agentRemove', onCloseOrRemove); - req.onSocket(socket); - function onFree() { - self.emit('free', socket, options); + if (!url || typeof url !== 'object') { + throw new InvalidArgumentError('Invalid URL: The URL argument must be a non-null object.'); + } + if (!(url instanceof URL)) { + if (url.port != null && url.port !== '' && isValidPort(url.port) === false) { + throw new InvalidArgumentError('Invalid URL: port must be a valid integer or a string representation of an integer.'); } - function onCloseOrRemove(err) { - self.removeSocket(socket); - socket.removeListener('free', onFree); - socket.removeListener('close', onCloseOrRemove); - socket.removeListener('agentRemove', onCloseOrRemove); + if (url.path != null && typeof url.path !== 'string') { + throw new InvalidArgumentError('Invalid URL path: the path must be a string or null/undefined.'); } - }); -}; -TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this; - var placeholder = {}; - self.sockets.push(placeholder); - var connectOptions = mergeOptions({}, self.proxyOptions, { - method: 'CONNECT', - path: options.host + ':' + options.port, - agent: false, - headers: { - host: options.host + ':' + options.port + if (url.pathname != null && typeof url.pathname !== 'string') { + throw new InvalidArgumentError('Invalid URL pathname: the pathname must be a string or null/undefined.'); } - }); - if (options.localAddress) { - connectOptions.localAddress = options.localAddress; - } - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64'); - } - debug('making CONNECT request'); - var connectReq = self.request(connectOptions); - connectReq.useChunkedEncodingByDefault = false; // for v0.6 - connectReq.once('response', onResponse); // for v0.6 - connectReq.once('upgrade', onUpgrade); // for v0.6 - connectReq.once('connect', onConnect); // for v0.7 or later - connectReq.once('error', onError); - connectReq.end(); - function onResponse(res) { - // Very hacky. This is necessary to avoid http-parser leaks. - res.upgrade = true; - } - function onUpgrade(res, socket, head) { - // Hacky. - process.nextTick(function () { - onConnect(res, socket, head); - }); - } - function onConnect(res, socket, head) { - connectReq.removeAllListeners(); - socket.removeAllListeners(); - if (res.statusCode !== 200) { - debug('tunneling socket could not be established, statusCode=%d', res.statusCode); - socket.destroy(); - var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - return; + if (url.hostname != null && typeof url.hostname !== 'string') { + throw new InvalidArgumentError('Invalid URL hostname: the hostname must be a string or null/undefined.'); } - if (head.length > 0) { - debug('got illegal response body from proxy'); - socket.destroy(); - var error = new Error('got illegal response body from proxy'); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - return; + if (url.origin != null && typeof url.origin !== 'string') { + throw new InvalidArgumentError('Invalid URL origin: the origin must be a string or null/undefined.'); } - debug('tunneling connection has established'); - self.sockets[self.sockets.indexOf(placeholder)] = socket; - return cb(socket); + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.'); + } + var port = url.port != null ? url.port : url.protocol === 'https:' ? 443 : 80; + var origin = url.origin != null ? url.origin : "".concat(url.protocol || '', "//").concat(url.hostname || '', ":").concat(port); + var path = url.path != null ? url.path : "".concat(url.pathname || '').concat(url.search || ''); + if (origin[origin.length - 1] === '/') { + origin = origin.slice(0, origin.length - 1); + } + if (path && path[0] !== '/') { + path = "/".concat(path); + } + // new URL(path, origin) is unsafe when `path` contains an absolute URL + // From https://developer.mozilla.org/en-US/docs/Web/API/URL/URL: + // If first parameter is a relative URL, second param is required, and will be used as the base URL. + // If first parameter is an absolute URL, a given second param will be ignored. + return new URL("".concat(origin).concat(path)); } - function onError(cause) { - connectReq.removeAllListeners(); - debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack); - var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.'); } -}; -TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket); - if (pos === -1) { - return; + return url; +} +function parseOrigin(url) { + url = parseURL(url); + if (url.pathname !== '/' || url.search || url.hash) { + throw new InvalidArgumentError('invalid url'); } - this.sockets.splice(pos, 1); - var pending = this.requests.shift(); - if (pending) { - // If we have pending requests and a socket gets closed a new one - // needs to be created to take over in the pool for the one that closed. - this.createSocket(pending, function (socket) { - pending.request.onSocket(socket); - }); + return url; +} +function getHostname(host) { + if (host[0] === '[') { + var _idx = host.indexOf(']'); + assert(_idx !== -1); + return host.substring(1, _idx); } -}; -function createSecureSocket(options, cb) { - var self = this; - TunnelingAgent.prototype.createSocket.call(self, options, function (socket) { - var hostHeader = options.request.getHeader('host'); - var tlsOptions = mergeOptions({}, self.options, { - socket: socket, - servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host - }); + var idx = host.indexOf(':'); + if (idx === -1) return host; + return host.substring(0, idx); +} - // 0 is dummy port for v0.6 - var secureSocket = tls.connect(0, tlsOptions); - self.sockets[self.sockets.indexOf(socket)] = secureSocket; - cb(secureSocket); - }); +// IP addresses are not valid server names per RFC6066 +// > Currently, the only server names supported are DNS hostnames +function getServerName(host) { + if (!host) { + return null; + } + assert(typeof host === 'string'); + var servername = getHostname(host); + if (net.isIP(servername)) { + return ''; + } + return servername; } -function toOptions(host, port, localAddress) { - if (typeof host === 'string') { - // since v0.10 - return { - host: host, - port: port, - localAddress: localAddress - }; +function deepClone(obj) { + return JSON.parse(JSON.stringify(obj)); +} +function isAsyncIterable(obj) { + return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function'); +} +function isIterable(obj) { + return !!(obj != null && (typeof obj[Symbol.iterator] === 'function' || typeof obj[Symbol.asyncIterator] === 'function')); +} +function bodyLength(body) { + if (body == null) { + return 0; + } else if (isStream(body)) { + var state = body._readableState; + return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; + } else if (isBlobLike(body)) { + return body.size != null ? body.size : null; + } else if (isBuffer(body)) { + return body.byteLength; } - return host; // for v0.11 or later + return null; } - -function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i]; - if (typeof overrides === 'object') { - var keys = Object.keys(overrides); - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j]; - if (overrides[k] !== undefined) { - target[k] = overrides[k]; - } - } +function isDestroyed(body) { + var _stream$isDestroyed; + return body && !!(body.destroyed || body[kDestroyed] || (_stream$isDestroyed = stream.isDestroyed) !== null && _stream$isDestroyed !== void 0 && _stream$isDestroyed.call(stream, body)); +} +function destroy(stream, err) { + if (stream == null || !isStream(stream) || isDestroyed(stream)) { + return; + } + if (typeof stream.destroy === 'function') { + if (Object.getPrototypeOf(stream).constructor === IncomingMessage) { + // See: https://github.com/nodejs/node/pull/38505/files + stream.socket = null; } + stream.destroy(err); + } else if (err) { + queueMicrotask(function () { + stream.emit('error', err); + }); + } + if (stream.destroyed !== true) { + stream[kDestroyed] = true; } - return target; } -var debug; -if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function debug() { - var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0]; - } else { - args.unshift('TUNNEL:'); - } - console.error.apply(console, args); - }; -} else { - debug = function debug() {}; +var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; +function parseKeepAliveTimeout(val) { + var m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); + return m ? parseInt(m[1], 10) * 1000 : null; } -exports.debug = debug; // for test -/***/ }), - -/***/ 779: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "NIL": () => (/* reexport */ nil), - "parse": () => (/* reexport */ esm_node_parse), - "stringify": () => (/* reexport */ esm_node_stringify), - "v1": () => (/* reexport */ esm_node_v1), - "v3": () => (/* reexport */ esm_node_v3), - "v4": () => (/* reexport */ esm_node_v4), - "v5": () => (/* reexport */ esm_node_v5), - "validate": () => (/* reexport */ esm_node_validate), - "version": () => (/* reexport */ esm_node_version) -}); - -;// CONCATENATED MODULE: external "crypto" -const external_crypto_namespaceObject = require("crypto"); -var external_crypto_default = /*#__PURE__*/__webpack_require__.n(external_crypto_namespaceObject); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/rng.js - -var rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate - -var poolPtr = rnds8Pool.length; -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - external_crypto_default().randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, poolPtr += 16); +/** + * Retrieves a header name and returns its lowercase value. + * @param {string | Buffer} value Header name + * @returns {string} + */ +function headerNameToString(value) { + var _headerNameLowerCased, _tree$lookup; + return typeof value === 'string' ? (_headerNameLowerCased = headerNameLowerCasedRecord[value]) !== null && _headerNameLowerCased !== void 0 ? _headerNameLowerCased : value.toLowerCase() : (_tree$lookup = tree.lookup(value)) !== null && _tree$lookup !== void 0 ? _tree$lookup : value.toString('latin1').toLowerCase(); } -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/regex.js -/* harmony default export */ const regex = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/validate.js -function validate(uuid) { - return typeof uuid === 'string' && regex.test(uuid); +/** + * Receive the buffer as a string and return its lowercase value. + * @param {Buffer} value Header name + * @returns {string} + */ +function bufferToLowerCasedHeaderName(value) { + var _tree$lookup2; + return (_tree$lookup2 = tree.lookup(value)) !== null && _tree$lookup2 !== void 0 ? _tree$lookup2 : value.toString('latin1').toLowerCase(); } -/* harmony default export */ const esm_node_validate = (validate); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/stringify.js /** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + * @param {Record | (Buffer | string | (Buffer | string)[])[]} headers + * @param {Record} [obj] + * @returns {Record} */ +function parseHeaders(headers, obj) { + if (obj === undefined) obj = {}; + for (var i = 0; i < headers.length; i += 2) { + var key = headerNameToString(headers[i]); + var val = obj[key]; + if (val) { + if (typeof val === 'string') { + val = [val]; + obj[key] = val; + } + val.push(headers[i + 1].toString('utf8')); + } else { + var headersValue = headers[i + 1]; + if (typeof headersValue === 'string') { + obj[key] = headersValue; + } else { + obj[key] = Array.isArray(headersValue) ? headersValue.map(function (x) { + return x.toString('utf8'); + }) : headersValue.toString('utf8'); + } + } + } -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); -} -function stringify(arr) { - var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - - if (!esm_node_validate(uuid)) { - throw TypeError('Stringified UUID is invalid'); + // See https://github.com/nodejs/node/pull/46528 + if ('content-length' in obj && 'content-disposition' in obj) { + obj['content-disposition'] = Buffer.from(obj['content-disposition']).toString('latin1'); } - return uuid; + return obj; } -/* harmony default export */ const esm_node_stringify = (stringify); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v1.js - - // **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -var _nodeId; -var _clockseq; // Previous uuid creation time - -var _lastMSecs = 0; -var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || new Array(16); - options = options || {}; - var node = options.node || _nodeId; - var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - - if (node == null || clockseq == null) { - var seedBytes = options.random || (options.rng || rng)(); - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; +function parseRawHeaders(headers) { + var len = headers.length; + var ret = new Array(len); + var hasContentLength = false; + var contentDispositionIdx = -1; + var key; + var val; + var kLen = 0; + for (var n = 0; n < headers.length; n += 2) { + key = headers[n]; + val = headers[n + 1]; + typeof key !== 'string' && (key = key.toString()); + typeof val !== 'string' && (val = val.toString('utf8')); + kLen = key.length; + if (kLen === 14 && key[7] === '-' && (key === 'content-length' || key.toLowerCase() === 'content-length')) { + hasContentLength = true; + } else if (kLen === 19 && key[7] === '-' && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) { + contentDispositionIdx = n + 1; } - } // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - - var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock + ret[n] = key; + ret[n + 1] = val; + } - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } // Per 4.2.1.2 Throw error if too many uuids are requested - - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - - msecs += 12219292800000; // `time_low` - - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; // `time_mid` - - var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; // `time_high_and_version` - - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - - b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - - b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` - - b[i++] = clockseq & 0xff; // `node` - - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; + // See https://github.com/nodejs/node/pull/46528 + if (hasContentLength && contentDispositionIdx !== -1) { + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1'); } - return buf || esm_node_stringify(b); + return ret; } -/* harmony default export */ const esm_node_v1 = (v1); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/parse.js - -function parse(uuid) { - if (!esm_node_validate(uuid)) { - throw TypeError('Invalid UUID'); +function isBuffer(buffer) { + // See, https://github.com/mcollina/undici/pull/319 + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); +} +function validateHandler(handler, method, upgrade) { + if (!handler || typeof handler !== 'object') { + throw new InvalidArgumentError('handler must be an object'); + } + if (typeof handler.onConnect !== 'function') { + throw new InvalidArgumentError('invalid onConnect method'); + } + if (typeof handler.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method'); + } + if (typeof handler.onBodySent !== 'function' && handler.onBodySent !== undefined) { + throw new InvalidArgumentError('invalid onBodySent method'); + } + if (upgrade || method === 'CONNECT') { + if (typeof handler.onUpgrade !== 'function') { + throw new InvalidArgumentError('invalid onUpgrade method'); + } + } else { + if (typeof handler.onHeaders !== 'function') { + throw new InvalidArgumentError('invalid onHeaders method'); + } + if (typeof handler.onData !== 'function') { + throw new InvalidArgumentError('invalid onData method'); + } + if (typeof handler.onComplete !== 'function') { + throw new InvalidArgumentError('invalid onComplete method'); + } } - var v; - var arr = new Uint8Array(16); // Parse ########-....-....-....-............ - - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; // Parse ........-####-....-....-............ - - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; // Parse ........-....-####-....-............ - - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; // Parse ........-....-....-####-............ - - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; } -/* harmony default export */ const esm_node_parse = (parse); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v35.js - - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - var bytes = []; - for (var i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; -} -var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -/* harmony default export */ function v35(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - if (typeof namespace === 'string') { - namespace = esm_node_parse(namespace); - } - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - - var bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - if (buf) { - offset = offset || 0; - for (var i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return esm_node_stringify(bytes); - } // Function#name is not settable on some platforms (#270) - - try { - generateUUID.name = name; // eslint-disable-next-line no-empty - } catch (err) {} // For CommonJS default export support - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; +// A body is disturbed if it has been read from and it cannot +// be re-used without losing state or data. +function isDisturbed(body) { + // TODO (fix): Why is body[kBodyUsed] needed? + return !!(body && (stream.isDisturbed(body) || body[kBodyUsed])); } -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/md5.js - -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return external_crypto_default().createHash('md5').update(bytes).digest(); +function isErrored(body) { + return !!(body && stream.isErrored(body)); +} +function isReadable(body) { + return !!(body && stream.isReadable(body)); +} +function getSocketInfo(socket) { + return { + localAddress: socket.localAddress, + localPort: socket.localPort, + remoteAddress: socket.remoteAddress, + remotePort: socket.remotePort, + remoteFamily: socket.remoteFamily, + timeout: socket.timeout, + bytesWritten: socket.bytesWritten, + bytesRead: socket.bytesRead + }; } -/* harmony default export */ const esm_node_md5 = (md5); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v3.js - - -var v3 = v35('v3', 0x30, esm_node_md5); -/* harmony default export */ const esm_node_v3 = (v3); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v4.js - - -function v4(options, buf, offset) { - options = options || {}; - var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided - if (buf) { - offset = offset || 0; - for (var i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return esm_node_stringify(rnds); +/** @type {globalThis['ReadableStream']} */ +function ReadableStreamFrom(iterable) { + // We cannot use ReadableStream.from here because it does not return a byte stream. + + var iterator; + return new ReadableStream({ + start: function start() { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() { + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + iterator = iterable[Symbol.asyncIterator](); + case 1: + return _context2.a(2); + } + }, _callee2); + }))(); + }, + pull: function pull(controller) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { + var _yield$iterator$next, done, value, buf; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + _context3.n = 1; + return iterator.next(); + case 1: + _yield$iterator$next = _context3.v; + done = _yield$iterator$next.done; + value = _yield$iterator$next.value; + if (done) { + queueMicrotask(function () { + var _controller$byobReque; + controller.close(); + (_controller$byobReque = controller.byobRequest) === null || _controller$byobReque === void 0 || _controller$byobReque.respond(0); + }); + } else { + buf = Buffer.isBuffer(value) ? value : Buffer.from(value); + if (buf.byteLength) { + controller.enqueue(new Uint8Array(buf)); + } + } + return _context3.a(2, controller.desiredSize > 0); + } + }, _callee3); + }))(); + }, + cancel: function cancel(reason) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() { + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + _context4.n = 1; + return iterator["return"](); + case 1: + return _context4.a(2); + } + }, _callee4); + }))(); + }, + type: 'bytes' + }); } -/* harmony default export */ const esm_node_v4 = (v4); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/sha1.js -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); +// The chunk should be a FormData instance and contains +// all the required methods. +function isFormDataLike(object) { + return object && typeof object === 'object' && typeof object.append === 'function' && typeof object["delete"] === 'function' && typeof object.get === 'function' && typeof object.getAll === 'function' && typeof object.has === 'function' && typeof object.set === 'function' && object[Symbol.toStringTag] === 'FormData'; +} +function addAbortListener(signal, listener) { + if ('addEventListener' in signal) { + signal.addEventListener('abort', listener, { + once: true + }); + return function () { + return signal.removeEventListener('abort', listener); + }; } - return external_crypto_default().createHash('sha1').update(bytes).digest(); + signal.addListener('abort', listener); + return function () { + return signal.removeListener('abort', listener); + }; } -/* harmony default export */ const esm_node_sha1 = (sha1); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v5.js +var hasToWellFormed = typeof String.prototype.toWellFormed === 'function'; +var hasIsWellFormed = typeof String.prototype.isWellFormed === 'function'; +/** + * @param {string} val + */ +function toUSVString(val) { + return hasToWellFormed ? "".concat(val).toWellFormed() : nodeUtil.toUSVString(val); +} -var v5 = v35('v5', 0x50, esm_node_sha1); -/* harmony default export */ const esm_node_v5 = (v5); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/nil.js -/* harmony default export */ const nil = ('00000000-0000-0000-0000-000000000000'); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/version.js +/** + * @param {string} val + */ +// TODO: move this to webidl +function isUSVString(val) { + return hasIsWellFormed ? "".concat(val).isWellFormed() : toUSVString(val) === "".concat(val); +} -function version(uuid) { - if (!esm_node_validate(uuid)) { - throw TypeError('Invalid UUID'); +/** + * @see https://tools.ietf.org/html/rfc7230#section-3.2.6 + * @param {number} c + */ +function isTokenCharCode(c) { + switch (c) { + case 0x22: + case 0x28: + case 0x29: + case 0x2c: + case 0x2f: + case 0x3a: + case 0x3b: + case 0x3c: + case 0x3d: + case 0x3e: + case 0x3f: + case 0x40: + case 0x5b: + case 0x5c: + case 0x5d: + case 0x7b: + case 0x7d: + // DQUOTE and "(),/:;<=>?@[\]{}" + return false; + default: + // VCHAR %x21-7E + return c >= 0x21 && c <= 0x7e; } - return parseInt(uuid.substr(14, 1), 16); } -/* harmony default export */ const esm_node_version = (version); -;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/index.js - - - - - - - - - - -/***/ }), - -/***/ 491: -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ 361: -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ 147: -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ 685: -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ 687: -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ 982: -/***/ ((module) => { - -"use strict"; -module.exports = require("net"); - -/***/ }), - -/***/ 37: -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ 17: -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ 404: -/***/ ((module) => { - -"use strict"; -module.exports = require("tls"); - -/***/ }), -/***/ 837: -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ 897: -/***/ ((module) => { - -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) { - arr2[i] = arr[i]; +/** + * @param {string} characters + */ +function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; + } + for (var i = 0; i < characters.length; ++i) { + if (!isTokenCharCode(characters.charCodeAt(i))) { + return false; + } } - return arr2; + return true; } -module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; -/***/ }), +// headerCharRegex have been lifted from +// https://github.com/nodejs/node/blob/main/lib/_http_common.js -/***/ 372: -/***/ ((module) => { +/** + * Matches if val contains an invalid field-vchar + * field-value = *( field-content / obs-fold ) + * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] + * field-vchar = VCHAR / obs-text + */ +var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; +/** + * @param {string} characters + */ +function isValidHeaderValue(characters) { + return !headerCharRegex.test(characters); } -module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/***/ 115: -/***/ ((module) => { - -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; +// Parsed accordingly to RFC 9110 +// https://www.rfc-editor.org/rfc/rfc9110#field.content-range +function parseRangeHeader(range) { + if (range == null || range === '') return { + start: 0, + end: null, + size: null + }; + var m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; + return m ? { + start: parseInt(m[1]), + end: m[2] ? parseInt(m[2]) : null, + size: m[3] ? parseInt(m[3]) : null + } : null; } -module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 690: -/***/ ((module) => { - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); +function addListener(obj, name, listener) { + var _obj$kListeners; + var listeners = (_obj$kListeners = obj[kListeners]) !== null && _obj$kListeners !== void 0 ? _obj$kListeners : obj[kListeners] = []; + listeners.push([name, listener]); + obj.on(name, listener); + return obj; +} +function removeAllListeners(obj) { + var _obj$kListeners2; + var _iterator = _createForOfIteratorHelper((_obj$kListeners2 = obj[kListeners]) !== null && _obj$kListeners2 !== void 0 ? _obj$kListeners2 : []), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + name = _step$value[0], + listener = _step$value[1]; + obj.removeListener(name, listener); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); } + obj[kListeners] = null; } -module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 515: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var setPrototypeOf = __webpack_require__(15); -var isNativeReflectConstruct = __webpack_require__(617); -function _construct(Parent, args, Class) { - if (isNativeReflectConstruct()) { - module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports; - } else { - module.exports = _construct = function _construct(Parent, args, Class) { - var a = [null]; - a.push.apply(a, args); - var Constructor = Function.bind.apply(Parent, a); - var instance = new Constructor(); - if (Class) setPrototypeOf(instance, Class.prototype); - return instance; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; +function errorRequest(client, request, err) { + try { + request.onError(err); + assert(request.aborted); + } catch (err) { + client.emit('error', err); } - return _construct.apply(null, arguments); } -module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; +var kEnumerableProperty = Object.create(null); +kEnumerableProperty.enumerable = true; +var normalizedMethodRecordsBase = { + "delete": 'DELETE', + DELETE: 'DELETE', + get: 'GET', + GET: 'GET', + head: 'HEAD', + HEAD: 'HEAD', + options: 'OPTIONS', + OPTIONS: 'OPTIONS', + post: 'POST', + POST: 'POST', + put: 'PUT', + PUT: 'PUT' +}; +var normalizedMethodRecords = _objectSpread(_objectSpread({}, normalizedMethodRecordsBase), {}, { + patch: 'patch', + PATCH: 'PATCH' +}); -/***/ }), +// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`. +Object.setPrototypeOf(normalizedMethodRecordsBase, null); +Object.setPrototypeOf(normalizedMethodRecords, null); +module.exports = { + kEnumerableProperty: kEnumerableProperty, + nop: nop, + isDisturbed: isDisturbed, + isErrored: isErrored, + isReadable: isReadable, + toUSVString: toUSVString, + isUSVString: isUSVString, + isBlobLike: isBlobLike, + parseOrigin: parseOrigin, + parseURL: parseURL, + getServerName: getServerName, + isStream: isStream, + isIterable: isIterable, + isAsyncIterable: isAsyncIterable, + isDestroyed: isDestroyed, + headerNameToString: headerNameToString, + bufferToLowerCasedHeaderName: bufferToLowerCasedHeaderName, + addListener: addListener, + removeAllListeners: removeAllListeners, + errorRequest: errorRequest, + parseRawHeaders: parseRawHeaders, + parseHeaders: parseHeaders, + parseKeepAliveTimeout: parseKeepAliveTimeout, + destroy: destroy, + bodyLength: bodyLength, + deepClone: deepClone, + ReadableStreamFrom: ReadableStreamFrom, + isBuffer: isBuffer, + validateHandler: validateHandler, + getSocketInfo: getSocketInfo, + isFormDataLike: isFormDataLike, + buildURL: buildURL, + addAbortListener: addAbortListener, + isValidHTTPToken: isValidHTTPToken, + isValidHeaderValue: isValidHeaderValue, + isTokenCharCode: isTokenCharCode, + parseRangeHeader: parseRangeHeader, + normalizedMethodRecordsBase: normalizedMethodRecordsBase, + normalizedMethodRecords: normalizedMethodRecords, + isValidPort: isValidPort, + isHttpOrHttpsPrefixed: isHttpOrHttpsPrefixed, + nodeMajor: nodeMajor, + nodeMinor: nodeMinor, + safeHTTPMethods: ['GET', 'HEAD', 'OPTIONS', 'TRACE'], + wrapRequestBody: wrapRequestBody +}; -/***/ 728: -/***/ ((module) => { +/***/ }, -function _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, descriptor.key, descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; -} -module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; +/***/ 5765 +(module, __unused_webpack_exports, __webpack_require__) { -/***/ }), +"use strict"; -/***/ 704: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var unsupportedIterableToArray = __webpack_require__(116); -function _createForOfIteratorHelper(o, allowArrayLike) { - var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; - if (!it) { - if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) o = it; - var i = 0; - var F = function F() {}; - return { - s: F, - n: function n() { - if (i >= o.length) return { - done: true - }; - return { - done: false, - value: o[i++] - }; - }, - e: function e(_e) { - throw _e; - }, - f: F - }; +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _excluded = ["factory", "maxRedirections", "connect"]; +var _require = __webpack_require__(3515), + InvalidArgumentError = _require.InvalidArgumentError; +var _require2 = __webpack_require__(6771), + kClients = _require2.kClients, + kRunning = _require2.kRunning, + kClose = _require2.kClose, + kDestroy = _require2.kDestroy, + kDispatch = _require2.kDispatch, + kInterceptors = _require2.kInterceptors; +var DispatcherBase = __webpack_require__(7545); +var Pool = __webpack_require__(9452); +var Client = __webpack_require__(9085); +var util = __webpack_require__(6632); +var createRedirectInterceptor = __webpack_require__(844); +var kOnConnect = Symbol('onConnect'); +var kOnDisconnect = Symbol('onDisconnect'); +var kOnConnectionError = Symbol('onConnectionError'); +var kMaxRedirections = Symbol('maxRedirections'); +var kOnDrain = Symbol('onDrain'); +var kFactory = Symbol('factory'); +var kOptions = Symbol('options'); +function defaultFactory(origin, opts) { + return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); +} +var Agent = /*#__PURE__*/function (_DispatcherBase) { + function Agent() { + var _options$interceptors; + var _this; + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$factory = _ref.factory, + factory = _ref$factory === void 0 ? defaultFactory : _ref$factory, + _ref$maxRedirections = _ref.maxRedirections, + maxRedirections = _ref$maxRedirections === void 0 ? 0 : _ref$maxRedirections, + connect = _ref.connect, + options = _objectWithoutProperties(_ref, _excluded); + _classCallCheck(this, Agent); + _this = _callSuper(this, Agent); + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.'); } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') { + throw new InvalidArgumentError('connect must be a function or an object'); + } + if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { + throw new InvalidArgumentError('maxRedirections must be a positive number'); + } + if (connect && typeof connect !== 'function') { + connect = _objectSpread({}, connect); + } + _this[kInterceptors] = (_options$interceptors = options.interceptors) !== null && _options$interceptors !== void 0 && _options$interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ + maxRedirections: maxRedirections + })]; + _this[kOptions] = _objectSpread(_objectSpread({}, util.deepClone(options)), {}, { + connect: connect + }); + _this[kOptions].interceptors = options.interceptors ? _objectSpread({}, options.interceptors) : undefined; + _this[kMaxRedirections] = maxRedirections; + _this[kFactory] = factory; + _this[kClients] = new Map(); + _this[kOnDrain] = function (origin, targets) { + _this.emit('drain', origin, [_this].concat(_toConsumableArray(targets))); + }; + _this[kOnConnect] = function (origin, targets) { + _this.emit('connect', origin, [_this].concat(_toConsumableArray(targets))); + }; + _this[kOnDisconnect] = function (origin, targets, err) { + _this.emit('disconnect', origin, [_this].concat(_toConsumableArray(targets)), err); + }; + _this[kOnConnectionError] = function (origin, targets, err) { + _this.emit('connectionError', origin, [_this].concat(_toConsumableArray(targets)), err); + }; + return _this; } - var normalCompletion = true, - didErr = false, - err; - return { - s: function s() { - it = it.call(o); - }, - n: function n() { - var step = it.next(); - normalCompletion = step.done; - return step; - }, - e: function e(_e2) { - didErr = true; - err = _e2; - }, - f: function f() { + _inherits(Agent, _DispatcherBase); + return _createClass(Agent, [{ + key: kRunning, + get: function get() { + var ret = 0; + var _iterator = _createForOfIteratorHelper(this[kClients].values()), + _step; try { - if (!normalCompletion && it["return"] != null) it["return"](); + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var client = _step.value; + ret += client[kRunning]; + } + } catch (err) { + _iterator.e(err); } finally { - if (didErr) throw err; + _iterator.f(); } + return ret; } - }; -} -module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 389: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var getPrototypeOf = __webpack_require__(808); -var isNativeReflectConstruct = __webpack_require__(617); -var possibleConstructorReturn = __webpack_require__(993); -function _createSuper(Derived) { - var hasNativeReflectConstruct = isNativeReflectConstruct(); - return function _createSuperInternal() { - var Super = getPrototypeOf(Derived), - result; - if (hasNativeReflectConstruct) { - var NewTarget = getPrototypeOf(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); + }, { + key: kDispatch, + value: function value(opts, handler) { + var key; + if (opts.origin && (typeof opts.origin === 'string' || opts.origin instanceof URL)) { + key = String(opts.origin); + } else { + throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.'); + } + var dispatcher = this[kClients].get(key); + if (!dispatcher) { + dispatcher = this[kFactory](opts.origin, this[kOptions]).on('drain', this[kOnDrain]).on('connect', this[kOnConnect]).on('disconnect', this[kOnDisconnect]).on('connectionError', this[kOnConnectionError]); + + // This introduces a tiny memory leak, as dispatchers are never removed from the map. + // TODO(mcollina): remove te timer when the client/pool do not have any more + // active connections. + this[kClients].set(key, dispatcher); + } + return dispatcher.dispatch(opts, handler); } - return possibleConstructorReturn(this, result); - }; -} -module.exports = _createSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var closePromises, _iterator2, _step2, client; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + closePromises = []; + _iterator2 = _createForOfIteratorHelper(this[kClients].values()); + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + client = _step2.value; + closePromises.push(client.close()); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + this[kClients].clear(); + _context.n = 1; + return Promise.all(closePromises); + case 1: + return _context.a(2); + } + }, _callee, this); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }, { + key: kDestroy, + value: function () { + var _value2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(err) { + var destroyPromises, _iterator3, _step3, client; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + destroyPromises = []; + _iterator3 = _createForOfIteratorHelper(this[kClients].values()); + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + client = _step3.value; + destroyPromises.push(client.destroy(err)); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + this[kClients].clear(); + _context2.n = 1; + return Promise.all(destroyPromises); + case 1: + return _context2.a(2); + } + }, _callee2, this); + })); + function value(_x) { + return _value2.apply(this, arguments); + } + return value; + }() + }]); +}(DispatcherBase); +module.exports = Agent; -/***/ }), +/***/ }, -/***/ 808: -/***/ ((module) => { +/***/ 7629 +(module, __unused_webpack_exports, __webpack_require__) { -function _getPrototypeOf(o) { - module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - return _getPrototypeOf(o); -} -module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; +"use strict"; -/***/ }), -/***/ 655: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _excluded = ["factory"]; +var _require = __webpack_require__(3515), + BalancedPoolMissingUpstreamError = _require.BalancedPoolMissingUpstreamError, + InvalidArgumentError = _require.InvalidArgumentError; +var _require2 = __webpack_require__(536), + PoolBase = _require2.PoolBase, + kClients = _require2.kClients, + kNeedDrain = _require2.kNeedDrain, + kAddClient = _require2.kAddClient, + kRemoveClient = _require2.kRemoveClient, + kGetDispatcher = _require2.kGetDispatcher; +var Pool = __webpack_require__(9452); +var _require3 = __webpack_require__(6771), + kUrl = _require3.kUrl, + kInterceptors = _require3.kInterceptors; +var _require4 = __webpack_require__(6632), + parseOrigin = _require4.parseOrigin; +var kFactory = Symbol('factory'); +var kOptions = Symbol('options'); +var kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor'); +var kCurrentWeight = Symbol('kCurrentWeight'); +var kIndex = Symbol('kIndex'); +var kWeight = Symbol('kWeight'); +var kMaxWeightPerServer = Symbol('kMaxWeightPerServer'); +var kErrorPenalty = Symbol('kErrorPenalty'); -var setPrototypeOf = __webpack_require__(15); -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); +/** + * Calculate the greatest common divisor of two numbers by + * using the Euclidean algorithm. + * + * @param {number} a + * @param {number} b + * @returns {number} + */ +function getGreatestCommonDivisor(a, b) { + if (a === 0) return b; + while (b !== 0) { + var t = b; + b = a % b; + a = t; } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) setPrototypeOf(subClass, superClass); + return a; } -module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 86: -/***/ ((module) => { - -function _isNativeFunction(fn) { - return Function.toString.call(fn).indexOf("[native code]") !== -1; -} -module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 617: -/***/ ((module) => { - -function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - return true; - } catch (e) { - return false; - } +function defaultFactory(origin, opts) { + return new Pool(origin, opts); } -module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 872: -/***/ ((module) => { - -function _iterableToArrayLimit(arr, i) { - var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; - if (_i == null) return; - var _arr = []; - var _n = true; - var _d = false; - var _s, _e; - try { - for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - if (i && _arr.length === i) break; +var BalancedPool = /*#__PURE__*/function (_PoolBase) { + function BalancedPool() { + var _opts$interceptors; + var _this; + var upstreams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$factory = _ref.factory, + factory = _ref$factory === void 0 ? defaultFactory : _ref$factory, + opts = _objectWithoutProperties(_ref, _excluded); + _classCallCheck(this, BalancedPool); + _this = _callSuper(this, BalancedPool); + _this[kOptions] = opts; + _this[kIndex] = -1; + _this[kCurrentWeight] = 0; + _this[kMaxWeightPerServer] = _this[kOptions].maxWeightPerServer || 100; + _this[kErrorPenalty] = _this[kOptions].errorPenalty || 15; + if (!Array.isArray(upstreams)) { + upstreams = [upstreams]; } - } catch (err) { - _d = true; - _e = err; - } finally { + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.'); + } + _this[kInterceptors] = (_opts$interceptors = opts.interceptors) !== null && _opts$interceptors !== void 0 && _opts$interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + _this[kFactory] = factory; + var _iterator = _createForOfIteratorHelper(upstreams), + _step; try { - if (!_n && _i["return"] != null) _i["return"](); + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var upstream = _step.value; + _this.addUpstream(upstream); + } + } catch (err) { + _iterator.e(err); } finally { - if (_d) throw _e; + _iterator.f(); } + _this._updateBalancedPoolStats(); + return _this; } - return _arr; -} -module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), + _inherits(BalancedPool, _PoolBase); + return _createClass(BalancedPool, [{ + key: "addUpstream", + value: function addUpstream(upstream) { + var _this2 = this; + var upstreamOrigin = parseOrigin(upstream).origin; + if (this[kClients].find(function (pool) { + return pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true; + })) { + return this; + } + var pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); + this[kAddClient](pool); + pool.on('connect', function () { + pool[kWeight] = Math.min(_this2[kMaxWeightPerServer], pool[kWeight] + _this2[kErrorPenalty]); + }); + pool.on('connectionError', function () { + pool[kWeight] = Math.max(1, pool[kWeight] - _this2[kErrorPenalty]); + _this2._updateBalancedPoolStats(); + }); + pool.on('disconnect', function () { + var err = arguments.length <= 2 ? undefined : arguments[2]; + if (err && err.code === 'UND_ERR_SOCKET') { + // decrease the weight of the pool. + pool[kWeight] = Math.max(1, pool[kWeight] - _this2[kErrorPenalty]); + _this2._updateBalancedPoolStats(); + } + }); + var _iterator2 = _createForOfIteratorHelper(this[kClients]), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var client = _step2.value; + client[kWeight] = this[kMaxWeightPerServer]; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + this._updateBalancedPoolStats(); + return this; + } + }, { + key: "_updateBalancedPoolStats", + value: function _updateBalancedPoolStats() { + var result = 0; + for (var i = 0; i < this[kClients].length; i++) { + result = getGreatestCommonDivisor(this[kClients][i][kWeight], result); + } + this[kGreatestCommonDivisor] = result; + } + }, { + key: "removeUpstream", + value: function removeUpstream(upstream) { + var upstreamOrigin = parseOrigin(upstream).origin; + var pool = this[kClients].find(function (pool) { + return pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true; + }); + if (pool) { + this[kRemoveClient](pool); + } + return this; + } + }, { + key: "upstreams", + get: function get() { + return this[kClients].filter(function (dispatcher) { + return dispatcher.closed !== true && dispatcher.destroyed !== true; + }).map(function (p) { + return p[kUrl].origin; + }); + } + }, { + key: kGetDispatcher, + value: function value() { + // We validate that pools is greater than 0, + // otherwise we would have to wait until an upstream + // is added, which might never happen. + if (this[kClients].length === 0) { + throw new BalancedPoolMissingUpstreamError(); + } + var dispatcher = this[kClients].find(function (dispatcher) { + return !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true; + }); + if (!dispatcher) { + return; + } + var allClientsBusy = this[kClients].map(function (pool) { + return pool[kNeedDrain]; + }).reduce(function (a, b) { + return a && b; + }, true); + if (allClientsBusy) { + return; + } + var counter = 0; + var maxWeightIndex = this[kClients].findIndex(function (pool) { + return !pool[kNeedDrain]; + }); + while (counter++ < this[kClients].length) { + this[kIndex] = (this[kIndex] + 1) % this[kClients].length; + var pool = this[kClients][this[kIndex]]; -/***/ 218: -/***/ ((module) => { + // find pool index with the largest weight + if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { + maxWeightIndex = this[kIndex]; + } -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; + // decrease the current weight every `this[kClients].length`. + if (this[kIndex] === 0) { + // Set the current weight to the next lower weight. + this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; + if (this[kCurrentWeight] <= 0) { + this[kCurrentWeight] = this[kMaxWeightPerServer]; + } + } + if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { + return pool; + } + } + this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; + this[kIndex] = maxWeightIndex; + return this[kClients][maxWeightIndex]; + } + }]); +}(PoolBase); +module.exports = BalancedPool; -/***/ }), +/***/ }, -/***/ 993: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { +/***/ 9701 +(module, __unused_webpack_exports, __webpack_require__) { -var _typeof = (__webpack_require__(698)["default"]); -var assertThisInitialized = __webpack_require__(115); -function _possibleConstructorReturn(self, call) { - if (call && (_typeof(call) === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return assertThisInitialized(self); -} -module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; +"use strict"; -/***/ }), -/***/ 61: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { +/* global WebAssembly */ +var _regenerator = (__webpack_require__(6993)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var assert = __webpack_require__(4589); +var util = __webpack_require__(6632); +var _require = __webpack_require__(662), + channels = _require.channels; +var timers = __webpack_require__(1907); +var _require2 = __webpack_require__(3515), + RequestContentLengthMismatchError = _require2.RequestContentLengthMismatchError, + ResponseContentLengthMismatchError = _require2.ResponseContentLengthMismatchError, + RequestAbortedError = _require2.RequestAbortedError, + HeadersTimeoutError = _require2.HeadersTimeoutError, + HeadersOverflowError = _require2.HeadersOverflowError, + SocketError = _require2.SocketError, + InformationalError = _require2.InformationalError, + BodyTimeoutError = _require2.BodyTimeoutError, + HTTPParserError = _require2.HTTPParserError, + ResponseExceededMaxSizeError = _require2.ResponseExceededMaxSizeError; +var _require3 = __webpack_require__(6771), + kUrl = _require3.kUrl, + kReset = _require3.kReset, + kClient = _require3.kClient, + kParser = _require3.kParser, + kBlocking = _require3.kBlocking, + kRunning = _require3.kRunning, + kPending = _require3.kPending, + kSize = _require3.kSize, + kWriting = _require3.kWriting, + kQueue = _require3.kQueue, + kNoRef = _require3.kNoRef, + kKeepAliveDefaultTimeout = _require3.kKeepAliveDefaultTimeout, + kHostHeader = _require3.kHostHeader, + kPendingIdx = _require3.kPendingIdx, + kRunningIdx = _require3.kRunningIdx, + kError = _require3.kError, + kPipelining = _require3.kPipelining, + kSocket = _require3.kSocket, + kKeepAliveTimeoutValue = _require3.kKeepAliveTimeoutValue, + kMaxHeadersSize = _require3.kMaxHeadersSize, + kKeepAliveMaxTimeout = _require3.kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold = _require3.kKeepAliveTimeoutThreshold, + kHeadersTimeout = _require3.kHeadersTimeout, + kBodyTimeout = _require3.kBodyTimeout, + kStrictContentLength = _require3.kStrictContentLength, + kMaxRequests = _require3.kMaxRequests, + kCounter = _require3.kCounter, + kMaxResponseSize = _require3.kMaxResponseSize, + kOnError = _require3.kOnError, + kResume = _require3.kResume, + kHTTPContext = _require3.kHTTPContext; +var constants = __webpack_require__(5584); +var EMPTY_BUF = Buffer.alloc(0); +var FastBuffer = Buffer[Symbol.species]; +var addListener = util.addListener; +var removeAllListeners = util.removeAllListeners; +var extractBody; +function lazyllhttp() { + return _lazyllhttp.apply(this, arguments); +} +function _lazyllhttp() { + _lazyllhttp = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var llhttpWasmData, mod, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + llhttpWasmData = process.env.JEST_WORKER_ID ? __webpack_require__(4438) : undefined; + _context.p = 1; + _context.n = 2; + return WebAssembly.compile(__webpack_require__(7810)); + case 2: + mod = _context.v; + _context.n = 5; + break; + case 3: + _context.p = 3; + _t = _context.v; + _context.n = 4; + return WebAssembly.compile(llhttpWasmData || __webpack_require__(4438)); + case 4: + mod = _context.v; + case 5: + _context.n = 6; + return WebAssembly.instantiate(mod, { + env: { + /* eslint-disable camelcase */ + + wasm_on_url: function wasm_on_url(p, at, len) { + /* istanbul ignore next */ + return 0; + }, + wasm_on_status: function wasm_on_status(p, at, len) { + assert(currentParser.ptr === p); + var start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_begin: function wasm_on_message_begin(p) { + assert(currentParser.ptr === p); + return currentParser.onMessageBegin() || 0; + }, + wasm_on_header_field: function wasm_on_header_field(p, at, len) { + assert(currentParser.ptr === p); + var start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_header_value: function wasm_on_header_value(p, at, len) { + assert(currentParser.ptr === p); + var start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_headers_complete: function wasm_on_headers_complete(p, statusCode, upgrade, shouldKeepAlive) { + assert(currentParser.ptr === p); + return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + }, + wasm_on_body: function wasm_on_body(p, at, len) { + assert(currentParser.ptr === p); + var start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_complete: function wasm_on_message_complete(p) { + assert(currentParser.ptr === p); + return currentParser.onMessageComplete() || 0; + } -var _typeof = (__webpack_require__(698)["default"]); -function _regeneratorRuntime() { - "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - module.exports = _regeneratorRuntime = function _regeneratorRuntime() { - return exports; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - var exports = {}, - Op = Object.prototype, - hasOwn = Op.hasOwnProperty, - $Symbol = "function" == typeof Symbol ? Symbol : {}, - iteratorSymbol = $Symbol.iterator || "@@iterator", - asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", - toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - function define(obj, key, value) { - return Object.defineProperty(obj, key, { - value: value, - enumerable: !0, - configurable: !0, - writable: !0 - }), obj[key]; - } - try { - define({}, ""); - } catch (err) { - define = function define(obj, key, value) { - return obj[key] = value; - }; - } - function wrap(innerFn, outerFn, self, tryLocsList) { - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, - generator = Object.create(protoGenerator.prototype), - context = new Context(tryLocsList || []); - return generator._invoke = function (innerFn, self, context) { - var state = "suspendedStart"; - return function (method, arg) { - if ("executing" === state) throw new Error("Generator is already running"); - if ("completed" === state) { - if ("throw" === method) throw arg; - return doneResult(); - } - for (context.method = method, context.arg = arg;;) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; + /* eslint-enable camelcase */ } + }); + case 6: + return _context.a(2, _context.v); + } + }, _callee, null, [[1, 3]]); + })); + return _lazyllhttp.apply(this, arguments); +} +var llhttpInstance = null; +var llhttpPromise = lazyllhttp(); +llhttpPromise["catch"](); +var currentParser = null; +var currentBufferRef = null; +var currentBufferSize = 0; +var currentBufferPtr = null; +var USE_NATIVE_TIMER = 0; +var USE_FAST_TIMER = 1; + +// Use fast timers for headers and body to take eventual event loop +// latency into account. +var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER; +var TIMEOUT_BODY = 4 | USE_FAST_TIMER; + +// Use native timers to ignore event loop latency for keep-alive +// handling. +var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER; +var Parser = /*#__PURE__*/function () { + function Parser(client, socket, _ref) { + var exports = _ref.exports; + _classCallCheck(this, Parser); + assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); + this.llhttp = exports; + this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); + this.client = client; + this.socket = socket; + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.statusCode = null; + this.statusText = ''; + this.upgrade = false; + this.headers = []; + this.headersSize = 0; + this.headersMaxSize = client[kMaxHeadersSize]; + this.shouldKeepAlive = false; + this.paused = false; + this.resume = this.resume.bind(this); + this.bytesRead = 0; + this.keepAlive = ''; + this.contentLength = ''; + this.connection = ''; + this.maxResponseSize = client[kMaxResponseSize]; + } + return _createClass(Parser, [{ + key: "setTimeout", + value: function (_setTimeout) { + function setTimeout(_x, _x2) { + return _setTimeout.apply(this, arguments); + } + setTimeout.toString = function () { + return _setTimeout.toString(); + }; + return setTimeout; + }(function (delay, type) { + // If the existing timer and the new timer are of different timer type + // (fast or native) or have different delay, we need to clear the existing + // timer and set a new one. + if (delay !== this.timeoutValue || type & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) { + // If a timeout is already set, clear it with clearTimeout of the fast + // timer implementation, as it can clear fast and native timers. + if (this.timeout) { + timers.clearTimeout(this.timeout); + this.timeout = null; + } + if (delay) { + if (type & USE_FAST_TIMER) { + this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this)); + } else { + this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this)); + this.timeout.unref(); } - if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { - if ("suspendedStart" === state) throw state = "completed", context.arg; - context.dispatchException(context.arg); - } else "return" === context.method && context.abrupt("return", context.arg); - state = "executing"; - var record = tryCatch(innerFn, self, context); - if ("normal" === record.type) { - if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; - return { - value: record.arg, - done: context.done - }; + } + this.timeoutValue = delay; + } else if (this.timeout) { + // istanbul ignore else: only for jest + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + this.timeoutType = type; + }) + }, { + key: "resume", + value: function resume() { + if (this.socket.destroyed || !this.paused) { + return; + } + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_resume(this.ptr); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + // istanbul ignore else: only for jest + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + this.paused = false; + this.execute(this.socket.read() || EMPTY_BUF); // Flush parser. + this.readMore(); + } + }, { + key: "readMore", + value: function readMore() { + while (!this.paused && this.ptr) { + var chunk = this.socket.read(); + if (chunk === null) { + break; + } + this.execute(chunk); + } + } + }, { + key: "execute", + value: function execute(data) { + assert(this.ptr != null); + assert(currentParser == null); + assert(!this.paused); + var socket = this.socket, + llhttp = this.llhttp; + if (data.length > currentBufferSize) { + if (currentBufferPtr) { + llhttp.free(currentBufferPtr); + } + currentBufferSize = Math.ceil(data.length / 4096) * 4096; + currentBufferPtr = llhttp.malloc(currentBufferSize); + } + new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + + // Call `execute` on the wasm parser. + // We pass the `llhttp_parser` pointer address, the pointer address of buffer view data, + // and finally the length of bytes to parse. + // The return value is an error code or `constants.ERROR.OK`. + try { + var ret; + try { + currentBufferRef = data; + currentParser = this; + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); + /* eslint-disable-next-line no-useless-catch */ + } catch (err) { + /* istanbul ignore next: difficult to make a test case for */ + throw err; + } finally { + currentParser = null; + currentBufferRef = null; + } + var offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + if (ret === constants.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(data.slice(offset)); + } else if (ret === constants.ERROR.PAUSED) { + this.paused = true; + socket.unshift(data.slice(offset)); + } else if (ret !== constants.ERROR.OK) { + var ptr = llhttp.llhttp_get_error_reason(this.ptr); + var message = ''; + /* istanbul ignore else: difficult to make a test case for */ + if (ptr) { + var len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); + message = 'Response does not match the HTTP/1.1 protocol (' + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ')'; } - "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); + throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); } - }; - }(innerFn, self, context), generator; - } - function tryCatch(fn, obj, arg) { - try { - return { - type: "normal", - arg: fn.call(obj, arg) - }; - } catch (err) { - return { - type: "throw", - arg: err - }; + } catch (err) { + util.destroy(socket, err); + } } - } - exports.wrap = wrap; - var ContinueSentinel = {}; - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - var IteratorPrototype = {}; - define(IteratorPrototype, iteratorSymbol, function () { - return this; - }); - var getProto = Object.getPrototypeOf, - NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); - var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function (method) { - define(prototype, method, function (arg) { - return this._invoke(method, arg); - }); - }); - } - function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if ("throw" !== record.type) { - var result = record.arg, - value = result.value; - return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { - invoke("next", value, resolve, reject); - }, function (err) { - invoke("throw", err, resolve, reject); - }) : PromiseImpl.resolve(value).then(function (unwrapped) { - result.value = unwrapped, resolve(result); - }, function (error) { - return invoke("throw", error, resolve, reject); - }); + }, { + key: "destroy", + value: function destroy() { + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_free(this.ptr); + this.ptr = null; + this.timeout && timers.clearTimeout(this.timeout); + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.paused = false; + } + }, { + key: "onStatus", + value: function onStatus(buf) { + this.statusText = buf.toString(); + } + }, { + key: "onMessageBegin", + value: function onMessageBegin() { + var socket = this.socket, + client = this.client; + + /* istanbul ignore next: difficult to make a test case for */ + if (socket.destroyed) { + return -1; + } + var request = client[kQueue][client[kRunningIdx]]; + if (!request) { + return -1; } - reject(record.arg); + request.onResponseStarted(); } - var previousPromise; - this._invoke = function (method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function (resolve, reject) { - invoke(method, arg, resolve, reject); - }); + }, { + key: "onHeaderField", + value: function onHeaderField(buf) { + var len = this.headers.length; + if ((len & 1) === 0) { + this.headers.push(buf); + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); } - return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - }; - } - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (undefined === method) { - if (context.delegate = null, "throw" === context.method) { - if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; - context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); + this.trackHeader(buf.length); + } + }, { + key: "onHeaderValue", + value: function onHeaderValue(buf) { + var len = this.headers.length; + if ((len & 1) === 1) { + this.headers.push(buf); + len += 1; + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + var key = this.headers[len - 2]; + if (key.length === 10) { + var headerName = util.bufferToLowerCasedHeaderName(key); + if (headerName === 'keep-alive') { + this.keepAlive += buf.toString(); + } else if (headerName === 'connection') { + this.connection += buf.toString(); + } + } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === 'content-length') { + this.contentLength += buf.toString(); } - return ContinueSentinel; + this.trackHeader(buf.length); } - var record = tryCatch(method, delegate.iterator, context.arg); - if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; - var info = record.arg; - return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); - } - function pushTryEntry(locs) { - var entry = { - tryLoc: locs[0] - }; - 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); - } - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal", delete record.arg, entry.completion = record; - } - function Context(tryLocsList) { - this.tryEntries = [{ - tryLoc: "root" - }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); - } - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) return iteratorMethod.call(iterable); - if ("function" == typeof iterable.next) return iterable; - if (!isNaN(iterable.length)) { - var i = -1, - next = function next() { - for (; ++i < iterable.length;) { - if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; - } - return next.value = undefined, next.done = !0, next; - }; - return next.next = next; + }, { + key: "trackHeader", + value: function trackHeader(len) { + this.headersSize += len; + if (this.headersSize >= this.headersMaxSize) { + util.destroy(this.socket, new HeadersOverflowError()); } } - return { - next: doneResult - }; - } - function doneResult() { - return { - value: undefined, - done: !0 - }; - } - return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { - var ctor = "function" == typeof genFun && genFun.constructor; - return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); - }, exports.mark = function (genFun) { - return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; - }, exports.awrap = function (arg) { - return { - __await: arg - }; - }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { - return this; - }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { - void 0 === PromiseImpl && (PromiseImpl = Promise); - var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); - return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { - return result.done ? result.value : iter.next(); - }); - }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { - return this; - }), define(Gp, "toString", function () { - return "[object Generator]"; - }), exports.keys = function (object) { - var keys = []; - for (var key in object) { - keys.push(key); + }, { + key: "onUpgrade", + value: function onUpgrade(head) { + var upgrade = this.upgrade, + client = this.client, + socket = this.socket, + headers = this.headers, + statusCode = this.statusCode; + assert(upgrade); + assert(client[kSocket] === socket); + assert(!socket.destroyed); + assert(!this.paused); + assert((headers.length & 1) === 0); + var request = client[kQueue][client[kRunningIdx]]; + assert(request); + assert(request.upgrade || request.method === 'CONNECT'); + this.statusCode = null; + this.statusText = ''; + this.shouldKeepAlive = null; + this.headers = []; + this.headersSize = 0; + socket.unshift(head); + socket[kParser].destroy(); + socket[kParser] = null; + socket[kClient] = null; + socket[kError] = null; + removeAllListeners(socket); + client[kSocket] = null; + client[kHTTPContext] = null; // TODO (fix): This is hacky... + client[kQueue][client[kRunningIdx]++] = null; + client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade')); + try { + request.onUpgrade(statusCode, headers, socket); + } catch (err) { + util.destroy(socket, err); + } + client[kResume](); } - return keys.reverse(), function next() { - for (; keys.length;) { - var key = keys.pop(); - if (key in object) return next.value = key, next.done = !1, next; + }, { + key: "onHeadersComplete", + value: function onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { + var client = this.client, + socket = this.socket, + headers = this.headers, + statusText = this.statusText; + + /* istanbul ignore next: difficult to make a test case for */ + if (socket.destroyed) { + return -1; } - return next.done = !0, next; - }; - }, exports.values = values, Context.prototype = { - constructor: Context, - reset: function reset(skipTempReset) { - if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { - "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); + var request = client[kQueue][client[kRunningIdx]]; + + /* istanbul ignore next: difficult to make a test case for */ + if (!request) { + return -1; } - }, - stop: function stop() { - this.done = !0; - var rootRecord = this.tryEntries[0].completion; - if ("throw" === rootRecord.type) throw rootRecord.arg; - return this.rval; - }, - dispatchException: function dispatchException(exception) { - if (this.done) throw exception; - var context = this; - function handle(loc, caught) { - return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; - } - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i], - record = entry.completion; - if ("root" === entry.tryLoc) return handle("end"); - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"), - hasFinally = hasOwn.call(entry, "finallyLoc"); - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); - if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); - } else if (hasCatch) { - if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); + assert(!this.upgrade); + assert(this.statusCode < 200); + if (statusCode === 100) { + util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket))); + return -1; + } + + /* this can only happen if server is misbehaving */ + if (upgrade && !request.upgrade) { + util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket))); + return -1; + } + assert(this.timeoutType === TIMEOUT_HEADERS); + this.statusCode = statusCode; + this.shouldKeepAlive = shouldKeepAlive || + // Override llhttp value which does not allow keepAlive for HEAD. + request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive'; + if (this.statusCode >= 200) { + var bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; + this.setTimeout(bodyTimeout, TIMEOUT_BODY); + } else if (this.timeout) { + // istanbul ignore else: only for jest + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + if (request.method === 'CONNECT') { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + if (upgrade) { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + assert((this.headers.length & 1) === 0); + this.headers = []; + this.headersSize = 0; + if (this.shouldKeepAlive && client[kPipelining]) { + var keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; + if (keepAliveTimeout != null) { + var timeout = Math.min(keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout]); + if (timeout <= 0) { + socket[kReset] = true; } else { - if (!hasFinally) throw new Error("try statement without catch or finally"); - if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); + client[kKeepAliveTimeoutValue] = timeout; } + } else { + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; } + } else { + // Stop more requests from being dispatched. + socket[kReset] = true; } - }, - abrupt: function abrupt(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } + var pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; + if (request.aborted) { + return -1; } - finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); - var record = finallyEntry ? finallyEntry.completion : {}; - return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); - }, - complete: function complete(record, afterLoc) { - if ("throw" === record.type) throw record.arg; - return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; - }, - finish: function finish(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; + if (request.method === 'HEAD') { + return 1; } - }, - "catch": function _catch(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if ("throw" === record.type) { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; + if (statusCode < 200) { + return 1; + } + if (socket[kBlocking]) { + socket[kBlocking] = false; + client[kResume](); + } + return pause ? constants.ERROR.PAUSED : 0; + } + }, { + key: "onBody", + value: function onBody(buf) { + var client = this.client, + socket = this.socket, + statusCode = this.statusCode, + maxResponseSize = this.maxResponseSize; + if (socket.destroyed) { + return -1; + } + var request = client[kQueue][client[kRunningIdx]]; + assert(request); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + // istanbul ignore else: only for jest + if (this.timeout.refresh) { + this.timeout.refresh(); } } - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(iterable, resultName, nextLoc) { - return this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }, "next" === this.method && (this.arg = undefined), ContinueSentinel; + assert(statusCode >= 200); + if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { + util.destroy(socket, new ResponseExceededMaxSizeError()); + return -1; + } + this.bytesRead += buf.length; + if (request.onData(buf) === false) { + return constants.ERROR.PAUSED; + } } - }, exports; -} -module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 15: -/***/ ((module) => { - -function _setPrototypeOf(o, p) { - module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - return _setPrototypeOf(o, p); -} -module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 424: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var arrayWithHoles = __webpack_require__(372); -var iterableToArrayLimit = __webpack_require__(872); -var unsupportedIterableToArray = __webpack_require__(116); -var nonIterableRest = __webpack_require__(218); -function _slicedToArray(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); -} -module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 698: -/***/ ((module) => { - -function _typeof(obj) { - "@babel/helpers - typeof"; - - return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); -} -module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 116: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var arrayLikeToArray = __webpack_require__(897); -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); -} -module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), - -/***/ 496: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + }, { + key: "onMessageComplete", + value: function onMessageComplete() { + var client = this.client, + socket = this.socket, + statusCode = this.statusCode, + upgrade = this.upgrade, + headers = this.headers, + contentLength = this.contentLength, + bytesRead = this.bytesRead, + shouldKeepAlive = this.shouldKeepAlive; + if (socket.destroyed && (!statusCode || shouldKeepAlive)) { + return -1; + } + if (upgrade) { + return; + } + assert(statusCode >= 100); + assert((this.headers.length & 1) === 0); + var request = client[kQueue][client[kRunningIdx]]; + assert(request); + this.statusCode = null; + this.statusText = ''; + this.bytesRead = 0; + this.contentLength = ''; + this.keepAlive = ''; + this.connection = ''; + this.headers = []; + this.headersSize = 0; + if (statusCode < 200) { + return; + } -var getPrototypeOf = __webpack_require__(808); -var setPrototypeOf = __webpack_require__(15); -var isNativeFunction = __webpack_require__(86); -var construct = __webpack_require__(515); -function _wrapNativeSuper(Class) { - var _cache = typeof Map === "function" ? new Map() : undefined; - module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) { - if (Class === null || !isNativeFunction(Class)) return Class; - if (typeof Class !== "function") { - throw new TypeError("Super expression must either be null or a function"); + /* istanbul ignore next: should be handled by llhttp? */ + if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) { + util.destroy(socket, new ResponseContentLengthMismatchError()); + return -1; + } + request.onComplete(headers); + client[kQueue][client[kRunningIdx]++] = null; + if (socket[kWriting]) { + assert(client[kRunning] === 0); + // Response completed before request. + util.destroy(socket, new InformationalError('reset')); + return constants.ERROR.PAUSED; + } else if (!shouldKeepAlive) { + util.destroy(socket, new InformationalError('reset')); + return constants.ERROR.PAUSED; + } else if (socket[kReset] && client[kRunning] === 0) { + // Destroy socket once all requests have completed. + // The request at the tail of the pipeline is the one + // that requested reset and no further requests should + // have been queued since then. + util.destroy(socket, new InformationalError('reset')); + return constants.ERROR.PAUSED; + } else if (client[kPipelining] == null || client[kPipelining] === 1) { + // We must wait a full event loop cycle to reuse this socket to make sure + // that non-spec compliant servers are not closing the connection even if they + // said they won't. + setImmediate(function () { + return client[kResume](); + }); + } else { + client[kResume](); + } } - if (typeof _cache !== "undefined") { - if (_cache.has(Class)) return _cache.get(Class); - _cache.set(Class, Wrapper); + }]); +}(); +function onParserTimeout(parser) { + var _parser$deref = parser.deref(), + socket = _parser$deref.socket, + timeoutType = _parser$deref.timeoutType, + client = _parser$deref.client, + paused = _parser$deref.paused; + + /* istanbul ignore else */ + if (timeoutType === TIMEOUT_HEADERS) { + if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { + assert(!paused, 'cannot be paused while waiting for headers'); + util.destroy(socket, new HeadersTimeoutError()); } - function Wrapper() { - return construct(Class, arguments, getPrototypeOf(this).constructor); + } else if (timeoutType === TIMEOUT_BODY) { + if (!paused) { + util.destroy(socket, new BodyTimeoutError()); } - Wrapper.prototype = Object.create(Class.prototype, { - constructor: { - value: Wrapper, - enumerable: false, - writable: true, - configurable: true - } - }); - return setPrototypeOf(Wrapper, Class); - }, module.exports.__esModule = true, module.exports["default"] = module.exports; - return _wrapNativeSuper(Class); + } else if (timeoutType === TIMEOUT_KEEP_ALIVE) { + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); + util.destroy(socket, new InformationalError('socket idle timeout')); + } +} +function connectH1(_x3, _x4) { + return _connectH.apply(this, arguments); +} +function _connectH() { + _connectH = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(client, socket) { + var closed, _t2, _t3, _t4, _t5; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + client[kSocket] = socket; + if (llhttpInstance) { + _context2.n = 2; + break; + } + _context2.n = 1; + return llhttpPromise; + case 1: + llhttpInstance = _context2.v; + llhttpPromise = null; + case 2: + socket[kNoRef] = false; + socket[kWriting] = false; + socket[kReset] = false; + socket[kBlocking] = false; + socket[kParser] = new Parser(client, socket, llhttpInstance); + addListener(socket, 'error', function (err) { + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID'); + var parser = this[kParser]; + + // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded + // to the user. + if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) { + // We treat all incoming data so for as a valid response. + parser.onMessageComplete(); + return; + } + this[kError] = err; + this[kClient][kOnError](err); + }); + addListener(socket, 'readable', function () { + var parser = this[kParser]; + if (parser) { + parser.readMore(); + } + }); + addListener(socket, 'end', function () { + var parser = this[kParser]; + if (parser.statusCode && !parser.shouldKeepAlive) { + // We treat all incoming data so far as a valid response. + parser.onMessageComplete(); + return; + } + util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this))); + }); + addListener(socket, 'close', function () { + var client = this[kClient]; + var parser = this[kParser]; + if (parser) { + if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { + // We treat all incoming data so far as a valid response. + parser.onMessageComplete(); + } + this[kParser].destroy(); + this[kParser] = null; + } + var err = this[kError] || new SocketError('closed', util.getSocketInfo(this)); + client[kSocket] = null; + client[kHTTPContext] = null; // TODO (fix): This is hacky... + + if (client.destroyed) { + assert(client[kPending] === 0); + + // Fail entire queue. + var requests = client[kQueue].splice(client[kRunningIdx]); + for (var i = 0; i < requests.length; i++) { + var request = requests[i]; + util.errorRequest(client, request, err); + } + } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') { + // Fail head of pipeline. + var _request = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + util.errorRequest(client, _request, err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit('disconnect', client[kUrl], [client], err); + client[kResume](); + }); + closed = false; + socket.on('close', function () { + closed = true; + }); + _t2 = function write() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return writeH1.apply(void 0, [client].concat(args)); + }; + _t3 = function resume() { + resumeH1(client); + }; + _t4 = function destroy(err, callback) { + if (closed) { + queueMicrotask(callback); + } else { + socket.destroy(err).on('close', callback); + } + }; + _t5 = function busy(request) { + if (socket[kWriting] || socket[kReset] || socket[kBlocking]) { + return true; + } + if (request) { + if (client[kRunning] > 0 && !request.idempotent) { + // Non-idempotent request cannot be retried. + // Ensure that no other requests are inflight and + // could cause failure. + return true; + } + if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) { + // Don't dispatch an upgrade until all preceding requests have completed. + // A misbehaving server might upgrade the connection before all pipelined + // request has completed. + return true; + } + if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(request.body))) { + // Request with stream or iterator body can error while other requests + // are inflight and indirectly error those as well. + // Ensure this doesn't happen by waiting for inflight + // to complete before dispatching. + + // Request with stream or iterator body cannot be retried. + // Ensure that no other requests are inflight and + // could cause failure. + return true; + } + } + return false; + }; + return _context2.a(2, { + version: 'h1', + defaultPipelining: 1, + write: _t2, + resume: _t3, + destroy: _t4, + get destroyed() { + return socket.destroyed; + }, + busy: _t5 + }); + } + }, _callee2); + })); + return _connectH.apply(this, arguments); +} +function resumeH1(client) { + var socket = client[kSocket]; + if (socket && !socket.destroyed) { + if (client[kSize] === 0) { + if (!socket[kNoRef] && socket.unref) { + socket.unref(); + socket[kNoRef] = true; + } + } else if (socket[kNoRef] && socket.ref) { + socket.ref(); + socket[kNoRef] = false; + } + if (client[kSize] === 0) { + if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) { + socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE); + } + } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { + if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { + var request = client[kQueue][client[kRunningIdx]]; + var headersTimeout = request.headersTimeout != null ? request.headersTimeout : client[kHeadersTimeout]; + socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); + } + } + } } -module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js -function _typeof(obj) { - "@babel/helpers - typeof"; - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }, _typeof(obj); +// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2 +function shouldSendContentLength(method) { + return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'; } -;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +function writeH1(client, request) { + var method = request.method, + path = request.path, + host = request.host, + upgrade = request.upgrade, + blocking = request.blocking, + reset = request.reset; + var body = request.body, + headers = request.headers, + contentLength = request.contentLength; + + // https://tools.ietf.org/html/rfc7231#section-4.3.1 + // https://tools.ietf.org/html/rfc7231#section-4.3.2 + // https://tools.ietf.org/html/rfc7231#section-4.3.5 + + // Sending a payload body on a request that does not + // expect it can cause undefined behavior on some + // servers and corrupt connection state. Do not + // re-use the connection for further requests. + + var expectsPayload = method === 'PUT' || method === 'POST' || method === 'PATCH' || method === 'QUERY' || method === 'PROPFIND' || method === 'PROPPATCH'; + if (util.isFormDataLike(body)) { + if (!extractBody) { + extractBody = (__webpack_require__(3476).extractBody); + } + var _extractBody = extractBody(body), + _extractBody2 = _slicedToArray(_extractBody, 2), + bodyStream = _extractBody2[0], + contentType = _extractBody2[1]; + if (request.contentType == null) { + headers.push('content-type', contentType); + } + body = bodyStream.stream; + contentLength = bodyStream.length; + } else if (util.isBlobLike(body) && request.contentType == null && body.type) { + headers.push('content-type', body.type); + } + if (body && typeof body.read === 'function') { + // Try to read EOF in order to get length. + body.read(0); + } + var bodyLength = util.bodyLength(body); + contentLength = bodyLength !== null && bodyLength !== void 0 ? bodyLength : contentLength; + if (contentLength === null) { + contentLength = request.contentLength; + } + if (contentLength === 0 && !expectsPayload) { + // https://tools.ietf.org/html/rfc7230#section-3.3.2 + // A user agent SHOULD NOT send a Content-Length header field when + // the request message does not contain a payload body and the method + // semantics do not anticipate such a body. -function _regeneratorRuntime() { - "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - _regeneratorRuntime = function _regeneratorRuntime() { - return exports; - }; - var exports = {}, - Op = Object.prototype, - hasOwn = Op.hasOwnProperty, - $Symbol = "function" == typeof Symbol ? Symbol : {}, - iteratorSymbol = $Symbol.iterator || "@@iterator", - asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", - toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - function define(obj, key, value) { - return Object.defineProperty(obj, key, { - value: value, - enumerable: !0, - configurable: !0, - writable: !0 - }), obj[key]; + contentLength = null; + } + + // https://github.com/nodejs/undici/issues/2046 + // A user agent may send a Content-Length header with 0 value, this should be allowed. + if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); } + var socket = client[kSocket]; + var abort = function abort(err) { + if (request.aborted || request.completed) { + return; + } + util.errorRequest(client, request, err || new RequestAbortedError()); + util.destroy(body); + util.destroy(socket, new InformationalError('aborted')); + }; try { - define({}, ""); + request.onConnect(abort); } catch (err) { - define = function define(obj, key, value) { - return obj[key] = value; - }; + util.errorRequest(client, request, err); } - function wrap(innerFn, outerFn, self, tryLocsList) { - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, - generator = Object.create(protoGenerator.prototype), - context = new Context(tryLocsList || []); - return generator._invoke = function (innerFn, self, context) { - var state = "suspendedStart"; - return function (method, arg) { - if ("executing" === state) throw new Error("Generator is already running"); - if ("completed" === state) { - if ("throw" === method) throw arg; - return doneResult(); - } - for (context.method = method, context.arg = arg;;) { - var delegate = context.delegate; - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { - if ("suspendedStart" === state) throw state = "completed", context.arg; - context.dispatchException(context.arg); - } else "return" === context.method && context.abrupt("return", context.arg); - state = "executing"; - var record = tryCatch(innerFn, self, context); - if ("normal" === record.type) { - if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; - return { - value: record.arg, - done: context.done - }; - } - "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); - } - }; - }(innerFn, self, context), generator; + if (request.aborted) { + return false; } - function tryCatch(fn, obj, arg) { - try { - return { - type: "normal", - arg: fn.call(obj, arg) - }; - } catch (err) { - return { - type: "throw", - arg: err - }; + if (method === 'HEAD') { + // https://github.com/mcollina/undici/issues/258 + // Close after a HEAD request to interop with misbehaving servers + // that may send a body in the response. + + socket[kReset] = true; + } + if (upgrade || method === 'CONNECT') { + // On CONNECT or upgrade, block pipeline from dispatching further + // requests on this connection. + + socket[kReset] = true; + } + if (reset != null) { + socket[kReset] = reset; + } + if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { + socket[kReset] = true; + } + if (blocking) { + socket[kBlocking] = true; + } + var header = "".concat(method, " ").concat(path, " HTTP/1.1\r\n"); + if (typeof host === 'string') { + header += "host: ".concat(host, "\r\n"); + } else { + header += client[kHostHeader]; + } + if (upgrade) { + header += "connection: upgrade\r\nupgrade: ".concat(upgrade, "\r\n"); + } else if (client[kPipelining] && !socket[kReset]) { + header += 'connection: keep-alive\r\n'; + } else { + header += 'connection: close\r\n'; + } + if (Array.isArray(headers)) { + for (var n = 0; n < headers.length; n += 2) { + var key = headers[n + 0]; + var val = headers[n + 1]; + if (Array.isArray(val)) { + for (var i = 0; i < val.length; i++) { + header += "".concat(key, ": ").concat(val[i], "\r\n"); + } + } else { + header += "".concat(key, ": ").concat(val, "\r\n"); + } } } - exports.wrap = wrap; - var ContinueSentinel = {}; - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - var IteratorPrototype = {}; - define(IteratorPrototype, iteratorSymbol, function () { - return this; - }); - var getProto = Object.getPrototypeOf, - NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); - var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function (method) { - define(prototype, method, function (arg) { - return this._invoke(method, arg); - }); + if (channels.sendHeaders.hasSubscribers) { + channels.sendHeaders.publish({ + request: request, + headers: header, + socket: socket }); } - function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - if ("throw" !== record.type) { - var result = record.arg, - value = result.value; - return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { - invoke("next", value, resolve, reject); - }, function (err) { - invoke("throw", err, resolve, reject); - }) : PromiseImpl.resolve(value).then(function (unwrapped) { - result.value = unwrapped, resolve(result); - }, function (error) { - return invoke("throw", error, resolve, reject); - }); + + /* istanbul ignore else: assertion */ + if (!body || bodyLength === 0) { + writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload); + } else if (util.isBuffer(body)) { + writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === 'function') { + writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload); + } else { + writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload); + } + } else if (util.isStream(body)) { + writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload); + } else if (util.isIterable(body)) { + writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload); + } else { + assert(false); + } + return true; +} +function writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload) { + var _body$errorEmitted, _body$endEmitted, _body$closeEmitted; + assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined'); + var finished = false; + var writer = new AsyncWriter({ + abort: abort, + socket: socket, + request: request, + contentLength: contentLength, + client: client, + expectsPayload: expectsPayload, + header: header + }); + var onData = function onData(chunk) { + if (finished) { + return; + } + try { + if (!writer.write(chunk) && this.pause) { + this.pause(); } - reject(record.arg); + } catch (err) { + util.destroy(this, err); } - var previousPromise; - this._invoke = function (method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function (resolve, reject) { - invoke(method, arg, resolve, reject); - }); + }; + var onDrain = function onDrain() { + if (finished) { + return; + } + if (body.resume) { + body.resume(); + } + }; + var onClose = function onClose() { + // 'close' might be emitted *before* 'error' for + // broken streams. Wait a tick to avoid this case. + queueMicrotask(function () { + // It's only safe to remove 'error' listener after + // 'close'. + body.removeListener('error', _onFinished); + }); + if (!finished) { + var err = new RequestAbortedError(); + queueMicrotask(function () { + return _onFinished(err); + }); + } + }; + var _onFinished = function onFinished(err) { + if (finished) { + return; + } + finished = true; + assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); + socket.off('drain', onDrain).off('error', _onFinished); + body.removeListener('data', onData).removeListener('end', _onFinished).removeListener('close', onClose); + if (!err) { + try { + writer.end(); + } catch (er) { + err = er; } - return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - }; + } + writer.destroy(err); + if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) { + util.destroy(body, err); + } else { + util.destroy(body); + } + }; + body.on('data', onData).on('end', _onFinished).on('error', _onFinished).on('close', onClose); + if (body.resume) { + body.resume(); + } + socket.on('drain', onDrain).on('error', _onFinished); + if ((_body$errorEmitted = body.errorEmitted) !== null && _body$errorEmitted !== void 0 ? _body$errorEmitted : body.errored) { + setImmediate(function () { + return _onFinished(body.errored); + }); + } else if ((_body$endEmitted = body.endEmitted) !== null && _body$endEmitted !== void 0 ? _body$endEmitted : body.readableEnded) { + setImmediate(function () { + return _onFinished(null); + }); + } + if ((_body$closeEmitted = body.closeEmitted) !== null && _body$closeEmitted !== void 0 ? _body$closeEmitted : body.closed) { + setImmediate(onClose); } - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - if (undefined === method) { - if (context.delegate = null, "throw" === context.method) { - if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; - context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); +} +function writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload) { + try { + if (!body) { + if (contentLength === 0) { + socket.write("".concat(header, "content-length: 0\r\n\r\n"), 'latin1'); + } else { + assert(contentLength === null, 'no body must not have content length'); + socket.write("".concat(header, "\r\n"), 'latin1'); + } + } else if (util.isBuffer(body)) { + assert(contentLength === body.byteLength, 'buffer body must have content length'); + socket.cork(); + socket.write("".concat(header, "content-length: ").concat(contentLength, "\r\n\r\n"), 'latin1'); + socket.write(body); + socket.uncork(); + request.onBodySent(body); + if (!expectsPayload && request.reset !== false) { + socket[kReset] = true; } - return ContinueSentinel; } - var record = tryCatch(method, delegate.iterator, context.arg); - if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; - var info = record.arg; - return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); + request.onRequestSent(); + client[kResume](); + } catch (err) { + abort(err); } - function pushTryEntry(locs) { - var entry = { - tryLoc: locs[0] - }; - 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); - } - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal", delete record.arg, entry.completion = record; - } - function Context(tryLocsList) { - this.tryEntries = [{ - tryLoc: "root" - }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); - } - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) return iteratorMethod.call(iterable); - if ("function" == typeof iterable.next) return iterable; - if (!isNaN(iterable.length)) { - var i = -1, - next = function next() { - for (; ++i < iterable.length;) { - if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; +} +function writeBlob(_x5, _x6, _x7, _x8, _x9, _x0, _x1, _x10) { + return _writeBlob.apply(this, arguments); +} +function _writeBlob() { + _writeBlob = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(abort, body, client, request, socket, contentLength, header, expectsPayload) { + var buffer, _t6, _t7; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.p = _context3.n) { + case 0: + assert(contentLength === body.size, 'blob body must have content length'); + _context3.p = 1; + if (!(contentLength != null && contentLength !== body.size)) { + _context3.n = 2; + break; + } + throw new RequestContentLengthMismatchError(); + case 2: + _t6 = Buffer; + _context3.n = 3; + return body.arrayBuffer(); + case 3: + buffer = _t6.from.call(_t6, _context3.v); + socket.cork(); + socket.write("".concat(header, "content-length: ").concat(contentLength, "\r\n\r\n"), 'latin1'); + socket.write(buffer); + socket.uncork(); + request.onBodySent(buffer); + request.onRequestSent(); + if (!expectsPayload && request.reset !== false) { + socket[kReset] = true; + } + client[kResume](); + _context3.n = 5; + break; + case 4: + _context3.p = 4; + _t7 = _context3.v; + abort(_t7); + case 5: + return _context3.a(2); + } + }, _callee3, null, [[1, 4]]); + })); + return _writeBlob.apply(this, arguments); +} +function writeIterable(_x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18) { + return _writeIterable.apply(this, arguments); +} +function _writeIterable() { + _writeIterable = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(abort, body, client, request, socket, contentLength, header, expectsPayload) { + var callback, onDrain, waitForDrain, writer, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, _t8, _t9; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.p = _context4.n) { + case 0: + onDrain = function _onDrain() { + if (callback) { + var cb = callback; + callback = null; + cb(); } - return next.value = undefined, next.done = !0, next; }; - return next.next = next; + assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined'); + callback = null; + waitForDrain = function waitForDrain() { + return new Promise(function (resolve, reject) { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + }; + socket.on('close', onDrain).on('drain', onDrain); + writer = new AsyncWriter({ + abort: abort, + socket: socket, + request: request, + contentLength: contentLength, + client: client, + expectsPayload: expectsPayload, + header: header + }); + _context4.p = 1; + // It's up to the user to somehow abort the async iterable. + _iteratorAbruptCompletion = false; + _didIteratorError = false; + _context4.p = 2; + _iterator = _asyncIterator(body); + case 3: + _context4.n = 4; + return _iterator.next(); + case 4: + if (!(_iteratorAbruptCompletion = !(_step = _context4.v).done)) { + _context4.n = 7; + break; + } + chunk = _step.value; + if (!socket[kError]) { + _context4.n = 5; + break; + } + throw socket[kError]; + case 5: + if (writer.write(chunk)) { + _context4.n = 6; + break; + } + _context4.n = 6; + return waitForDrain(); + case 6: + _iteratorAbruptCompletion = false; + _context4.n = 3; + break; + case 7: + _context4.n = 9; + break; + case 8: + _context4.p = 8; + _t8 = _context4.v; + _didIteratorError = true; + _iteratorError = _t8; + case 9: + _context4.p = 9; + _context4.p = 10; + if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { + _context4.n = 11; + break; + } + _context4.n = 11; + return _iterator["return"](); + case 11: + _context4.p = 11; + if (!_didIteratorError) { + _context4.n = 12; + break; + } + throw _iteratorError; + case 12: + return _context4.f(11); + case 13: + return _context4.f(9); + case 14: + writer.end(); + _context4.n = 16; + break; + case 15: + _context4.p = 15; + _t9 = _context4.v; + writer.destroy(_t9); + case 16: + _context4.p = 16; + socket.off('close', onDrain).off('drain', onDrain); + return _context4.f(16); + case 17: + return _context4.a(2); } - } - return { - next: doneResult - }; - } - function doneResult() { - return { - value: undefined, - done: !0 - }; + }, _callee4, null, [[10,, 11, 13], [2, 8, 9, 14], [1, 15, 16, 17]]); + })); + return _writeIterable.apply(this, arguments); +} +var AsyncWriter = /*#__PURE__*/function () { + function AsyncWriter(_ref2) { + var abort = _ref2.abort, + socket = _ref2.socket, + request = _ref2.request, + contentLength = _ref2.contentLength, + client = _ref2.client, + expectsPayload = _ref2.expectsPayload, + header = _ref2.header; + _classCallCheck(this, AsyncWriter); + this.socket = socket; + this.request = request; + this.contentLength = contentLength; + this.client = client; + this.bytesWritten = 0; + this.expectsPayload = expectsPayload; + this.header = header; + this.abort = abort; + socket[kWriting] = true; } - return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { - var ctor = "function" == typeof genFun && genFun.constructor; - return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); - }, exports.mark = function (genFun) { - return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; - }, exports.awrap = function (arg) { - return { - __await: arg - }; - }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { - return this; - }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { - void 0 === PromiseImpl && (PromiseImpl = Promise); - var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); - return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { - return result.done ? result.value : iter.next(); - }); - }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { - return this; - }), define(Gp, "toString", function () { - return "[object Generator]"; - }), exports.keys = function (object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - return keys.reverse(), function next() { - for (; keys.length;) { - var key = keys.pop(); - if (key in object) return next.value = key, next.done = !1, next; + return _createClass(AsyncWriter, [{ + key: "write", + value: function write(chunk) { + var socket = this.socket, + request = this.request, + contentLength = this.contentLength, + client = this.client, + bytesWritten = this.bytesWritten, + expectsPayload = this.expectsPayload, + header = this.header; + if (socket[kError]) { + throw socket[kError]; } - return next.done = !0, next; - }; - }, exports.values = values, Context.prototype = { - constructor: Context, - reset: function reset(skipTempReset) { - if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { - "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); + if (socket.destroyed) { + return false; } - }, - stop: function stop() { - this.done = !0; - var rootRecord = this.tryEntries[0].completion; - if ("throw" === rootRecord.type) throw rootRecord.arg; - return this.rval; - }, - dispatchException: function dispatchException(exception) { - if (this.done) throw exception; - var context = this; - function handle(loc, caught) { - return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; - } - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i], - record = entry.completion; - if ("root" === entry.tryLoc) return handle("end"); - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"), - hasFinally = hasOwn.call(entry, "finallyLoc"); - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); - if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); - } else if (hasCatch) { - if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); - } else { - if (!hasFinally) throw new Error("try statement without catch or finally"); - if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); - } + var len = Buffer.byteLength(chunk); + if (!len) { + return true; + } + + // We should defer writing chunks. + if (contentLength !== null && bytesWritten + len > contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); } + process.emitWarning(new RequestContentLengthMismatchError()); } - }, - abrupt: function abrupt(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; + socket.cork(); + if (bytesWritten === 0) { + if (!expectsPayload && request.reset !== false) { + socket[kReset] = true; + } + if (contentLength === null) { + socket.write("".concat(header, "transfer-encoding: chunked\r\n"), 'latin1'); + } else { + socket.write("".concat(header, "content-length: ").concat(contentLength, "\r\n\r\n"), 'latin1'); } } - finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); - var record = finallyEntry ? finallyEntry.completion : {}; - return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); - }, - complete: function complete(record, afterLoc) { - if ("throw" === record.type) throw record.arg; - return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; - }, - finish: function finish(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; + if (contentLength === null) { + socket.write("\r\n".concat(len.toString(16), "\r\n"), 'latin1'); } - }, - "catch": function _catch(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if ("throw" === record.type) { - var thrown = record.arg; - resetTryEntry(entry); + this.bytesWritten += len; + var ret = socket.write(chunk); + socket.uncork(); + request.onBodySent(chunk); + if (!ret) { + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + // istanbul ignore else: only for jest + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); } - return thrown; } } - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(iterable, resultName, nextLoc) { - return this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }, "next" === this.method && (this.arg = undefined), ContinueSentinel; + return ret; } - }, exports; -} -;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + }, { + key: "end", + value: function end() { + var socket = this.socket, + contentLength = this.contentLength, + client = this.client, + bytesWritten = this.bytesWritten, + expectsPayload = this.expectsPayload, + header = this.header, + request = this.request; + request.onRequestSent(); + socket[kWriting] = false; + if (socket[kError]) { + throw socket[kError]; } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + if (socket.destroyed) { + return; } - _next(undefined); - }); - }; -} -// EXTERNAL MODULE: external "path" -var external_path_ = __webpack_require__(17); -var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_); -// EXTERNAL MODULE: external "fs" -var external_fs_ = __webpack_require__(147); -var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_); -// EXTERNAL MODULE: ./node_modules/@actions/core/lib/core.js -var core = __webpack_require__(397); -;// CONCATENATED MODULE: ./node_modules/ramda/es/__.js -/** - * A special placeholder value used to specify "gaps" within curried functions, - * allowing partial application of any combination of arguments, regardless of - * their positions. - * - * If `g` is a curried ternary function and `_` is `R.__`, the following are - * equivalent: - * - * - `g(1, 2, 3)` - * - `g(_, 2, 3)(1)` - * - `g(_, _, 3)(1)(2)` - * - `g(_, _, 3)(1, 2)` - * - `g(_, 2, _)(1, 3)` - * - `g(_, 2)(1)(3)` - * - `g(_, 2)(1, 3)` - * - `g(_, 2)(_, 3)(1)` - * - * @name __ - * @constant - * @memberOf R - * @since v0.6.0 - * @category Function - * @example - * - * const greet = R.replace('{name}', R.__, 'Hello, {name}!'); - * greet('Alice'); //=> 'Hello, Alice!' - */ -/* harmony default export */ const _ = ({ - '@@functional/placeholder': true -}); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isPlaceholder.js -function _isPlaceholder(a) { - return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_curry1.js + if (bytesWritten === 0) { + if (expectsPayload) { + // https://tools.ietf.org/html/rfc7230#section-3.3.2 + // A user agent SHOULD send a Content-Length in a request message when + // no Transfer-Encoding is sent and the request method defines a meaning + // for an enclosed payload body. + + socket.write("".concat(header, "content-length: 0\r\n\r\n"), 'latin1'); + } else { + socket.write("".concat(header, "\r\n"), 'latin1'); + } + } else if (contentLength === null) { + socket.write('\r\n0\r\n\r\n', 'latin1'); + } + if (contentLength !== null && bytesWritten !== contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); + } else { + process.emitWarning(new RequestContentLengthMismatchError()); + } + } + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + // istanbul ignore else: only for jest + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + client[kResume](); + } + }, { + key: "destroy", + value: function destroy(err) { + var socket = this.socket, + client = this.client, + abort = this.abort; + socket[kWriting] = false; + if (err) { + assert(client[kRunning] <= 1, 'pipeline should only contain this request'); + abort(err); + } + } + }]); +}(); +module.exports = connectH1; -/** - * Optimized internal one-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ +/***/ }, -function _curry1_curry1(fn) { - return function f1(a) { - if (arguments.length === 0 || _isPlaceholder(a)) { - return f1; - } else { - return fn.apply(this, arguments); - } - }; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_curry2.js +/***/ 2748 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Optimized internal two-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ -function _curry2_curry2(fn) { - return function f2(a, b) { - switch (arguments.length) { - case 0: - return f2; - case 1: - return _isPlaceholder(a) ? f2 : _curry1_curry1(function (_b) { - return fn(a, _b); - }); - default: - return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1_curry1(function (_a) { - return fn(_a, b); - }) : _isPlaceholder(b) ? _curry1_curry1(function (_b) { - return fn(a, _b); - }) : fn(a, b); - } +var _regenerator = (__webpack_require__(6993)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _toPropertyKey = (__webpack_require__(7736)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(7075), + pipeline = _require.pipeline; +var util = __webpack_require__(6632); +var _require2 = __webpack_require__(3515), + RequestContentLengthMismatchError = _require2.RequestContentLengthMismatchError, + RequestAbortedError = _require2.RequestAbortedError, + SocketError = _require2.SocketError, + InformationalError = _require2.InformationalError; +var _require3 = __webpack_require__(6771), + kUrl = _require3.kUrl, + kReset = _require3.kReset, + kClient = _require3.kClient, + kRunning = _require3.kRunning, + kPending = _require3.kPending, + kQueue = _require3.kQueue, + kPendingIdx = _require3.kPendingIdx, + kRunningIdx = _require3.kRunningIdx, + kError = _require3.kError, + kSocket = _require3.kSocket, + kStrictContentLength = _require3.kStrictContentLength, + kOnError = _require3.kOnError, + kMaxConcurrentStreams = _require3.kMaxConcurrentStreams, + kHTTP2Session = _require3.kHTTP2Session, + kResume = _require3.kResume, + kSize = _require3.kSize, + kHTTPContext = _require3.kHTTPContext; +var kOpenStreams = Symbol('open streams'); +var extractBody; + +// Experimental +var h2ExperimentalWarned = false; + +/** @type {import('http2')} */ +var http2; +try { + http2 = __webpack_require__(2467); +} catch (_unused) { + // @ts-ignore + http2 = { + constants: {} }; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isArray.js -/** - * Tests whether or not an object is an array. - * - * @private - * @param {*} val The object to test. - * @return {Boolean} `true` if `val` is an array, `false` otherwise. - * @example - * - * _isArray([]); //=> true - * _isArray(null); //=> false - * _isArray({}); //=> false - */ -/* harmony default export */ const internal_isArray = (Array.isArray || function _isArray(val) { - return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; -}); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isTransformer.js -function _isTransformer_isTransformer(obj) { - return obj != null && typeof obj['@@transducer/step'] === 'function'; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_dispatchable.js - - -/** - * Returns a function that dispatches with different strategies based on the - * object in list position (last argument). If it is an array, executes [fn]. - * Otherwise, if it has a function with one of the given method names, it will - * execute that function (functor case). Otherwise, if it is a transformer, - * uses transducer created by [transducerCreator] to return a new transformer - * (transducer case). - * Otherwise, it will default to executing [fn]. - * - * @private - * @param {Array} methodNames properties to check for a custom implementation - * @param {Function} transducerCreator transducer factory if object is transformer - * @param {Function} fn default ramda implementation - * @return {Function} A function that dispatches on object in list position - */ - -function _dispatchable(methodNames, transducerCreator, fn) { - return function () { - if (arguments.length === 0) { - return fn(); - } - var obj = arguments[arguments.length - 1]; - if (!internal_isArray(obj)) { - var idx = 0; - while (idx < methodNames.length) { - if (typeof obj[methodNames[idx]] === 'function') { - return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1)); +var _http = http2, + _http$constants = _http.constants, + HTTP2_HEADER_AUTHORITY = _http$constants.HTTP2_HEADER_AUTHORITY, + HTTP2_HEADER_METHOD = _http$constants.HTTP2_HEADER_METHOD, + HTTP2_HEADER_PATH = _http$constants.HTTP2_HEADER_PATH, + HTTP2_HEADER_SCHEME = _http$constants.HTTP2_HEADER_SCHEME, + HTTP2_HEADER_CONTENT_LENGTH = _http$constants.HTTP2_HEADER_CONTENT_LENGTH, + HTTP2_HEADER_EXPECT = _http$constants.HTTP2_HEADER_EXPECT, + HTTP2_HEADER_STATUS = _http$constants.HTTP2_HEADER_STATUS; +function parseH2Headers(headers) { + var result = []; + for (var _i = 0, _Object$entries = Object.entries(headers); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + name = _Object$entries$_i[0], + value = _Object$entries$_i[1]; + // h2 may concat the header value by array + // e.g. Set-Cookie + if (Array.isArray(value)) { + var _iterator2 = _createForOfIteratorHelper(value), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var subvalue = _step2.value; + // we need to provide each header value of header name + // because the headers handler expect name-value pair + result.push(Buffer.from(name), Buffer.from(subvalue)); } - idx += 1; - } - if (_isTransformer_isTransformer(obj)) { - var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1)); - return transducer(obj); + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); } + } else { + result.push(Buffer.from(name), Buffer.from(value)); } - return fn.apply(this, arguments); - }; + } + return result; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_reduced.js -function _reduced_reduced(x) { - return x && x['@@transducer/reduced'] ? x : { - '@@transducer/value': x, - '@@transducer/reduced': true - }; +function connectH2(_x, _x2) { + return _connectH.apply(this, arguments); } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xfBase.js -/* harmony default export */ const _xfBase = ({ - init: function init() { - return this.xf['@@transducer/init'](); - }, - result: function result(_result) { - return this.xf['@@transducer/result'](_result); - } -}); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xall.js - - - -var XAll = /*#__PURE__*/ -function () { - function XAll(f, xf) { - this.xf = xf; - this.f = f; - this.all = true; - } - XAll.prototype['@@transducer/init'] = _xfBase.init; - XAll.prototype['@@transducer/result'] = function (result) { - if (this.all) { - result = this.xf['@@transducer/step'](result, true); - } - return this.xf['@@transducer/result'](result); - }; - XAll.prototype['@@transducer/step'] = function (result, input) { - if (!this.f(input)) { - this.all = false; - result = _reduced_reduced(this.xf['@@transducer/step'](result, false)); - } - return result; - }; - return XAll; -}(); -var _xall = /*#__PURE__*/ -_curry2_curry2(function _xall(f, xf) { - return new XAll(f, xf); -}); -/* harmony default export */ const internal_xall = (_xall); -;// CONCATENATED MODULE: ./node_modules/ramda/es/all.js - - - -/** - * Returns `true` if all elements of the list match the predicate, `false` if - * there are any that don't. - * - * Dispatches to the `all` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is satisfied by every element, `false` - * otherwise. - * @see R.any, R.none, R.transduce - * @example - * - * const equals3 = R.equals(3); - * R.all(equals3)([3, 3, 3, 3]); //=> true - * R.all(equals3)([3, 3, 1, 3]); //=> false - */ - -var all_all = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['all'], internal_xall, function all(fn, list) { - var idx = 0; - while (idx < list.length) { - if (!fn(list[idx])) { - return false; +function _connectH() { + _connectH = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(client, socket) { + var session, closed, _t, _t2, _t3, _t4, _t5; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + client[kSocket] = socket; + if (!h2ExperimentalWarned) { + h2ExperimentalWarned = true; + process.emitWarning('H2 support is experimental, expect them to change at any time.', { + code: 'UNDICI-H2' + }); + } + session = http2.connect(client[kUrl], { + createConnection: function createConnection() { + return socket; + }, + peerMaxConcurrentStreams: client[kMaxConcurrentStreams] + }); + session[kOpenStreams] = 0; + session[kClient] = client; + session[kSocket] = socket; + util.addListener(session, 'error', onHttp2SessionError); + util.addListener(session, 'frameError', onHttp2FrameError); + util.addListener(session, 'end', onHttp2SessionEnd); + util.addListener(session, 'goaway', onHTTP2GoAway); + util.addListener(session, 'close', function () { + var client = this[kClient]; + var socket = client[kSocket]; + var err = this[kSocket][kError] || this[kError] || new SocketError('closed', util.getSocketInfo(socket)); + client[kHTTP2Session] = null; + if (client.destroyed) { + assert(client[kPending] === 0); + + // Fail entire queue. + var requests = client[kQueue].splice(client[kRunningIdx]); + for (var i = 0; i < requests.length; i++) { + var request = requests[i]; + util.errorRequest(client, request, err); + } + } + }); + session.unref(); + client[kHTTP2Session] = session; + socket[kHTTP2Session] = session; + util.addListener(socket, 'error', function (err) { + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID'); + this[kError] = err; + this[kClient][kOnError](err); + }); + util.addListener(socket, 'end', function () { + util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this))); + }); + util.addListener(socket, 'close', function () { + var err = this[kError] || new SocketError('closed', util.getSocketInfo(this)); + client[kSocket] = null; + if (this[kHTTP2Session] != null) { + this[kHTTP2Session].destroy(err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit('disconnect', client[kUrl], [client], err); + client[kResume](); + }); + closed = false; + socket.on('close', function () { + closed = true; + }); + _t = Infinity; + _t2 = function write() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return writeH2.apply(void 0, [client].concat(args)); + }; + _t3 = function resume() { + resumeH2(client); + }; + _t4 = function destroy(err, callback) { + if (closed) { + queueMicrotask(callback); + } else { + // Destroying the socket will trigger the session close + socket.destroy(err).on('close', callback); + } + }; + _t5 = function busy() { + return false; + }; + return _context.a(2, { + version: 'h2', + defaultPipelining: _t, + write: _t2, + resume: _t3, + destroy: _t4, + get destroyed() { + return socket.destroyed; + }, + busy: _t5 + }); + } + }, _callee); + })); + return _connectH.apply(this, arguments); +} +function resumeH2(client) { + var socket = client[kSocket]; + if ((socket === null || socket === void 0 ? void 0 : socket.destroyed) === false) { + if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) { + socket.unref(); + client[kHTTP2Session].unref(); + } else { + socket.ref(); + client[kHTTP2Session].ref(); } - idx += 1; } - return true; -})); -/* harmony default export */ const es_all = ((/* unused pure expression or super */ null && (all_all))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_map.js -function _map_map(fn, functor) { - var idx = 0; - var len = functor.length; - var result = Array(len); - while (idx < len) { - result[idx] = fn(functor[idx]); - idx += 1; +} +function onHttp2SessionError(err) { + assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID'); + this[kSocket][kError] = err; + this[kClient][kOnError](err); +} +function onHttp2FrameError(type, code, id) { + if (id === 0) { + var err = new InformationalError("HTTP/2: \"frameError\" received - type ".concat(type, ", code ").concat(code)); + this[kSocket][kError] = err; + this[kClient][kOnError](err); } - return result; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isString.js -function _isString_isString(x) { - return Object.prototype.toString.call(x) === '[object String]'; +function onHttp2SessionEnd() { + var err = new SocketError('other side closed', util.getSocketInfo(this[kSocket])); + this.destroy(err); + util.destroy(this[kSocket], err); } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isArrayLike.js - - /** - * Tests whether or not an object is similar to an array. - * - * @private - * @category Type - * @category List - * @sig * -> Boolean - * @param {*} x The object to test. - * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise. - * @example - * - * _isArrayLike([]); //=> true - * _isArrayLike(true); //=> false - * _isArrayLike({}); //=> false - * _isArrayLike({length: 10}); //=> false - * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true - * _isArrayLike({nodeType: 1, length: 1}) // => false + * This is the root cause of #3011 + * We need to handle GOAWAY frames properly, and trigger the session close + * along with the socket right away */ - -var _isArrayLike_isArrayLike = /*#__PURE__*/ -_curry1_curry1(function isArrayLike(x) { - if (internal_isArray(x)) { - return true; +function onHTTP2GoAway(code) { + // We cannot recover, so best to close the session and the socket + var err = this[kError] || new SocketError("HTTP/2: \"GOAWAY\" frame received with code ".concat(code), util.getSocketInfo(this)); + var client = this[kClient]; + client[kSocket] = null; + client[kHTTPContext] = null; + if (this[kHTTP2Session] != null) { + this[kHTTP2Session].destroy(err); + this[kHTTP2Session] = null; } - if (!x) { - return false; + util.destroy(this[kSocket], err); + + // Fail head of pipeline. + if (client[kRunningIdx] < client[kQueue].length) { + var request = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + util.errorRequest(client, request, err); + client[kPendingIdx] = client[kRunningIdx]; } - if (typeof x !== 'object') { + assert(client[kRunning] === 0); + client.emit('disconnect', client[kUrl], [client], err); + client[kResume](); +} + +// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2 +function shouldSendContentLength(method) { + return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'; +} +function writeH2(client, request) { + var session = client[kHTTP2Session]; + var method = request.method, + path = request.path, + host = request.host, + upgrade = request.upgrade, + expectContinue = request.expectContinue, + signal = request.signal, + reqHeaders = request.headers; + var body = request.body; + if (upgrade) { + util.errorRequest(client, request, new Error('Upgrade not supported for H2')); return false; } - if (_isString_isString(x)) { - return false; + var headers = {}; + for (var n = 0; n < reqHeaders.length; n += 2) { + var key = reqHeaders[n + 0]; + var val = reqHeaders[n + 1]; + if (Array.isArray(val)) { + for (var i = 0; i < val.length; i++) { + if (headers[key]) { + headers[key] += ",".concat(val[i]); + } else { + headers[key] = val[i]; + } + } + } else { + headers[key] = val; + } } - if (x.length === 0) { - return true; + + /** @type {import('node:http2').ClientHttp2Stream} */ + var stream; + var _client$kUrl = client[kUrl], + hostname = _client$kUrl.hostname, + port = _client$kUrl.port; + headers[HTTP2_HEADER_AUTHORITY] = host || "".concat(hostname).concat(port ? ":".concat(port) : ''); + headers[HTTP2_HEADER_METHOD] = method; + var abort = function abort(err) { + if (request.aborted || request.completed) { + return; + } + err = err || new RequestAbortedError(); + util.errorRequest(client, request, err); + if (stream != null) { + util.destroy(stream, err); + } + + // We do not destroy the socket as we can continue using the session + // the stream get's destroyed and the session remains to create new streams + util.destroy(body, err); + client[kQueue][client[kRunningIdx]++] = null; + client[kResume](); + }; + try { + // We are already connected, streams are pending. + // We can call on connect, and wait for abort + request.onConnect(abort); + } catch (err) { + util.errorRequest(client, request, err); } - if (x.length > 0) { - return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); + if (request.aborted) { + return false; } - return false; -}); -/* harmony default export */ const internal_isArrayLike = (_isArrayLike_isArrayLike); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xwrap.js -var XWrap = /*#__PURE__*/ -function () { - function XWrap(fn) { - this.f = fn; - } - XWrap.prototype['@@transducer/init'] = function () { - throw new Error('init not implemented on XWrap'); - }; - XWrap.prototype['@@transducer/result'] = function (acc) { - return acc; - }; - XWrap.prototype['@@transducer/step'] = function (acc, x) { - return this.f(acc, x); - }; - return XWrap; -}(); -function _xwrap_xwrap(fn) { - return new XWrap(fn); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_arity.js -function _arity_arity(n, fn) { - /* eslint-disable no-unused-vars */ - switch (n) { - case 0: - return function () { - return fn.apply(this, arguments); - }; - case 1: - return function (a0) { - return fn.apply(this, arguments); - }; - case 2: - return function (a0, a1) { - return fn.apply(this, arguments); - }; - case 3: - return function (a0, a1, a2) { - return fn.apply(this, arguments); - }; - case 4: - return function (a0, a1, a2, a3) { - return fn.apply(this, arguments); - }; - case 5: - return function (a0, a1, a2, a3, a4) { - return fn.apply(this, arguments); - }; - case 6: - return function (a0, a1, a2, a3, a4, a5) { - return fn.apply(this, arguments); - }; - case 7: - return function (a0, a1, a2, a3, a4, a5, a6) { - return fn.apply(this, arguments); - }; - case 8: - return function (a0, a1, a2, a3, a4, a5, a6, a7) { - return fn.apply(this, arguments); - }; - case 9: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { - return fn.apply(this, arguments); - }; - case 10: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return fn.apply(this, arguments); - }; - default: - throw new Error('First argument to _arity must be a non-negative integer no greater than ten'); + if (method === 'CONNECT') { + session.ref(); + // We are already connected, streams are pending, first request + // will create a new stream. We trigger a request to create the stream and wait until + // `ready` event is triggered + // We disabled endStream to allow the user to write to the stream + stream = session.request(headers, { + endStream: false, + signal: signal + }); + if (stream.id && !stream.pending) { + request.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + } else { + stream.once('ready', function () { + request.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + }); + } + stream.once('close', function () { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) session.unref(); + }); + return true; } -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/bind.js + // https://tools.ietf.org/html/rfc7540#section-8.3 + // :path and :scheme headers must be omitted when sending CONNECT -/** - * Creates a function that is bound to a context. - * Note: `R.bind` does not provide the additional argument-binding capabilities of - * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). - * - * @func - * @memberOf R - * @since v0.6.0 - * @category Function - * @category Object - * @sig (* -> *) -> {*} -> (* -> *) - * @param {Function} fn The function to bind to context - * @param {Object} thisObj The context to bind `fn` to - * @return {Function} A function that will execute in the context of `thisObj`. - * @see R.partial - * @example - * - * const log = R.bind(console.log, console); - * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3} - * // logs {a: 2} - * @symb R.bind(f, o)(a, b) = f.call(o, a, b) - */ - -var bind = /*#__PURE__*/ -_curry2_curry2(function bind(fn, thisObj) { - return _arity_arity(fn.length, function () { - return fn.apply(thisObj, arguments); - }); -}); -/* harmony default export */ const es_bind = (bind); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_reduce.js + headers[HTTP2_HEADER_PATH] = path; + headers[HTTP2_HEADER_SCHEME] = 'https'; + // https://tools.ietf.org/html/rfc7231#section-4.3.1 + // https://tools.ietf.org/html/rfc7231#section-4.3.2 + // https://tools.ietf.org/html/rfc7231#section-4.3.5 + // Sending a payload body on a request that does not + // expect it can cause undefined behavior on some + // servers and corrupt connection state. Do not + // re-use the connection for further requests. -function _arrayReduce(xf, acc, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - acc = xf['@@transducer/step'](acc, list[idx]); - if (acc && acc['@@transducer/reduced']) { - acc = acc['@@transducer/value']; - break; - } - idx += 1; - } - return xf['@@transducer/result'](acc); -} -function _iterableReduce(xf, acc, iter) { - var step = iter.next(); - while (!step.done) { - acc = xf['@@transducer/step'](acc, step.value); - if (acc && acc['@@transducer/reduced']) { - acc = acc['@@transducer/value']; - break; - } - step = iter.next(); + var expectsPayload = method === 'PUT' || method === 'POST' || method === 'PATCH'; + if (body && typeof body.read === 'function') { + // Try to read EOF in order to get length. + body.read(0); } - return xf['@@transducer/result'](acc); -} -function _methodReduce(xf, acc, obj, methodName) { - return xf['@@transducer/result'](obj[methodName](es_bind(xf['@@transducer/step'], xf), acc)); -} -var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator'; -function _reduce_reduce(fn, acc, list) { - if (typeof fn === 'function') { - fn = _xwrap_xwrap(fn); + var contentLength = util.bodyLength(body); + if (util.isFormDataLike(body)) { + extractBody !== null && extractBody !== void 0 ? extractBody : extractBody = (__webpack_require__(3476).extractBody); + var _extractBody = extractBody(body), + _extractBody2 = _slicedToArray(_extractBody, 2), + bodyStream = _extractBody2[0], + contentType = _extractBody2[1]; + headers['content-type'] = contentType; + body = bodyStream.stream; + contentLength = bodyStream.length; } - if (internal_isArrayLike(list)) { - return _arrayReduce(fn, acc, list); + if (contentLength == null) { + contentLength = request.contentLength; } - if (typeof list['fantasy-land/reduce'] === 'function') { - return _methodReduce(fn, acc, list, 'fantasy-land/reduce'); - } - if (list[symIterator] != null) { - return _iterableReduce(fn, acc, list[symIterator]()); + if (contentLength === 0 || !expectsPayload) { + // https://tools.ietf.org/html/rfc7230#section-3.3.2 + // A user agent SHOULD NOT send a Content-Length header field when + // the request message does not contain a payload body and the method + // semantics do not anticipate such a body. + + contentLength = null; } - if (typeof list.next === 'function') { - return _iterableReduce(fn, acc, list); + + // https://github.com/nodejs/undici/issues/2046 + // A user agent may send a Content-Length header with 0 value, this should be allowed. + if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); } - if (typeof list.reduce === 'function') { - return _methodReduce(fn, acc, list, 'reduce'); + if (contentLength != null) { + assert(body, 'no body must not have content length'); + headers[HTTP2_HEADER_CONTENT_LENGTH] = "".concat(contentLength); } - throw new TypeError('reduce: list must be array or iterable'); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xmap.js - - -var XMap = /*#__PURE__*/ -function () { - function XMap(f, xf) { - this.xf = xf; - this.f = f; + session.ref(); + var shouldEndStream = method === 'GET' || method === 'HEAD' || body === null; + if (expectContinue) { + headers[HTTP2_HEADER_EXPECT] = '100-continue'; + stream = session.request(headers, { + endStream: shouldEndStream, + signal: signal + }); + stream.once('continue', writeBodyH2); + } else { + stream = session.request(headers, { + endStream: shouldEndStream, + signal: signal + }); + writeBodyH2(); } - XMap.prototype['@@transducer/init'] = _xfBase.init; - XMap.prototype['@@transducer/result'] = _xfBase.result; - XMap.prototype['@@transducer/step'] = function (result, input) { - return this.xf['@@transducer/step'](result, this.f(input)); - }; - return XMap; -}(); -var _xmap = /*#__PURE__*/ -_curry2_curry2(function _xmap(f, xf) { - return new XMap(f, xf); -}); -/* harmony default export */ const internal_xmap = (_xmap); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_curryN.js - -/** - * Internal curryN function. - * - * @private - * @category Function - * @param {Number} length The arity of the curried function. - * @param {Array} received An array of arguments received thus far. - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ - -function _curryN_curryN(length, received, fn) { - return function () { - var combined = []; - var argsIdx = 0; - var left = length; - var combinedIdx = 0; - while (combinedIdx < received.length || argsIdx < arguments.length) { - var result; - if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) { - result = received[combinedIdx]; - } else { - result = arguments[argsIdx]; - argsIdx += 1; - } - combined[combinedIdx] = result; - if (!_isPlaceholder(result)) { - left -= 1; + // Increment counter as we have new streams open + ++session[kOpenStreams]; + stream.once('response', function (headers) { + var statusCode = headers[HTTP2_HEADER_STATUS], + realHeaders = _objectWithoutProperties(headers, [HTTP2_HEADER_STATUS].map(_toPropertyKey)); + request.onResponseStarted(); + + // Due to the stream nature, it is possible we face a race condition + // where the stream has been assigned, but the request has been aborted + // the request remains in-flight and headers hasn't been received yet + // for those scenarios, best effort is to destroy the stream immediately + // as there's no value to keep it open. + if (request.aborted) { + var err = new RequestAbortedError(); + util.errorRequest(client, request, err); + util.destroy(stream, err); + return; + } + if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), '') === false) { + stream.pause(); + } + stream.on('data', function (chunk) { + if (request.onData(chunk) === false) { + stream.pause(); } - combinedIdx += 1; + }); + }); + stream.once('end', function () { + var _stream$state; + // When state is null, it means we haven't consumed body and the stream still do not have + // a state. + // Present specially when using pipeline or stream + if (((_stream$state = stream.state) === null || _stream$state === void 0 ? void 0 : _stream$state.state) == null || stream.state.state < 6) { + request.onComplete([]); } - return left <= 0 ? fn.apply(this, combined) : _arity_arity(left, _curryN_curryN(length, combined, fn)); - }; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/curryN.js - - - - -/** - * Returns a curried equivalent of the provided function, with the specified - * arity. The curried function has two unusual capabilities. First, its - * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the - * following are equivalent: - * - * - `g(1)(2)(3)` - * - `g(1)(2, 3)` - * - `g(1, 2)(3)` - * - `g(1, 2, 3)` - * - * Secondly, the special placeholder value [`R.__`](#__) may be used to specify - * "gaps", allowing partial application of any combination of arguments, - * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), - * the following are equivalent: - * - * - `g(1, 2, 3)` - * - `g(_, 2, 3)(1)` - * - `g(_, _, 3)(1)(2)` - * - `g(_, _, 3)(1, 2)` - * - `g(_, 2)(1)(3)` - * - `g(_, 2)(1, 3)` - * - `g(_, 2)(_, 3)(1)` - * - * @func - * @memberOf R - * @since v0.5.0 - * @category Function - * @sig Number -> (* -> a) -> (* -> a) - * @param {Number} length The arity for the returned function. - * @param {Function} fn The function to curry. - * @return {Function} A new, curried function. - * @see R.curry - * @example - * - * const sumArgs = (...args) => R.sum(args); - * - * const curriedAddFourNumbers = R.curryN(4, sumArgs); - * const f = curriedAddFourNumbers(1, 2); - * const g = f(3); - * g(4); //=> 10 - */ - -var curryN_curryN = /*#__PURE__*/ -_curry2_curry2(function curryN(length, fn) { - if (length === 1) { - return _curry1_curry1(fn); - } - return _arity_arity(length, _curryN_curryN(length, [], fn)); -}); -/* harmony default export */ const es_curryN = (curryN_curryN); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_has.js -function _has_has(prop, obj) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isArguments.js + if (session[kOpenStreams] === 0) { + // Stream is closed or half-closed-remote (6), decrement counter and cleanup + // It does not have sense to continue working with the stream as we do not + // have yet RST_STREAM support on client-side -var _isArguments_toString = Object.prototype.toString; -var _isArguments = /*#__PURE__*/ -function () { - return _isArguments_toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) { - return _isArguments_toString.call(x) === '[object Arguments]'; - } : function _isArguments(x) { - return _has_has('callee', x); - }; -}(); -/* harmony default export */ const internal_isArguments = (_isArguments); -;// CONCATENATED MODULE: ./node_modules/ramda/es/keys.js + session.unref(); + } + abort(new InformationalError('HTTP/2: stream half-closed (remote)')); + client[kQueue][client[kRunningIdx]++] = null; + client[kPendingIdx] = client[kRunningIdx]; + client[kResume](); + }); + stream.once('close', function () { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) { + session.unref(); + } + }); + stream.once('error', function (err) { + abort(err); + }); + stream.once('frameError', function (type, code) { + abort(new InformationalError("HTTP/2: \"frameError\" received - type ".concat(type, ", code ").concat(code))); + }); + // stream.on('aborted', () => { + // // TODO(HTTP/2): Support aborted + // }) - // cover IE < 9 keys issues + // stream.on('timeout', () => { + // // TODO(HTTP/2): Support timeout + // }) -var hasEnumBug = ! /*#__PURE__*/ -{ - toString: null -}.propertyIsEnumerable('toString'); -var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug + // stream.on('push', headers => { + // // TODO(HTTP/2): Support push + // }) -var hasArgsEnumBug = /*#__PURE__*/ -function () { - 'use strict'; + // stream.on('trailers', headers => { + // // TODO(HTTP/2): Support trailers + // }) - return arguments.propertyIsEnumerable('length'); -}(); -var contains = function contains(list, item) { - var idx = 0; - while (idx < list.length) { - if (list[idx] === item) { - return true; + return true; + function writeBodyH2() { + /* istanbul ignore else: assertion */ + if (!body || contentLength === 0) { + writeBuffer(abort, stream, null, client, request, client[kSocket], contentLength, expectsPayload); + } else if (util.isBuffer(body)) { + writeBuffer(abort, stream, body, client, request, client[kSocket], contentLength, expectsPayload); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === 'function') { + writeIterable(abort, stream, body.stream(), client, request, client[kSocket], contentLength, expectsPayload); + } else { + writeBlob(abort, stream, body, client, request, client[kSocket], contentLength, expectsPayload); + } + } else if (util.isStream(body)) { + writeStream(abort, client[kSocket], expectsPayload, stream, body, client, request, contentLength); + } else if (util.isIterable(body)) { + writeIterable(abort, stream, body, client, request, client[kSocket], contentLength, expectsPayload); + } else { + assert(false); } - idx += 1; - } - return false; -}; -/** - * Returns a list containing the names of all the enumerable own properties of - * the supplied object. - * Note that the order of the output array is not guaranteed to be consistent - * across different JS platforms. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig {k: v} -> [k] - * @param {Object} obj The object to extract properties from - * @return {Array} An array of the object's own properties. - * @see R.keysIn, R.values, R.toPairs - * @example - * - * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c'] - */ - -var keys_keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/ -_curry1_curry1(function keys(obj) { - return Object(obj) !== obj ? [] : Object.keys(obj); -}) : /*#__PURE__*/ -_curry1_curry1(function keys(obj) { - if (Object(obj) !== obj) { - return []; } - var prop, nIdx; - var ks = []; - var checkArgsLength = hasArgsEnumBug && internal_isArguments(obj); - for (prop in obj) { - if (_has_has(prop, obj) && (!checkArgsLength || prop !== 'length')) { - ks[ks.length] = prop; +} +function writeBuffer(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) { + try { + if (body != null && util.isBuffer(body)) { + assert(contentLength === body.byteLength, 'buffer body must have content length'); + h2stream.cork(); + h2stream.write(body); + h2stream.uncork(); + h2stream.end(); + request.onBodySent(body); + } + if (!expectsPayload) { + socket[kReset] = true; } + request.onRequestSent(); + client[kResume](); + } catch (error) { + abort(error); } - if (hasEnumBug) { - nIdx = nonEnumerableProps.length - 1; - while (nIdx >= 0) { - prop = nonEnumerableProps[nIdx]; - if (_has_has(prop, obj) && !contains(ks, prop)) { - ks[ks.length] = prop; +} +function writeStream(abort, socket, expectsPayload, h2stream, body, client, request, contentLength) { + assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined'); + + // For HTTP/2, is enough to pipe the stream + var pipe = pipeline(body, h2stream, function (err) { + if (err) { + util.destroy(pipe, err); + abort(err); + } else { + util.removeAllListeners(pipe); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; } - nIdx -= 1; + client[kResume](); } + }); + util.addListener(pipe, 'data', onPipeData); + function onPipeData(chunk) { + request.onBodySent(chunk); } - return ks; -}); -/* harmony default export */ const es_keys = (keys_keys); -;// CONCATENATED MODULE: ./node_modules/ramda/es/map.js - - - - - - - -/** - * Takes a function and - * a [functor](https://github.com/fantasyland/fantasy-land#functor), - * applies the function to each of the functor's values, and returns - * a functor of the same shape. - * - * Ramda provides suitable `map` implementations for `Array` and `Object`, - * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`. - * - * Dispatches to the `map` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * Also treats functions as functors and will compose them together. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Functor f => (a -> b) -> f a -> f b - * @param {Function} fn The function to be called on every element of the input `list`. - * @param {Array} list The list to be iterated over. - * @return {Array} The new list. - * @see R.transduce, R.addIndex, R.pluck, R.project - * @example - * - * const double = x => x * 2; - * - * R.map(double, [1, 2, 3]); //=> [2, 4, 6] - * - * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6} - * @symb R.map(f, [a, b]) = [f(a), f(b)] - * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) } - * @symb R.map(f, functor_o) = functor_o.map(f) - */ - -var map_map = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['fantasy-land/map', 'map'], internal_xmap, function map(fn, functor) { - switch (Object.prototype.toString.call(functor)) { - case '[object Function]': - return es_curryN(functor.length, function () { - return fn.call(this, functor.apply(this, arguments)); - }); - case '[object Object]': - return _reduce_reduce(function (acc, key) { - acc[key] = fn(functor[key]); - return acc; - }, {}, es_keys(functor)); - default: - return _map_map(fn, functor); - } -})); -/* harmony default export */ const es_map = (map_map); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isInteger.js -/** - * Determine if the passed argument is an integer. - * - * @private - * @param {*} n - * @category Type - * @return {Boolean} - */ -/* harmony default export */ const internal_isInteger = (Number.isInteger || function _isInteger(n) { - return n << 0 === n; -}); -;// CONCATENATED MODULE: ./node_modules/ramda/es/nth.js - - -/** - * Returns the nth element of the given list or string. If n is negative the - * element at index length + n is returned. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> a | Undefined - * @sig Number -> String -> String - * @param {Number} offset - * @param {*} list - * @return {*} - * @example - * - * const list = ['foo', 'bar', 'baz', 'quux']; - * R.nth(1, list); //=> 'bar' - * R.nth(-1, list); //=> 'quux' - * R.nth(-99, list); //=> undefined - * - * R.nth(2, 'abc'); //=> 'c' - * R.nth(3, 'abc'); //=> '' - * @symb R.nth(-1, [a, b, c]) = c - * @symb R.nth(0, [a, b, c]) = a - * @symb R.nth(1, [a, b, c]) = b - */ +} +function writeBlob(_x3, _x4, _x5, _x6, _x7, _x8, _x9, _x0) { + return _writeBlob.apply(this, arguments); +} +function _writeBlob() { + _writeBlob = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) { + var buffer, _t6, _t7; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.p = _context2.n) { + case 0: + assert(contentLength === body.size, 'blob body must have content length'); + _context2.p = 1; + if (!(contentLength != null && contentLength !== body.size)) { + _context2.n = 2; + break; + } + throw new RequestContentLengthMismatchError(); + case 2: + _t6 = Buffer; + _context2.n = 3; + return body.arrayBuffer(); + case 3: + buffer = _t6.from.call(_t6, _context2.v); + h2stream.cork(); + h2stream.write(buffer); + h2stream.uncork(); + h2stream.end(); + request.onBodySent(buffer); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + _context2.n = 5; + break; + case 4: + _context2.p = 4; + _t7 = _context2.v; + abort(_t7); + case 5: + return _context2.a(2); + } + }, _callee2, null, [[1, 4]]); + })); + return _writeBlob.apply(this, arguments); +} +function writeIterable(_x1, _x10, _x11, _x12, _x13, _x14, _x15, _x16) { + return _writeIterable.apply(this, arguments); +} +function _writeIterable() { + _writeIterable = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) { + var callback, onDrain, waitForDrain, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, res, _t8, _t9; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.p = _context3.n) { + case 0: + onDrain = function _onDrain() { + if (callback) { + var cb = callback; + callback = null; + cb(); + } + }; + assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined'); + callback = null; + waitForDrain = function waitForDrain() { + return new Promise(function (resolve, reject) { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + }; + h2stream.on('close', onDrain).on('drain', onDrain); + _context3.p = 1; + // It's up to the user to somehow abort the async iterable. + _iteratorAbruptCompletion = false; + _didIteratorError = false; + _context3.p = 2; + _iterator = _asyncIterator(body); + case 3: + _context3.n = 4; + return _iterator.next(); + case 4: + if (!(_iteratorAbruptCompletion = !(_step = _context3.v).done)) { + _context3.n = 7; + break; + } + chunk = _step.value; + if (!socket[kError]) { + _context3.n = 5; + break; + } + throw socket[kError]; + case 5: + res = h2stream.write(chunk); + request.onBodySent(chunk); + if (res) { + _context3.n = 6; + break; + } + _context3.n = 6; + return waitForDrain(); + case 6: + _iteratorAbruptCompletion = false; + _context3.n = 3; + break; + case 7: + _context3.n = 9; + break; + case 8: + _context3.p = 8; + _t8 = _context3.v; + _didIteratorError = true; + _iteratorError = _t8; + case 9: + _context3.p = 9; + _context3.p = 10; + if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { + _context3.n = 11; + break; + } + _context3.n = 11; + return _iterator["return"](); + case 11: + _context3.p = 11; + if (!_didIteratorError) { + _context3.n = 12; + break; + } + throw _iteratorError; + case 12: + return _context3.f(11); + case 13: + return _context3.f(9); + case 14: + h2stream.end(); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + _context3.n = 16; + break; + case 15: + _context3.p = 15; + _t9 = _context3.v; + abort(_t9); + case 16: + _context3.p = 16; + h2stream.off('close', onDrain).off('drain', onDrain); + return _context3.f(16); + case 17: + return _context3.a(2); + } + }, _callee3, null, [[10,, 11, 13], [2, 8, 9, 14], [1, 15, 16, 17]]); + })); + return _writeIterable.apply(this, arguments); +} +module.exports = connectH2; -var nth_nth = /*#__PURE__*/ -_curry2_curry2(function nth(offset, list) { - var idx = offset < 0 ? list.length + offset : offset; - return _isString_isString(list) ? list.charAt(idx) : list[idx]; -}); -/* harmony default export */ const es_nth = (nth_nth); -;// CONCATENATED MODULE: ./node_modules/ramda/es/prop.js +/***/ }, +/***/ 9085 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +// @ts-check + + + +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var assert = __webpack_require__(4589); +var net = __webpack_require__(7030); +var http = __webpack_require__(7067); +var util = __webpack_require__(6632); +var _require = __webpack_require__(662), + channels = _require.channels; +var Request = __webpack_require__(5591); +var DispatcherBase = __webpack_require__(7545); +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError, + InformationalError = _require2.InformationalError, + ClientDestroyedError = _require2.ClientDestroyedError; +var buildConnector = __webpack_require__(200); +var _require3 = __webpack_require__(6771), + kUrl = _require3.kUrl, + kServerName = _require3.kServerName, + kClient = _require3.kClient, + kBusy = _require3.kBusy, + kConnect = _require3.kConnect, + kResuming = _require3.kResuming, + kRunning = _require3.kRunning, + kPending = _require3.kPending, + kSize = _require3.kSize, + kQueue = _require3.kQueue, + kConnected = _require3.kConnected, + kConnecting = _require3.kConnecting, + kNeedDrain = _require3.kNeedDrain, + kKeepAliveDefaultTimeout = _require3.kKeepAliveDefaultTimeout, + kHostHeader = _require3.kHostHeader, + kPendingIdx = _require3.kPendingIdx, + kRunningIdx = _require3.kRunningIdx, + kError = _require3.kError, + kPipelining = _require3.kPipelining, + kKeepAliveTimeoutValue = _require3.kKeepAliveTimeoutValue, + kMaxHeadersSize = _require3.kMaxHeadersSize, + kKeepAliveMaxTimeout = _require3.kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold = _require3.kKeepAliveTimeoutThreshold, + kHeadersTimeout = _require3.kHeadersTimeout, + kBodyTimeout = _require3.kBodyTimeout, + kStrictContentLength = _require3.kStrictContentLength, + kConnector = _require3.kConnector, + kMaxRedirections = _require3.kMaxRedirections, + kMaxRequests = _require3.kMaxRequests, + kCounter = _require3.kCounter, + kClose = _require3.kClose, + kDestroy = _require3.kDestroy, + kDispatch = _require3.kDispatch, + kInterceptors = _require3.kInterceptors, + kLocalAddress = _require3.kLocalAddress, + kMaxResponseSize = _require3.kMaxResponseSize, + kOnError = _require3.kOnError, + kHTTPContext = _require3.kHTTPContext, + kMaxConcurrentStreams = _require3.kMaxConcurrentStreams, + kResume = _require3.kResume; +var connectH1 = __webpack_require__(9701); +var connectH2 = __webpack_require__(2748); +var deprecatedInterceptorWarned = false; +var kClosedResolve = Symbol('kClosedResolve'); +var noop = function noop() {}; +function getPipelining(client) { + var _ref, _client$kPipelining, _client$kHTTPContext; + return (_ref = (_client$kPipelining = client[kPipelining]) !== null && _client$kPipelining !== void 0 ? _client$kPipelining : (_client$kHTTPContext = client[kHTTPContext]) === null || _client$kHTTPContext === void 0 ? void 0 : _client$kHTTPContext.defaultPipelining) !== null && _ref !== void 0 ? _ref : 1; +} /** - * Returns a function that when supplied an object returns the indicated - * property of that object, if it exists. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @typedefn Idx = String | Int | Symbol - * @sig Idx -> {s: a} -> a | Undefined - * @param {String|Number} p The property name or array index - * @param {Object} obj The object to query - * @return {*} The value at `obj.p`. - * @see R.path, R.props, R.pluck, R.project, R.nth - * @example - * - * R.prop('x', {x: 100}); //=> 100 - * R.prop('x', {}); //=> undefined - * R.prop(0, [100]); //=> 100 - * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4 + * @type {import('../../types/client.js').default} */ +var Client = /*#__PURE__*/function (_DispatcherBase) { + /** + * + * @param {string|URL} url + * @param {import('../../types/client.js').Client.Options} options + */ + function Client(url) { + var _this; + var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + interceptors = _ref2.interceptors, + maxHeaderSize = _ref2.maxHeaderSize, + headersTimeout = _ref2.headersTimeout, + socketTimeout = _ref2.socketTimeout, + requestTimeout = _ref2.requestTimeout, + connectTimeout = _ref2.connectTimeout, + bodyTimeout = _ref2.bodyTimeout, + idleTimeout = _ref2.idleTimeout, + keepAlive = _ref2.keepAlive, + keepAliveTimeout = _ref2.keepAliveTimeout, + maxKeepAliveTimeout = _ref2.maxKeepAliveTimeout, + keepAliveMaxTimeout = _ref2.keepAliveMaxTimeout, + keepAliveTimeoutThreshold = _ref2.keepAliveTimeoutThreshold, + socketPath = _ref2.socketPath, + pipelining = _ref2.pipelining, + tls = _ref2.tls, + strictContentLength = _ref2.strictContentLength, + maxCachedSessions = _ref2.maxCachedSessions, + maxRedirections = _ref2.maxRedirections, + connect = _ref2.connect, + maxRequestsPerClient = _ref2.maxRequestsPerClient, + localAddress = _ref2.localAddress, + maxResponseSize = _ref2.maxResponseSize, + autoSelectFamily = _ref2.autoSelectFamily, + autoSelectFamilyAttemptTimeout = _ref2.autoSelectFamilyAttemptTimeout, + maxConcurrentStreams = _ref2.maxConcurrentStreams, + allowH2 = _ref2.allowH2; + _classCallCheck(this, Client); + _this = _callSuper(this, Client); + if (keepAlive !== undefined) { + throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead'); + } + if (socketTimeout !== undefined) { + throw new InvalidArgumentError('unsupported socketTimeout, use headersTimeout & bodyTimeout instead'); + } + if (requestTimeout !== undefined) { + throw new InvalidArgumentError('unsupported requestTimeout, use headersTimeout & bodyTimeout instead'); + } + if (idleTimeout !== undefined) { + throw new InvalidArgumentError('unsupported idleTimeout, use keepAliveTimeout instead'); + } + if (maxKeepAliveTimeout !== undefined) { + throw new InvalidArgumentError('unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead'); + } + if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { + throw new InvalidArgumentError('invalid maxHeaderSize'); + } + if (socketPath != null && typeof socketPath !== 'string') { + throw new InvalidArgumentError('invalid socketPath'); + } + if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { + throw new InvalidArgumentError('invalid connectTimeout'); + } + if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { + throw new InvalidArgumentError('invalid keepAliveTimeout'); + } + if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { + throw new InvalidArgumentError('invalid keepAliveMaxTimeout'); + } + if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { + throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold'); + } + if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError('headersTimeout must be a positive integer or zero'); + } + if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError('bodyTimeout must be a positive integer or zero'); + } + if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') { + throw new InvalidArgumentError('connect must be a function or an object'); + } + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError('maxRedirections must be a positive number'); + } + if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { + throw new InvalidArgumentError('maxRequestsPerClient must be a positive number'); + } + if (localAddress != null && (typeof localAddress !== 'string' || net.isIP(localAddress) === 0)) { + throw new InvalidArgumentError('localAddress must be valid string IP address'); + } + if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { + throw new InvalidArgumentError('maxResponseSize must be a positive number'); + } + if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { + throw new InvalidArgumentError('autoSelectFamilyAttemptTimeout must be a positive number'); + } -var prop_prop = /*#__PURE__*/ -_curry2_curry2(function prop(p, obj) { - if (obj == null) { - return; + // h2 + if (allowH2 != null && typeof allowH2 !== 'boolean') { + throw new InvalidArgumentError('allowH2 must be a valid boolean value'); + } + if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1)) { + throw new InvalidArgumentError('maxConcurrentStreams must be a positive integer, greater than 0'); + } + if (typeof connect !== 'function') { + connect = buildConnector(_objectSpread(_objectSpread(_objectSpread({}, tls), {}, { + maxCachedSessions: maxCachedSessions, + allowH2: allowH2, + socketPath: socketPath, + timeout: connectTimeout + }, autoSelectFamily ? { + autoSelectFamily: autoSelectFamily, + autoSelectFamilyAttemptTimeout: autoSelectFamilyAttemptTimeout + } : undefined), connect)); + } + if (interceptors !== null && interceptors !== void 0 && interceptors.Client && Array.isArray(interceptors.Client)) { + _this[kInterceptors] = interceptors.Client; + if (!deprecatedInterceptorWarned) { + deprecatedInterceptorWarned = true; + process.emitWarning('Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.', { + code: 'UNDICI-CLIENT-INTERCEPTOR-DEPRECATED' + }); + } + } else { + _this[kInterceptors] = [createRedirectInterceptor({ + maxRedirections: maxRedirections + })]; + } + _this[kUrl] = util.parseOrigin(url); + _this[kConnector] = connect; + _this[kPipelining] = pipelining != null ? pipelining : 1; + _this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; + _this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; + _this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout; + _this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold; + _this[kKeepAliveTimeoutValue] = _this[kKeepAliveDefaultTimeout]; + _this[kServerName] = null; + _this[kLocalAddress] = localAddress != null ? localAddress : null; + _this[kResuming] = 0; // 0, idle, 1, scheduled, 2 resuming + _this[kNeedDrain] = 0; // 0, idle, 1, scheduled, 2 resuming + _this[kHostHeader] = "host: ".concat(_this[kUrl].hostname).concat(_this[kUrl].port ? ":".concat(_this[kUrl].port) : '', "\r\n"); + _this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300e3; + _this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300e3; + _this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; + _this[kMaxRedirections] = maxRedirections; + _this[kMaxRequests] = maxRequestsPerClient; + _this[kClosedResolve] = null; + _this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; + _this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100; // Max peerConcurrentStreams for a Node h2 server + _this[kHTTPContext] = null; + + // kQueue is built up of 3 sections separated by + // the kRunningIdx and kPendingIdx indices. + // | complete | running | pending | + // ^ kRunningIdx ^ kPendingIdx ^ kQueue.length + // kRunningIdx points to the first running element. + // kPendingIdx points to the first pending element. + // This implements a fast queue with an amortized + // time of O(1). + + _this[kQueue] = []; + _this[kRunningIdx] = 0; + _this[kPendingIdx] = 0; + _this[kResume] = function (sync) { + return resume(_this, sync); + }; + _this[kOnError] = function (err) { + return onError(_this, err); + }; + return _this; } - return internal_isInteger(p) ? es_nth(p, obj) : obj[p]; -}); -/* harmony default export */ const es_prop = (prop_prop); -;// CONCATENATED MODULE: ./node_modules/ramda/es/pluck.js - - + _inherits(Client, _DispatcherBase); + return _createClass(Client, [{ + key: "pipelining", + get: function get() { + return this[kPipelining]; + }, + set: function set(value) { + this[kPipelining] = value; + this[kResume](true); + } + }, { + key: kPending, + get: function get() { + return this[kQueue].length - this[kPendingIdx]; + } + }, { + key: kRunning, + get: function get() { + return this[kPendingIdx] - this[kRunningIdx]; + } + }, { + key: kSize, + get: function get() { + return this[kQueue].length - this[kRunningIdx]; + } + }, { + key: kConnected, + get: function get() { + return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed; + } + }, { + key: kBusy, + get: function get() { + var _this$kHTTPContext; + return Boolean(((_this$kHTTPContext = this[kHTTPContext]) === null || _this$kHTTPContext === void 0 ? void 0 : _this$kHTTPContext.busy(null)) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0); + } -/** - * Returns a new list by plucking the same named property off all objects in - * the list supplied. - * - * `pluck` will work on - * any [functor](https://github.com/fantasyland/fantasy-land#functor) in - * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Functor f => k -> f {k: v} -> f v - * @param {Number|String} key The key name to pluck off of each object. - * @param {Array} f The array or functor to consider. - * @return {Array} The list of values for the given key. - * @see R.project, R.prop, R.props - * @example - * - * var getAges = R.pluck('age'); - * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27] - * - * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3] - * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5} - * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5] - * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5] - */ - -var pluck_pluck = /*#__PURE__*/ -_curry2_curry2(function pluck(p, list) { - return es_map(es_prop(p), list); -}); -/* harmony default export */ const es_pluck = (pluck_pluck); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_curry3.js - - - -/** - * Optimized internal three-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ - -function _curry3_curry3(fn) { - return function f3(a, b, c) { - switch (arguments.length) { - case 0: - return f3; - case 1: - return _isPlaceholder(a) ? f3 : _curry2_curry2(function (_b, _c) { - return fn(a, _b, _c); - }); - case 2: - return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2_curry2(function (_a, _c) { - return fn(_a, b, _c); - }) : _isPlaceholder(b) ? _curry2_curry2(function (_b, _c) { - return fn(a, _b, _c); - }) : _curry1_curry1(function (_c) { - return fn(a, b, _c); + /* istanbul ignore: only used for test */ + }, { + key: kConnect, + value: function value(cb) { + connect(this); + this.once('connect', cb); + } + }, { + key: kDispatch, + value: function value(opts, handler) { + var _this2 = this; + var origin = opts.origin || this[kUrl].origin; + var request = new Request(origin, opts, handler); + this[kQueue].push(request); + if (this[kResuming]) { + // Do nothing. + } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) { + // Wait a tick in case stream/iterator is ended in the same tick. + this[kResuming] = 1; + queueMicrotask(function () { + return resume(_this2); }); - default: - return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2_curry2(function (_a, _b) { - return fn(_a, _b, c); - }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2_curry2(function (_a, _c) { - return fn(_a, b, _c); - }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2_curry2(function (_b, _c) { - return fn(a, _b, _c); - }) : _isPlaceholder(a) ? _curry1_curry1(function (_a) { - return fn(_a, b, c); - }) : _isPlaceholder(b) ? _curry1_curry1(function (_b) { - return fn(a, _b, c); - }) : _isPlaceholder(c) ? _curry1_curry1(function (_c) { - return fn(a, b, _c); - }) : fn(a, b, c); + } else { + this[kResume](true); + } + if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { + this[kNeedDrain] = 2; + } + return this[kNeedDrain] < 2; } - }; + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var _this3 = this; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + return _context.a(2, new Promise(function (resolve) { + if (_this3[kSize]) { + _this3[kClosedResolve] = resolve; + } else { + resolve(null); + } + })); + } + }, _callee); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }, { + key: kDestroy, + value: function () { + var _value2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(err) { + var _this4 = this; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + return _context2.a(2, new Promise(function (resolve) { + var requests = _this4[kQueue].splice(_this4[kPendingIdx]); + for (var i = 0; i < requests.length; i++) { + var request = requests[i]; + util.errorRequest(_this4, request, err); + } + var callback = function callback() { + if (_this4[kClosedResolve]) { + // TODO (fix): Should we error here with ClientDestroyedError? + _this4[kClosedResolve](); + _this4[kClosedResolve] = null; + } + resolve(null); + }; + if (_this4[kHTTPContext]) { + _this4[kHTTPContext].destroy(err, callback); + _this4[kHTTPContext] = null; + } else { + queueMicrotask(callback); + } + _this4[kResume](); + })); + } + }, _callee2); + })); + function value(_x) { + return _value2.apply(this, arguments); + } + return value; + }() + }]); +}(DispatcherBase); +var createRedirectInterceptor = __webpack_require__(844); +function onError(client, err) { + if (client[kRunning] === 0 && err.code !== 'UND_ERR_INFO' && err.code !== 'UND_ERR_SOCKET') { + // Error is not caused by running request and not a recoverable + // socket error. + + assert(client[kPendingIdx] === client[kRunningIdx]); + var requests = client[kQueue].splice(client[kRunningIdx]); + for (var i = 0; i < requests.length; i++) { + var request = requests[i]; + util.errorRequest(client, request, err); + } + assert(client[kSize] === 0); + } } -;// CONCATENATED MODULE: ./node_modules/ramda/es/reduce.js - /** - * Returns a single item by iterating through the list, successively calling - * the iterator function and passing it an accumulator value and the current - * value from the array, and then passing the result to the next call. - * - * The iterator function receives two values: *(acc, value)*. It may use - * [`R.reduced`](#reduced) to shortcut the iteration. - * - * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function - * is *(value, acc)*. - * - * Note: `R.reduce` does not skip deleted or unassigned indices (sparse - * arrays), unlike the native `Array.prototype.reduce` method. For more details - * on this behavior, see: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description - * - * Dispatches to the `reduce` method of the third argument, if present. When - * doing so, it is up to the user to handle the [`R.reduced`](#reduced) - * shortcuting, as this is not implemented by `reduce`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, b) -> a) -> a -> [b] -> a - * @param {Function} fn The iterator function. Receives two values, the accumulator and the - * current element from the array. - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduced, R.addIndex, R.reduceRight - * @example - * - * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10 - * // - -10 - * // / \ / \ - * // - 4 -6 4 - * // / \ / \ - * // - 3 ==> -3 3 - * // / \ / \ - * // - 2 -1 2 - * // / \ / \ - * // 0 1 0 1 - * - * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d) + * @param {Client} client + * @returns */ +function connect(_x2) { + return _connect.apply(this, arguments); +} +function _connect() { + _connect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(client) { + var _client$kUrl, host, hostname, protocol, port, idx, ip, _client$kHTTPContext3, socket, _client$kHTTPContext4, _client$kHTTPContext5, request, _t, _t2, _t3; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.p = _context3.n) { + case 0: + assert(!client[kConnecting]); + assert(!client[kHTTPContext]); + _client$kUrl = client[kUrl], host = _client$kUrl.host, hostname = _client$kUrl.hostname, protocol = _client$kUrl.protocol, port = _client$kUrl.port; // Resolve ipv6 + if (hostname[0] === '[') { + idx = hostname.indexOf(']'); + assert(idx !== -1); + ip = hostname.substring(1, idx); + assert(net.isIP(ip)); + hostname = ip; + } + client[kConnecting] = true; + if (channels.beforeConnect.hasSubscribers) { + channels.beforeConnect.publish({ + connectParams: { + host: host, + hostname: hostname, + protocol: protocol, + port: port, + version: (_client$kHTTPContext3 = client[kHTTPContext]) === null || _client$kHTTPContext3 === void 0 ? void 0 : _client$kHTTPContext3.version, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector] + }); + } + _context3.p = 1; + _context3.n = 2; + return new Promise(function (resolve, reject) { + client[kConnector]({ + host: host, + hostname: hostname, + protocol: protocol, + port: port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, function (err, socket) { + if (err) { + reject(err); + } else { + resolve(socket); + } + }); + }); + case 2: + socket = _context3.v; + if (!client.destroyed) { + _context3.n = 3; + break; + } + util.destroy(socket.on('error', noop), new ClientDestroyedError()); + return _context3.a(2); + case 3: + assert(socket); + _context3.p = 4; + if (!(socket.alpnProtocol === 'h2')) { + _context3.n = 6; + break; + } + _context3.n = 5; + return connectH2(client, socket); + case 5: + _t = _context3.v; + _context3.n = 8; + break; + case 6: + _context3.n = 7; + return connectH1(client, socket); + case 7: + _t = _context3.v; + case 8: + client[kHTTPContext] = _t; + _context3.n = 10; + break; + case 9: + _context3.p = 9; + _t2 = _context3.v; + socket.destroy().on('error', noop); + throw _t2; + case 10: + client[kConnecting] = false; + socket[kCounter] = 0; + socket[kMaxRequests] = client[kMaxRequests]; + socket[kClient] = client; + socket[kError] = null; + if (channels.connected.hasSubscribers) { + channels.connected.publish({ + connectParams: { + host: host, + hostname: hostname, + protocol: protocol, + port: port, + version: (_client$kHTTPContext4 = client[kHTTPContext]) === null || _client$kHTTPContext4 === void 0 ? void 0 : _client$kHTTPContext4.version, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + socket: socket + }); + } + client.emit('connect', client[kUrl], [client]); + _context3.n = 13; + break; + case 11: + _context3.p = 11; + _t3 = _context3.v; + if (!client.destroyed) { + _context3.n = 12; + break; + } + return _context3.a(2); + case 12: + client[kConnecting] = false; + if (channels.connectError.hasSubscribers) { + channels.connectError.publish({ + connectParams: { + host: host, + hostname: hostname, + protocol: protocol, + port: port, + version: (_client$kHTTPContext5 = client[kHTTPContext]) === null || _client$kHTTPContext5 === void 0 ? void 0 : _client$kHTTPContext5.version, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, + connector: client[kConnector], + error: _t3 + }); + } + if (_t3.code === 'ERR_TLS_CERT_ALTNAME_INVALID') { + assert(client[kRunning] === 0); + while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { + request = client[kQueue][client[kPendingIdx]++]; + util.errorRequest(client, request, _t3); + } + } else { + onError(client, _t3); + } + client.emit('connectionError', client[kUrl], [client], _t3); + case 13: + client[kResume](); + case 14: + return _context3.a(2); + } + }, _callee3, null, [[4, 9], [1, 11]]); + })); + return _connect.apply(this, arguments); +} +function emitDrain(client) { + client[kNeedDrain] = 0; + client.emit('drain', client[kUrl], [client]); +} +function resume(client, sync) { + if (client[kResuming] === 2) { + return; + } + client[kResuming] = 2; + _resume(client, sync); + client[kResuming] = 0; + if (client[kRunningIdx] > 256) { + client[kQueue].splice(0, client[kRunningIdx]); + client[kPendingIdx] -= client[kRunningIdx]; + client[kRunningIdx] = 0; + } +} +function _resume(client, sync) { + while (true) { + if (client.destroyed) { + assert(client[kPending] === 0); + return; + } + if (client[kClosedResolve] && !client[kSize]) { + client[kClosedResolve](); + client[kClosedResolve] = null; + return; + } + if (client[kHTTPContext]) { + client[kHTTPContext].resume(); + } + if (client[kBusy]) { + client[kNeedDrain] = 2; + } else if (client[kNeedDrain] === 2) { + if (sync) { + client[kNeedDrain] = 1; + queueMicrotask(function () { + return emitDrain(client); + }); + } else { + emitDrain(client); + } + continue; + } + if (client[kPending] === 0) { + return; + } + if (client[kRunning] >= (getPipelining(client) || 1)) { + return; + } + var request = client[kQueue][client[kPendingIdx]]; + if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) { + var _client$kHTTPContext2; + if (client[kRunning] > 0) { + return; + } + client[kServerName] = request.servername; + (_client$kHTTPContext2 = client[kHTTPContext]) === null || _client$kHTTPContext2 === void 0 || _client$kHTTPContext2.destroy(new InformationalError('servername changed'), function () { + client[kHTTPContext] = null; + resume(client); + }); + } + if (client[kConnecting]) { + return; + } + if (!client[kHTTPContext]) { + connect(client); + return; + } + if (client[kHTTPContext].destroyed) { + return; + } + if (client[kHTTPContext].busy(request)) { + return; + } + if (!request.aborted && client[kHTTPContext].write(request)) { + client[kPendingIdx]++; + } else { + client[kQueue].splice(client[kPendingIdx], 1); + } + } +} +module.exports = Client; -var reduce_reduce = /*#__PURE__*/ -_curry3_curry3(_reduce_reduce); -/* harmony default export */ const es_reduce = (reduce_reduce); -;// CONCATENATED MODULE: ./node_modules/ramda/es/allPass.js +/***/ }, +/***/ 7545 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var Dispatcher = __webpack_require__(747); +var _require = __webpack_require__(3515), + ClientDestroyedError = _require.ClientDestroyedError, + ClientClosedError = _require.ClientClosedError, + InvalidArgumentError = _require.InvalidArgumentError; +var _require2 = __webpack_require__(6771), + kDestroy = _require2.kDestroy, + kClose = _require2.kClose, + kClosed = _require2.kClosed, + kDestroyed = _require2.kDestroyed, + kDispatch = _require2.kDispatch, + kInterceptors = _require2.kInterceptors; +var kOnDestroyed = Symbol('onDestroyed'); +var kOnClosed = Symbol('onClosed'); +var kInterceptedDispatch = Symbol('Intercepted Dispatch'); +var DispatcherBase = /*#__PURE__*/function (_Dispatcher) { + function DispatcherBase() { + var _this; + _classCallCheck(this, DispatcherBase); + _this = _callSuper(this, DispatcherBase); + _this[kDestroyed] = false; + _this[kOnDestroyed] = null; + _this[kClosed] = false; + _this[kOnClosed] = []; + return _this; + } + _inherits(DispatcherBase, _Dispatcher); + return _createClass(DispatcherBase, [{ + key: "destroyed", + get: function get() { + return this[kDestroyed]; + } + }, { + key: "closed", + get: function get() { + return this[kClosed]; + } + }, { + key: "interceptors", + get: function get() { + return this[kInterceptors]; + }, + set: function set(newInterceptors) { + if (newInterceptors) { + for (var i = newInterceptors.length - 1; i >= 0; i--) { + var interceptor = this[kInterceptors][i]; + if (typeof interceptor !== 'function') { + throw new InvalidArgumentError('interceptor must be an function'); + } + } + } + this[kInterceptors] = newInterceptors; + } + }, { + key: "close", + value: function close(callback) { + var _this2 = this; + if (callback === undefined) { + return new Promise(function (resolve, reject) { + _this2.close(function (err, data) { + return err ? reject(err) : resolve(data); + }); + }); + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + if (this[kDestroyed]) { + queueMicrotask(function () { + return callback(new ClientDestroyedError(), null); + }); + return; + } + if (this[kClosed]) { + if (this[kOnClosed]) { + this[kOnClosed].push(callback); + } else { + queueMicrotask(function () { + return callback(null, null); + }); + } + return; + } + this[kClosed] = true; + this[kOnClosed].push(callback); + var onClosed = function onClosed() { + var callbacks = _this2[kOnClosed]; + _this2[kOnClosed] = null; + for (var i = 0; i < callbacks.length; i++) { + callbacks[i](null, null); + } + }; -/** - * Takes a list of predicates and returns a predicate that returns true for a - * given list of arguments if every one of the provided predicates is satisfied - * by those arguments. - * - * The function returned is a curried function whose arity matches that of the - * highest-arity predicate. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Logic - * @sig [(*... -> Boolean)] -> (*... -> Boolean) - * @param {Array} predicates An array of predicates to check - * @return {Function} The combined predicate - * @see R.anyPass - * @example - * - * const isQueen = R.propEq('rank', 'Q'); - * const isSpade = R.propEq('suit', '♠︎'); - * const isQueenOfSpades = R.allPass([isQueen, isSpade]); - * - * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false - * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true - */ + // Should not error. + this[kClose]().then(function () { + return _this2.destroy(); + }).then(function () { + queueMicrotask(onClosed); + }); + } + }, { + key: "destroy", + value: function destroy(err, callback) { + var _this3 = this; + if (typeof err === 'function') { + callback = err; + err = null; + } + if (callback === undefined) { + return new Promise(function (resolve, reject) { + _this3.destroy(err, function (err, data) { + return err ? /* istanbul ignore next: should never error */reject(err) : resolve(data); + }); + }); + } + if (typeof callback !== 'function') { + throw new InvalidArgumentError('invalid callback'); + } + if (this[kDestroyed]) { + if (this[kOnDestroyed]) { + this[kOnDestroyed].push(callback); + } else { + queueMicrotask(function () { + return callback(null, null); + }); + } + return; + } + if (!err) { + err = new ClientDestroyedError(); + } + this[kDestroyed] = true; + this[kOnDestroyed] = this[kOnDestroyed] || []; + this[kOnDestroyed].push(callback); + var onDestroyed = function onDestroyed() { + var callbacks = _this3[kOnDestroyed]; + _this3[kOnDestroyed] = null; + for (var i = 0; i < callbacks.length; i++) { + callbacks[i](null, null); + } + }; -var allPass = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function allPass(preds) { - return curryN(reduce(max, 0, pluck('length', preds)), function () { - var idx = 0; - var len = preds.length; - while (idx < len) { - if (!preds[idx].apply(this, arguments)) { + // Should not error. + this[kDestroy](err).then(function () { + queueMicrotask(onDestroyed); + }); + } + }, { + key: kInterceptedDispatch, + value: function value(opts, handler) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler); + } + var dispatch = this[kDispatch].bind(this); + for (var i = this[kInterceptors].length - 1; i >= 0; i--) { + dispatch = this[kInterceptors][i](dispatch); + } + this[kInterceptedDispatch] = dispatch; + return dispatch(opts, handler); + } + }, { + key: "dispatch", + value: function dispatch(opts, handler) { + if (!handler || typeof handler !== 'object') { + throw new InvalidArgumentError('handler must be an object'); + } + try { + if (!opts || typeof opts !== 'object') { + throw new InvalidArgumentError('opts must be an object.'); + } + if (this[kDestroyed] || this[kOnDestroyed]) { + throw new ClientDestroyedError(); + } + if (this[kClosed]) { + throw new ClientClosedError(); + } + return this[kInterceptedDispatch](opts, handler); + } catch (err) { + if (typeof handler.onError !== 'function') { + throw new InvalidArgumentError('invalid onError method'); + } + handler.onError(err); return false; } - idx += 1; } - return true; - }); -}))); -/* harmony default export */ const es_allPass = ((/* unused pure expression or super */ null && (allPass))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xany.js + }]); +}(Dispatcher); +module.exports = DispatcherBase; +/***/ }, +/***/ 747 +(module, __unused_webpack_exports, __webpack_require__) { -var XAny = /*#__PURE__*/ -function () { - function XAny(f, xf) { - this.xf = xf; - this.f = f; - this.any = false; +"use strict"; + + +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var EventEmitter = __webpack_require__(8474); +var Dispatcher = /*#__PURE__*/function (_EventEmitter) { + function Dispatcher() { + _classCallCheck(this, Dispatcher); + return _callSuper(this, Dispatcher, arguments); } - XAny.prototype['@@transducer/init'] = _xfBase.init; - XAny.prototype['@@transducer/result'] = function (result) { - if (!this.any) { - result = this.xf['@@transducer/step'](result, false); + _inherits(Dispatcher, _EventEmitter); + return _createClass(Dispatcher, [{ + key: "dispatch", + value: function dispatch() { + throw new Error('not implemented'); } - return this.xf['@@transducer/result'](result); - }; - XAny.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.any = true; - result = _reduced_reduced(this.xf['@@transducer/step'](result, true)); + }, { + key: "close", + value: function close() { + throw new Error('not implemented'); } - return result; - }; - return XAny; -}(); -var _xany = /*#__PURE__*/ -_curry2_curry2(function _xany(f, xf) { - return new XAny(f, xf); -}); -/* harmony default export */ const internal_xany = (_xany); -;// CONCATENATED MODULE: ./node_modules/ramda/es/any.js - - - -/** - * Returns `true` if at least one of the elements of the list match the predicate, - * `false` otherwise. - * - * Dispatches to the `any` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false` - * otherwise. - * @see R.all, R.none, R.transduce - * @example - * - * const lessThan0 = R.flip(R.lt)(0); - * const lessThan2 = R.flip(R.lt)(2); - * R.any(lessThan0)([1, 2]); //=> false - * R.any(lessThan2)([1, 2]); //=> true - */ - -var any = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['any'], internal_xany, function any(fn, list) { - var idx = 0; - while (idx < list.length) { - if (fn(list[idx])) { - return true; + }, { + key: "destroy", + value: function destroy() { + throw new Error('not implemented'); } - idx += 1; + }, { + key: "compose", + value: function compose() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + // So we handle [interceptor1, interceptor2] or interceptor1, interceptor2, ... + var interceptors = Array.isArray(args[0]) ? args[0] : args; + var dispatch = this.dispatch.bind(this); + var _iterator = _createForOfIteratorHelper(interceptors), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var interceptor = _step.value; + if (interceptor == null) { + continue; + } + if (typeof interceptor !== 'function') { + throw new TypeError("invalid interceptor, expected function received ".concat(typeof interceptor)); + } + dispatch = interceptor(dispatch); + if (dispatch == null || typeof dispatch !== 'function' || dispatch.length !== 2) { + throw new TypeError('invalid interceptor'); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return new ComposedDispatcher(this, dispatch); + } + }]); +}(EventEmitter); +var _dispatcher = /*#__PURE__*/new WeakMap(); +var _dispatch = /*#__PURE__*/new WeakMap(); +var ComposedDispatcher = /*#__PURE__*/function (_Dispatcher) { + function ComposedDispatcher(dispatcher, dispatch) { + var _this; + _classCallCheck(this, ComposedDispatcher); + _this = _callSuper(this, ComposedDispatcher); + _classPrivateFieldInitSpec(_this, _dispatcher, null); + _classPrivateFieldInitSpec(_this, _dispatch, null); + _classPrivateFieldSet(_dispatcher, _this, dispatcher); + _classPrivateFieldSet(_dispatch, _this, dispatch); + return _this; } - return false; -})); -/* harmony default export */ const es_any = ((/* unused pure expression or super */ null && (any))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/anyPass.js + _inherits(ComposedDispatcher, _Dispatcher); + return _createClass(ComposedDispatcher, [{ + key: "dispatch", + value: function dispatch() { + var _classPrivateFieldGet2; + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + (_classPrivateFieldGet2 = _classPrivateFieldGet(_dispatch, this)).call.apply(_classPrivateFieldGet2, [this].concat(args)); + } + }, { + key: "close", + value: function close() { + var _classPrivateFieldGet3; + return (_classPrivateFieldGet3 = _classPrivateFieldGet(_dispatcher, this)).close.apply(_classPrivateFieldGet3, arguments); + } + }, { + key: "destroy", + value: function destroy() { + var _classPrivateFieldGet4; + return (_classPrivateFieldGet4 = _classPrivateFieldGet(_dispatcher, this)).destroy.apply(_classPrivateFieldGet4, arguments); + } + }]); +}(Dispatcher); +module.exports = Dispatcher; +/***/ }, +/***/ 2457 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Takes a list of predicates and returns a predicate that returns true for a - * given list of arguments if at least one of the provided predicates is - * satisfied by those arguments. - * - * The function returned is a curried function whose arity matches that of the - * highest-arity predicate. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Logic - * @sig [(*... -> Boolean)] -> (*... -> Boolean) - * @param {Array} predicates An array of predicates to check - * @return {Function} The combined predicate - * @see R.allPass - * @example - * - * const isClub = R.propEq('suit', '♣'); - * const isSpade = R.propEq('suit', '♠'); - * const isBlackCard = R.anyPass([isClub, isSpade]); - * - * isBlackCard({rank: '10', suit: '♣'}); //=> true - * isBlackCard({rank: 'Q', suit: '♠'}); //=> true - * isBlackCard({rank: 'Q', suit: '♦'}); //=> false - */ - -var anyPass = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function anyPass(preds) { - return curryN(reduce(max, 0, pluck('length', preds)), function () { - var idx = 0; - var len = preds.length; - while (idx < len) { - if (preds[idx].apply(this, arguments)) { - return true; - } - idx += 1; +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateGetter = (__webpack_require__(183)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _excluded = ["httpProxy", "httpsProxy", "noProxy"]; +var DispatcherBase = __webpack_require__(7545); +var _require = __webpack_require__(6771), + kClose = _require.kClose, + kDestroy = _require.kDestroy, + kClosed = _require.kClosed, + kDestroyed = _require.kDestroyed, + kDispatch = _require.kDispatch, + kNoProxyAgent = _require.kNoProxyAgent, + kHttpProxyAgent = _require.kHttpProxyAgent, + kHttpsProxyAgent = _require.kHttpsProxyAgent; +var ProxyAgent = __webpack_require__(3384); +var Agent = __webpack_require__(5765); +var DEFAULT_PORTS = { + 'http:': 80, + 'https:': 443 +}; +var experimentalWarned = false; +var _noProxyValue = /*#__PURE__*/new WeakMap(); +var _noProxyEntries = /*#__PURE__*/new WeakMap(); +var _opts = /*#__PURE__*/new WeakMap(); +var _EnvHttpProxyAgent_brand = /*#__PURE__*/new WeakSet(); +var EnvHttpProxyAgent = /*#__PURE__*/function (_DispatcherBase) { + function EnvHttpProxyAgent() { + var _ref, _ref2; + var _this3; + var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, EnvHttpProxyAgent); + _this3 = _callSuper(this, EnvHttpProxyAgent); + _classPrivateMethodInitSpec(_this3, _EnvHttpProxyAgent_brand); + _classPrivateFieldInitSpec(_this3, _noProxyValue, null); + _classPrivateFieldInitSpec(_this3, _noProxyEntries, null); + _classPrivateFieldInitSpec(_this3, _opts, null); + _classPrivateFieldSet(_opts, _this3, opts); + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning('EnvHttpProxyAgent is experimental, expect them to change at any time.', { + code: 'UNDICI-EHPA' + }); } - return false; - }); -}))); -/* harmony default export */ const es_anyPass = ((/* unused pure expression or super */ null && (anyPass))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_concat.js -/** - * Private `concat` function to merge two array-like objects. - * - * @private - * @param {Array|Arguments} [set1=[]] An array-like object. - * @param {Array|Arguments} [set2=[]] An array-like object. - * @return {Array} A new, merged array. - * @example - * - * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] - */ -function _concat_concat(set1, set2) { - set1 = set1 || []; - set2 = set2 || []; - var idx; - var len1 = set1.length; - var len2 = set2.length; - var result = []; - idx = 0; - while (idx < len1) { - result[result.length] = set1[idx]; - idx += 1; + var httpProxy = opts.httpProxy, + httpsProxy = opts.httpsProxy, + noProxy = opts.noProxy, + agentOpts = _objectWithoutProperties(opts, _excluded); + _this3[kNoProxyAgent] = new Agent(agentOpts); + var HTTP_PROXY = (_ref = httpProxy !== null && httpProxy !== void 0 ? httpProxy : process.env.http_proxy) !== null && _ref !== void 0 ? _ref : process.env.HTTP_PROXY; + if (HTTP_PROXY) { + _this3[kHttpProxyAgent] = new ProxyAgent(_objectSpread(_objectSpread({}, agentOpts), {}, { + uri: HTTP_PROXY + })); + } else { + _this3[kHttpProxyAgent] = _this3[kNoProxyAgent]; + } + var HTTPS_PROXY = (_ref2 = httpsProxy !== null && httpsProxy !== void 0 ? httpsProxy : process.env.https_proxy) !== null && _ref2 !== void 0 ? _ref2 : process.env.HTTPS_PROXY; + if (HTTPS_PROXY) { + _this3[kHttpsProxyAgent] = new ProxyAgent(_objectSpread(_objectSpread({}, agentOpts), {}, { + uri: HTTPS_PROXY + })); + } else { + _this3[kHttpsProxyAgent] = _this3[kHttpProxyAgent]; + } + _assertClassBrand(_EnvHttpProxyAgent_brand, _this3, _parseNoProxy).call(_this3); + return _this3; } - idx = 0; - while (idx < len2) { - result[result.length] = set2[idx]; - idx += 1; + _inherits(EnvHttpProxyAgent, _DispatcherBase); + return _createClass(EnvHttpProxyAgent, [{ + key: kDispatch, + value: function value(opts, handler) { + var url = new URL(opts.origin); + var agent = _assertClassBrand(_EnvHttpProxyAgent_brand, this, _getProxyAgentForUrl).call(this, url); + return agent.dispatch(opts, handler); + } + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _context.n = 1; + return this[kNoProxyAgent].close(); + case 1: + if (this[kHttpProxyAgent][kClosed]) { + _context.n = 2; + break; + } + _context.n = 2; + return this[kHttpProxyAgent].close(); + case 2: + if (this[kHttpsProxyAgent][kClosed]) { + _context.n = 3; + break; + } + _context.n = 3; + return this[kHttpsProxyAgent].close(); + case 3: + return _context.a(2); + } + }, _callee, this); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }, { + key: kDestroy, + value: function () { + var _value2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(err) { + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + _context2.n = 1; + return this[kNoProxyAgent].destroy(err); + case 1: + if (this[kHttpProxyAgent][kDestroyed]) { + _context2.n = 2; + break; + } + _context2.n = 2; + return this[kHttpProxyAgent].destroy(err); + case 2: + if (this[kHttpsProxyAgent][kDestroyed]) { + _context2.n = 3; + break; + } + _context2.n = 3; + return this[kHttpsProxyAgent].destroy(err); + case 3: + return _context2.a(2); + } + }, _callee2, this); + })); + function value(_x) { + return _value2.apply(this, arguments); + } + return value; + }() + }]); +}(DispatcherBase); +function _getProxyAgentForUrl(url) { + var protocol = url.protocol, + hostname = url.host, + port = url.port; + + // Stripping ports in this way instead of using parsedUrl.hostname to make + // sure that the brackets around IPv6 addresses are kept. + hostname = hostname.replace(/:\d*$/, '').toLowerCase(); + port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0; + if (!_assertClassBrand(_EnvHttpProxyAgent_brand, this, _shouldProxy).call(this, hostname, port)) { + return this[kNoProxyAgent]; } - return result; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/ap.js - - - - -/** - * ap applies a list of functions to a list of values. - * - * Dispatches to the `ap` method of the second argument, if present. Also - * treats curried functions as applicatives. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Function - * @sig [a -> b] -> [a] -> [b] - * @sig Apply f => f (a -> b) -> f a -> f b - * @sig (r -> a -> b) -> (r -> a) -> (r -> b) - * @param {*} applyF - * @param {*} applyX - * @return {*} - * @example - * - * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6] - * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> ["tasty pizza", "tasty salad", "PIZZA", "SALAD"] - * - * // R.ap can also be used as S combinator - * // when only two functions are passed - * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA' - * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)] - */ - -var ap_ap = /*#__PURE__*/ -_curry2_curry2(function ap(applyF, applyX) { - return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) { - return applyF(x)(applyX(x)); - } : _reduce_reduce(function (acc, f) { - return _concat_concat(acc, es_map(f, applyX)); - }, [], applyF); -}); -/* harmony default export */ const es_ap = (ap_ap); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_aperture.js -function _aperture(n, list) { - var idx = 0; - var limit = list.length - (n - 1); - var acc = new Array(limit >= 0 ? limit : 0); - while (idx < limit) { - acc[idx] = Array.prototype.slice.call(list, idx, idx + n); - idx += 1; + if (protocol === 'https:') { + return this[kHttpsProxyAgent]; } - return acc; + return this[kHttpProxyAgent]; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xaperture.js - - - -var XAperture = /*#__PURE__*/ -function () { - function XAperture(n, xf) { - this.xf = xf; - this.pos = 0; - this.full = false; - this.acc = new Array(n); +function _shouldProxy(hostname, port) { + if (_classPrivateGetter(_EnvHttpProxyAgent_brand, this, _get_noProxyChanged)) { + _assertClassBrand(_EnvHttpProxyAgent_brand, this, _parseNoProxy).call(this); } - XAperture.prototype['@@transducer/init'] = _xfBase.init; - XAperture.prototype['@@transducer/result'] = function (result) { - this.acc = null; - return this.xf['@@transducer/result'](result); - }; - XAperture.prototype['@@transducer/step'] = function (result, input) { - this.store(input); - return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result; - }; - XAperture.prototype.store = function (input) { - this.acc[this.pos] = input; - this.pos += 1; - if (this.pos === this.acc.length) { - this.pos = 0; - this.full = true; - } - }; - XAperture.prototype.getCopy = function () { - return _concat_concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos)); - }; - return XAperture; -}(); -var _xaperture = /*#__PURE__*/ -_curry2_curry2(function _xaperture(n, xf) { - return new XAperture(n, xf); -}); -/* harmony default export */ const internal_xaperture = (_xaperture); -;// CONCATENATED MODULE: ./node_modules/ramda/es/aperture.js - - - - -/** - * Returns a new list, composed of n-tuples of consecutive elements. If `n` is - * greater than the length of the list, an empty list is returned. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig Number -> [a] -> [[a]] - * @param {Number} n The size of the tuples to create - * @param {Array} list The list to split into `n`-length tuples - * @return {Array} The resulting list of `n`-length tuples - * @see R.transduce - * @example - * - * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] - * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] - * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] - */ - -var aperture = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xaperture, _aperture)); -/* harmony default export */ const es_aperture = ((/* unused pure expression or super */ null && (aperture))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/values.js - - -/** - * Returns a list of all the enumerable own properties of the supplied object. - * Note that the order of the output array is not guaranteed across different - * JS platforms. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig {k: v} -> [v] - * @param {Object} obj The object to extract values from - * @return {Array} An array of the values of the object's own properties. - * @see R.valuesIn, R.keys, R.toPairs - * @example - * - * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3] - */ - -var values_values = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function values(obj) { - var props = keys(obj); - var len = props.length; - var vals = []; - var idx = 0; - while (idx < len) { - vals[idx] = obj[props[idx]]; - idx += 1; + if (_classPrivateFieldGet(_noProxyEntries, this).length === 0) { + return true; // Always proxy if NO_PROXY is not set or empty. } - return vals; -}))); -/* harmony default export */ const es_values = ((/* unused pure expression or super */ null && (values_values))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/applySpec.js - - - - - - - - - // Use custom mapValues function to avoid issues with specs that include a "map" key and R.map -// delegating calls to .map - -function mapValues(fn, obj) { - return _isArray(obj) ? obj.map(fn) : keys(obj).reduce(function (acc, key) { - acc[key] = fn(obj[key]); - return acc; - }, {}); -} -/** - * Given a spec object recursively mapping properties to functions, creates a - * function producing an object of the same structure, by mapping each property - * to the result of calling its associated function with the supplied arguments. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Function - * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v}) - * @param {Object} spec an object recursively mapping properties to functions for - * producing the values for these properties. - * @return {Function} A function that returns an object of the same structure - * as `spec', with each property set to the value returned by calling its - * associated function with the supplied arguments. - * @see R.converge, R.juxt - * @example - * - * const getMetrics = R.applySpec({ - * sum: R.add, - * nested: { mul: R.multiply } - * }); - * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } } - * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } } - */ - -var applySpec = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function applySpec(spec) { - spec = mapValues(function (v) { - return typeof v == 'function' ? v : applySpec(v); - }, spec); - return curryN(reduce(max, 0, pluck('length', values(spec))), function () { - var args = arguments; - return mapValues(function (f) { - return apply(f, args); - }, spec); - }); -}))); -/* harmony default export */ const es_applySpec = ((/* unused pure expression or super */ null && (applySpec))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_assoc.js - - -/** - * Makes a shallow clone of an object, setting or overriding the specified - * property with the given value. Note that this copies and flattens prototype - * properties onto the new object as well. All non-primitive properties are - * copied by reference. - * - * @private - * @param {String|Number} prop The property name to set - * @param {*} val The new value - * @param {Object|Array} obj The object to clone - * @return {Object|Array} A new object equivalent to the original except for the changed property. - */ - -function _assoc_assoc(prop, val, obj) { - if (_isInteger(prop) && _isArray(obj)) { - var arr = [].concat(obj); - arr[prop] = val; - return arr; + if (_classPrivateFieldGet(_noProxyValue, this) === '*') { + return false; // Never proxy if wildcard is set. } - var result = {}; - for (var p in obj) { - result[p] = obj[p]; + for (var i = 0; i < _classPrivateFieldGet(_noProxyEntries, this).length; i++) { + var entry = _classPrivateFieldGet(_noProxyEntries, this)[i]; + if (entry.port && entry.port !== port) { + continue; // Skip if ports don't match. + } + if (!/^[.*]/.test(entry.hostname)) { + // No wildcards, so don't proxy only if there is not an exact match. + if (hostname === entry.hostname) { + return false; + } + } else { + // Don't proxy if the hostname ends with the no_proxy host. + if (hostname.endsWith(entry.hostname.replace(/^\*/, ''))) { + return false; + } + } } - result[prop] = val; - return result; + return true; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/assocPath.js - - - - - -/** - * Makes a shallow clone of an object, setting or overriding the nodes required - * to create the given path, and placing the specific value at the tail end of - * that path. Note that this copies and flattens prototype properties onto the - * new object as well. All non-primitive properties are copied by reference. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Idx = String | Int | Symbol - * @sig [Idx] -> a -> {a} -> {a} - * @param {Array} path the path to set - * @param {*} val The new value - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original except along the specified path. - * @see R.dissocPath - * @example - * - * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}} - * - * // Any missing or non-object keys in path will be overridden - * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}} - */ - -var assocPath_assocPath = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function assocPath(path, val, obj) { - if (path.length === 0) { - return val; +function _parseNoProxy() { + var _classPrivateFieldGet2; + var noProxyValue = (_classPrivateFieldGet2 = _classPrivateFieldGet(_opts, this).noProxy) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : _classPrivateGetter(_EnvHttpProxyAgent_brand, this, _get_noProxyEnv); + var noProxySplit = noProxyValue.split(/[,\s]/); + var noProxyEntries = []; + for (var i = 0; i < noProxySplit.length; i++) { + var entry = noProxySplit[i]; + if (!entry) { + continue; + } + var parsed = entry.match(/^(.+):(\d+)$/); + noProxyEntries.push({ + hostname: (parsed ? parsed[1] : entry).toLowerCase(), + port: parsed ? Number.parseInt(parsed[2], 10) : 0 + }); } - var idx = path[0]; - if (path.length > 1) { - var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {}; - val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj); + _classPrivateFieldSet(_noProxyValue, this, noProxyValue); + _classPrivateFieldSet(_noProxyEntries, this, noProxyEntries); +} +function _get_noProxyChanged(_this) { + if (_classPrivateFieldGet(_opts, _this).noProxy !== undefined) { + return false; } - return _assoc(idx, val, obj); -}))); -/* harmony default export */ const es_assocPath = ((/* unused pure expression or super */ null && (assocPath_assocPath))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/assoc.js - - -/** - * Makes a shallow clone of an object, setting or overriding the specified - * property with the given value. Note that this copies and flattens prototype - * properties onto the new object as well. All non-primitive properties are - * copied by reference. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Idx = String | Int - * @sig Idx -> a -> {k: v} -> {k: v} - * @param {String|Number} prop The property name to set - * @param {*} val The new value - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original except for the changed property. - * @see R.dissoc, R.pick - * @example - * - * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3} - */ - -var assoc_assoc = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function assoc(prop, val, obj) { - return assocPath([prop], val, obj); -}))); -/* harmony default export */ const es_assoc = ((/* unused pure expression or super */ null && (assoc_assoc))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/liftN.js - - - + return _classPrivateFieldGet(_noProxyValue, _this) !== _classPrivateGetter(_EnvHttpProxyAgent_brand, _this, _get_noProxyEnv); +} +function _get_noProxyEnv(_this2) { + var _ref3, _process$env$no_proxy; + return (_ref3 = (_process$env$no_proxy = process.env.no_proxy) !== null && _process$env$no_proxy !== void 0 ? _process$env$no_proxy : process.env.NO_PROXY) !== null && _ref3 !== void 0 ? _ref3 : ''; +} +module.exports = EnvHttpProxyAgent; +/***/ }, -/** - * "lifts" a function to be the specified arity, so that it may "map over" that - * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Function - * @sig Number -> (*... -> *) -> ([*]... -> [*]) - * @param {Function} fn The function to lift into higher context - * @return {Function} The lifted function. - * @see R.lift, R.ap - * @example - * - * const madd3 = R.liftN(3, (...args) => R.sum(args)); - * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7] - */ +/***/ 1084 +(module, __unused_webpack_exports, __webpack_require__) { -var liftN = /*#__PURE__*/ -_curry2_curry2(function liftN(arity, fn) { - var lifted = es_curryN(arity, fn); - return es_curryN(arity, function () { - return _reduce_reduce(es_ap, es_map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); - }); -}); -/* harmony default export */ const es_liftN = (liftN); -;// CONCATENATED MODULE: ./node_modules/ramda/es/lift.js +"use strict"; +/* eslint-disable */ -/** - * "lifts" a function of arity >= 1 so that it may "map over" a list, Function or other - * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Function - * @sig (*... -> *) -> ([*]... -> [*]) - * @param {Function} fn The function to lift into higher context - * @return {Function} The lifted function. - * @see R.liftN - * @example - * - * const madd3 = R.lift((a, b, c) => a + b + c); - * - * madd3([100, 200], [30, 40], [5, 6, 7]); //=> [135, 136, 137, 145, 146, 147, 235, 236, 237, 245, 246, 247] - * - * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e); - * - * madd5([10, 20], [1], [2, 3], [4], [100, 200]); //=> [117, 217, 118, 218, 127, 227, 128, 228] - */ -var lift_lift = /*#__PURE__*/ -_curry1_curry1(function lift(fn) { - return es_liftN(fn.length, fn); -}); -/* harmony default export */ const es_lift = (lift_lift); -;// CONCATENATED MODULE: ./node_modules/ramda/es/both.js +// Extracted from node/lib/internal/fixed_queue.js +// Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two. +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var kSize = 2048; +var kMask = kSize - 1; +// The FixedQueue is implemented as a singly-linked list of fixed-size +// circular buffers. It looks something like this: +// +// head tail +// | | +// v v +// +-----------+ <-----\ +-----------+ <------\ +-----------+ +// | [null] | \----- | next | \------- | next | +// +-----------+ +-----------+ +-----------+ +// | item | <-- bottom | item | <-- bottom | [empty] | +// | item | | item | | [empty] | +// | item | | item | | [empty] | +// | item | | item | | [empty] | +// | item | | item | bottom --> | item | +// | item | | item | | item | +// | ... | | ... | | ... | +// | item | | item | | item | +// | item | | item | | item | +// | [empty] | <-- top | item | | item | +// | [empty] | | item | | item | +// | [empty] | | [empty] | <-- top top --> | [empty] | +// +-----------+ +-----------+ +-----------+ +// +// Or, if there is only one circular buffer, it looks something +// like either of these: +// +// head tail head tail +// | | | | +// v v v v +// +-----------+ +-----------+ +// | [null] | | [null] | +// +-----------+ +-----------+ +// | [empty] | | item | +// | [empty] | | item | +// | item | <-- bottom top --> | [empty] | +// | item | | [empty] | +// | [empty] | <-- top bottom --> | item | +// | [empty] | | item | +// +-----------+ +-----------+ +// +// Adding a value means moving `top` forward by one, removing means +// moving `bottom` forward by one. After reaching the end, the queue +// wraps around. +// +// When `top === bottom` the current queue is empty and when +// `top + 1 === bottom` it's full. This wastes a single space of storage +// but allows much quicker checks. +var FixedCircularBuffer = /*#__PURE__*/function () { + function FixedCircularBuffer() { + _classCallCheck(this, FixedCircularBuffer); + this.bottom = 0; + this.top = 0; + this.list = new Array(kSize); + this.next = null; + } + return _createClass(FixedCircularBuffer, [{ + key: "isEmpty", + value: function isEmpty() { + return this.top === this.bottom; + } + }, { + key: "isFull", + value: function isFull() { + return (this.top + 1 & kMask) === this.bottom; + } + }, { + key: "push", + value: function push(data) { + this.list[this.top] = data; + this.top = this.top + 1 & kMask; + } + }, { + key: "shift", + value: function shift() { + var nextItem = this.list[this.bottom]; + if (nextItem === undefined) return null; + this.list[this.bottom] = undefined; + this.bottom = this.bottom + 1 & kMask; + return nextItem; + } + }]); +}(); +module.exports = /*#__PURE__*/function () { + function FixedQueue() { + _classCallCheck(this, FixedQueue); + this.head = this.tail = new FixedCircularBuffer(); + } + return _createClass(FixedQueue, [{ + key: "isEmpty", + value: function isEmpty() { + return this.head.isEmpty(); + } + }, { + key: "push", + value: function push(data) { + if (this.head.isFull()) { + // Head is full: Creates a new queue, sets the old queue's `.next` to it, + // and sets it as the new main queue. + this.head = this.head.next = new FixedCircularBuffer(); + } + this.head.push(data); + } + }, { + key: "shift", + value: function shift() { + var tail = this.tail; + var next = tail.shift(); + if (tail.isEmpty() && tail.next !== null) { + // If there is another queue, it forms the new tail. + this.tail = tail.next; + } + return next; + } + }]); +}(); +/***/ }, -/** - * A function which calls the two provided functions and returns the `&&` - * of the results. - * It returns the result of the first function if it is false-y and the result - * of the second function otherwise. Note that this is short-circuited, - * meaning that the second function will not be invoked if the first returns a - * false-y value. - * - * In addition to functions, `R.both` also accepts any fantasy-land compatible - * applicative functor. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) - * @param {Function} f A predicate - * @param {Function} g Another predicate - * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together. - * @see R.either, R.and - * @example - * - * const gt10 = R.gt(R.__, 10) - * const lt20 = R.lt(R.__, 20) - * const f = R.both(gt10, lt20); - * f(15); //=> true - * f(30); //=> false - * - * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false) - * R.both([false, false, 'a'], [11]); //=> [false, false, 11] - */ +/***/ 536 +(module, __unused_webpack_exports, __webpack_require__) { -var both = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function both(f, g) { - return _isFunction(f) ? function _both() { - return f.apply(this, arguments) && g.apply(this, arguments); - } : lift(and)(f, g); -}))); -/* harmony default export */ const es_both = ((/* unused pure expression or super */ null && (both))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_makeFlat.js +"use strict"; -/** - * `_makeFlat` is a helper function that returns a one-level or fully recursive - * function based on the flag passed in. - * - * @private - */ -function _makeFlat_makeFlat(recursive) { - return function flatt(list) { - var value, jlen, j; - var result = []; - var idx = 0; - var ilen = list.length; - while (idx < ilen) { - if (internal_isArrayLike(list[idx])) { - value = recursive ? flatt(list[idx]) : list[idx]; - j = 0; - jlen = value.length; - while (j < jlen) { - result[result.length] = value[j]; - j += 1; +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var DispatcherBase = __webpack_require__(7545); +var FixedQueue = __webpack_require__(1084); +var _require = __webpack_require__(6771), + kConnected = _require.kConnected, + kSize = _require.kSize, + kRunning = _require.kRunning, + kPending = _require.kPending, + kQueued = _require.kQueued, + kBusy = _require.kBusy, + kFree = _require.kFree, + kUrl = _require.kUrl, + kClose = _require.kClose, + kDestroy = _require.kDestroy, + kDispatch = _require.kDispatch; +var PoolStats = __webpack_require__(4230); +var kClients = Symbol('clients'); +var kNeedDrain = Symbol('needDrain'); +var kQueue = Symbol('queue'); +var kClosedResolve = Symbol('closed resolve'); +var kOnDrain = Symbol('onDrain'); +var kOnConnect = Symbol('onConnect'); +var kOnDisconnect = Symbol('onDisconnect'); +var kOnConnectionError = Symbol('onConnectionError'); +var kGetDispatcher = Symbol('get dispatcher'); +var kAddClient = Symbol('add client'); +var kRemoveClient = Symbol('remove client'); +var kStats = Symbol('stats'); +var PoolBase = /*#__PURE__*/function (_DispatcherBase) { + function PoolBase() { + var _this; + _classCallCheck(this, PoolBase); + _this = _callSuper(this, PoolBase); + _this[kQueue] = new FixedQueue(); + _this[kClients] = []; + _this[kQueued] = 0; + var pool = _this; + _this[kOnDrain] = function onDrain(origin, targets) { + var queue = pool[kQueue]; + var needDrain = false; + while (!needDrain) { + var item = queue.shift(); + if (!item) { + break; } - } else { - result[result.length] = list[idx]; + pool[kQueued]--; + needDrain = !this.dispatch(item.opts, item.handler); + } + this[kNeedDrain] = needDrain; + if (!this[kNeedDrain] && pool[kNeedDrain]) { + pool[kNeedDrain] = false; + pool.emit('drain', origin, [pool].concat(_toConsumableArray(targets))); } - idx += 1; + if (pool[kClosedResolve] && queue.isEmpty()) { + Promise.all(pool[kClients].map(function (c) { + return c.close(); + })).then(pool[kClosedResolve]); + } + }; + _this[kOnConnect] = function (origin, targets) { + pool.emit('connect', origin, [pool].concat(_toConsumableArray(targets))); + }; + _this[kOnDisconnect] = function (origin, targets, err) { + pool.emit('disconnect', origin, [pool].concat(_toConsumableArray(targets)), err); + }; + _this[kOnConnectionError] = function (origin, targets, err) { + pool.emit('connectionError', origin, [pool].concat(_toConsumableArray(targets)), err); + }; + _this[kStats] = new PoolStats(_this); + return _this; + } + _inherits(PoolBase, _DispatcherBase); + return _createClass(PoolBase, [{ + key: kBusy, + get: function get() { + return this[kNeedDrain]; } - return result; - }; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_forceReduced.js -function _forceReduced(x) { - return { - '@@transducer/value': x, - '@@transducer/reduced': true - }; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_flatCat.js - - - - -var preservingReduced = function preservingReduced(xf) { - return { - '@@transducer/init': _xfBase.init, - '@@transducer/result': function transducerResult(result) { - return xf['@@transducer/result'](result); - }, - '@@transducer/step': function transducerStep(result, input) { - var ret = xf['@@transducer/step'](result, input); - return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret; + }, { + key: kConnected, + get: function get() { + return this[kClients].filter(function (client) { + return client[kConnected]; + }).length; } - }; -}; -var _flatCat = function _xcat(xf) { - var rxf = preservingReduced(xf); - return { - '@@transducer/init': _xfBase.init, - '@@transducer/result': function transducerResult(result) { - return rxf['@@transducer/result'](result); - }, - '@@transducer/step': function transducerStep(result, input) { - return !internal_isArrayLike(input) ? _reduce_reduce(rxf, result, [input]) : _reduce_reduce(rxf, result, input); + }, { + key: kFree, + get: function get() { + return this[kClients].filter(function (client) { + return client[kConnected] && !client[kNeedDrain]; + }).length; } - }; + }, { + key: kPending, + get: function get() { + var ret = this[kQueued]; + var _iterator = _createForOfIteratorHelper(this[kClients]), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var pending = _step.value[kPending]; + ret += pending; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return ret; + } + }, { + key: kRunning, + get: function get() { + var ret = 0; + var _iterator2 = _createForOfIteratorHelper(this[kClients]), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var running = _step2.value[kRunning]; + ret += running; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + return ret; + } + }, { + key: kSize, + get: function get() { + var ret = this[kQueued]; + var _iterator3 = _createForOfIteratorHelper(this[kClients]), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var size = _step3.value[kSize]; + ret += size; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + return ret; + } + }, { + key: "stats", + get: function get() { + return this[kStats]; + } + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var _this2 = this; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + if (!this[kQueue].isEmpty()) { + _context.n = 2; + break; + } + _context.n = 1; + return Promise.all(this[kClients].map(function (c) { + return c.close(); + })); + case 1: + _context.n = 3; + break; + case 2: + _context.n = 3; + return new Promise(function (resolve) { + _this2[kClosedResolve] = resolve; + }); + case 3: + return _context.a(2); + } + }, _callee, this); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }, { + key: kDestroy, + value: function () { + var _value2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(err) { + var item; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + if (false) // removed by dead control flow +{} + item = this[kQueue].shift(); + if (item) { + _context2.n = 1; + break; + } + return _context2.a(3, 2); + case 1: + item.handler.onError(err); + _context2.n = 0; + break; + case 2: + _context2.n = 3; + return Promise.all(this[kClients].map(function (c) { + return c.destroy(err); + })); + case 3: + return _context2.a(2); + } + }, _callee2, this); + })); + function value(_x) { + return _value2.apply(this, arguments); + } + return value; + }() + }, { + key: kDispatch, + value: function value(opts, handler) { + var dispatcher = this[kGetDispatcher](); + if (!dispatcher) { + this[kNeedDrain] = true; + this[kQueue].push({ + opts: opts, + handler: handler + }); + this[kQueued]++; + } else if (!dispatcher.dispatch(opts, handler)) { + dispatcher[kNeedDrain] = true; + this[kNeedDrain] = !this[kGetDispatcher](); + } + return !this[kNeedDrain]; + } + }, { + key: kAddClient, + value: function value(client) { + var _this3 = this; + client.on('drain', this[kOnDrain]).on('connect', this[kOnConnect]).on('disconnect', this[kOnDisconnect]).on('connectionError', this[kOnConnectionError]); + this[kClients].push(client); + if (this[kNeedDrain]) { + queueMicrotask(function () { + if (_this3[kNeedDrain]) { + _this3[kOnDrain](client[kUrl], [_this3, client]); + } + }); + } + return this; + } + }, { + key: kRemoveClient, + value: function value(client) { + var _this4 = this; + client.close(function () { + var idx = _this4[kClients].indexOf(client); + if (idx !== -1) { + _this4[kClients].splice(idx, 1); + } + }); + this[kNeedDrain] = this[kClients].some(function (dispatcher) { + return !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true; + }); + } + }]); +}(DispatcherBase); +module.exports = { + PoolBase: PoolBase, + kClients: kClients, + kNeedDrain: kNeedDrain, + kAddClient: kAddClient, + kRemoveClient: kRemoveClient, + kGetDispatcher: kGetDispatcher }; -/* harmony default export */ const internal_flatCat = (_flatCat); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xchain.js - - - -var _xchain = /*#__PURE__*/ -_curry2_curry2(function _xchain(f, xf) { - return es_map(f, internal_flatCat(xf)); -}); -/* harmony default export */ const internal_xchain = (_xchain); -;// CONCATENATED MODULE: ./node_modules/ramda/es/chain.js +/***/ }, + +/***/ 4230 +(module, __unused_webpack_exports, __webpack_require__) { + +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(6771), + kFree = _require.kFree, + kConnected = _require.kConnected, + kPending = _require.kPending, + kQueued = _require.kQueued, + kRunning = _require.kRunning, + kSize = _require.kSize; +var kPool = Symbol('pool'); +var PoolStats = /*#__PURE__*/function () { + "use strict"; + + function PoolStats(pool) { + _classCallCheck(this, PoolStats); + this[kPool] = pool; + } + return _createClass(PoolStats, [{ + key: "connected", + get: function get() { + return this[kPool][kConnected]; + } + }, { + key: "free", + get: function get() { + return this[kPool][kFree]; + } + }, { + key: "pending", + get: function get() { + return this[kPool][kPending]; + } + }, { + key: "queued", + get: function get() { + return this[kPool][kQueued]; + } + }, { + key: "running", + get: function get() { + return this[kPool][kRunning]; + } + }, { + key: "size", + get: function get() { + return this[kPool][kSize]; + } + }]); +}(); +module.exports = PoolStats; +/***/ }, +/***/ 9452 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * `chain` maps a function over a list and concatenates the results. `chain` - * is also known as `flatMap` in some libraries. - * - * Dispatches to the `chain` method of the second argument, if present, - * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain). - * - * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig Chain m => (a -> m b) -> m a -> m b - * @param {Function} fn The function to map with - * @param {Array} list The list to map over - * @return {Array} The result of flat-mapping `list` with `fn` - * @example - * - * const duplicate = n => [n, n]; - * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3] - * - * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1] - */ -var chain = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['fantasy-land/chain', 'chain'], internal_xchain, function chain(fn, monad) { - if (typeof monad === 'function') { - return function (x) { - return fn(monad(x))(x); - }; +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _excluded = ["connections", "factory", "connect", "connectTimeout", "tls", "maxCachedSessions", "socketPath", "autoSelectFamily", "autoSelectFamilyAttemptTimeout", "allowH2"]; +var _require = __webpack_require__(536), + PoolBase = _require.PoolBase, + kClients = _require.kClients, + kNeedDrain = _require.kNeedDrain, + kAddClient = _require.kAddClient, + kGetDispatcher = _require.kGetDispatcher; +var Client = __webpack_require__(9085); +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError; +var util = __webpack_require__(6632); +var _require3 = __webpack_require__(6771), + kUrl = _require3.kUrl, + kInterceptors = _require3.kInterceptors; +var buildConnector = __webpack_require__(200); +var kOptions = Symbol('options'); +var kConnections = Symbol('connections'); +var kFactory = Symbol('factory'); +function defaultFactory(origin, opts) { + return new Client(origin, opts); +} +var Pool = /*#__PURE__*/function (_PoolBase) { + function Pool(origin) { + var _options$interceptors; + var _this; + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + connections = _ref.connections, + _ref$factory = _ref.factory, + factory = _ref$factory === void 0 ? defaultFactory : _ref$factory, + connect = _ref.connect, + connectTimeout = _ref.connectTimeout, + tls = _ref.tls, + maxCachedSessions = _ref.maxCachedSessions, + socketPath = _ref.socketPath, + autoSelectFamily = _ref.autoSelectFamily, + autoSelectFamilyAttemptTimeout = _ref.autoSelectFamilyAttemptTimeout, + allowH2 = _ref.allowH2, + options = _objectWithoutProperties(_ref, _excluded); + _classCallCheck(this, Pool); + _this = _callSuper(this, Pool); + if (connections != null && (!Number.isFinite(connections) || connections < 0)) { + throw new InvalidArgumentError('invalid connections'); + } + if (typeof factory !== 'function') { + throw new InvalidArgumentError('factory must be a function.'); + } + if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') { + throw new InvalidArgumentError('connect must be a function or an object'); + } + if (typeof connect !== 'function') { + connect = buildConnector(_objectSpread(_objectSpread(_objectSpread({}, tls), {}, { + maxCachedSessions: maxCachedSessions, + allowH2: allowH2, + socketPath: socketPath, + timeout: connectTimeout + }, autoSelectFamily ? { + autoSelectFamily: autoSelectFamily, + autoSelectFamilyAttemptTimeout: autoSelectFamilyAttemptTimeout + } : undefined), connect)); + } + _this[kInterceptors] = (_options$interceptors = options.interceptors) !== null && _options$interceptors !== void 0 && _options$interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; + _this[kConnections] = connections || null; + _this[kUrl] = util.parseOrigin(origin); + _this[kOptions] = _objectSpread(_objectSpread({}, util.deepClone(options)), {}, { + connect: connect, + allowH2: allowH2 + }); + _this[kOptions].interceptors = options.interceptors ? _objectSpread({}, options.interceptors) : undefined; + _this[kFactory] = factory; + _this.on('connectionError', function (origin, targets, error) { + // If a connection error occurs, we remove the client from the pool, + // and emit a connectionError event. They will not be re-used. + // Fixes https://github.com/nodejs/undici/issues/3895 + var _iterator = _createForOfIteratorHelper(targets), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var target = _step.value; + // Do not use kRemoveClient here, as it will close the client, + // but the client cannot be closed in this state. + var idx = _this[kClients].indexOf(target); + if (idx !== -1) { + _this[kClients].splice(idx, 1); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + }); + return _this; } - return _makeFlat_makeFlat(false)(es_map(fn, monad)); -})); -/* harmony default export */ const es_chain = (chain); -;// CONCATENATED MODULE: ./node_modules/ramda/es/collectBy.js + _inherits(Pool, _PoolBase); + return _createClass(Pool, [{ + key: kGetDispatcher, + value: function value() { + var _iterator2 = _createForOfIteratorHelper(this[kClients]), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var client = _step2.value; + if (!client[kNeedDrain]) { + return client; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + if (!this[kConnections] || this[kClients].length < this[kConnections]) { + var dispatcher = this[kFactory](this[kUrl], this[kOptions]); + this[kAddClient](dispatcher); + return dispatcher; + } + } + }]); +}(PoolBase); +module.exports = Pool; +/***/ }, -/** - * Splits a list into sub-lists, based on the result of calling a key-returning function on each element, - * and grouping the results according to values returned. - * - * @func - * @memberOf R - * @since v0.28.0 - * @category List - * @typedefn Idx = String | Int | Symbol - * @sig Idx a => (b -> a) -> [b] -> [[b]] - * @param {Function} fn Function :: a -> Idx - * @param {Array} list The array to group - * @return {Array} - * An array of arrays where each sub-array contains items for which - * the String-returning function has returned the same value. - * @see R.groupBy, R.partition - * @example - * R.collectBy(R.prop('type'), [ - * {type: 'breakfast', item: '☕️'}, - * {type: 'lunch', item: '🌯'}, - * {type: 'dinner', item: '🍝'}, - * {type: 'breakfast', item: '🥐'}, - * {type: 'lunch', item: '🍕'} - * ]); - * - * // [ [ {type: 'breakfast', item: '☕️'}, - * // {type: 'breakfast', item: '🥐'} ], - * // [ {type: 'lunch', item: '🌯'}, - * // {type: 'lunch', item: '🍕'} ], - * // [ {type: 'dinner', item: '🍝'} ] ] - */ - -var collectBy = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function collectBy(fn, list) { - var group = _reduce(function (o, x) { - var tag = fn(x); - if (o[tag] === undefined) { - o[tag] = []; - } - o[tag].push(x); - return o; - }, {}, list); - var newList = []; - for (var tag in group) { - newList.push(group[tag]); - } - return newList; -}))); -/* harmony default export */ const es_collectBy = ((/* unused pure expression or super */ null && (collectBy))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/not.js - -/** - * A function that returns the `!` of its argument. It will return `true` when - * passed false-y value, and `false` when passed a truth-y one. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig * -> Boolean - * @param {*} a any value - * @return {Boolean} the logical inverse of passed argument. - * @see R.complement - * @example - * - * R.not(true); //=> false - * R.not(false); //=> true - * R.not(0); //=> true - * R.not(1); //=> false - */ +/***/ 3384 +(module, __unused_webpack_exports, __webpack_require__) { -var not = /*#__PURE__*/ -_curry1_curry1(function not(a) { - return !a; -}); -/* harmony default export */ const es_not = (not); -;// CONCATENATED MODULE: ./node_modules/ramda/es/complement.js +"use strict"; -/** - * Takes a function `f` and returns a function `g` such that if called with the same arguments - * when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`. - * - * `R.complement` may be applied to any functor - * - * @func - * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> *) -> (*... -> Boolean) - * @param {Function} f - * @return {Function} - * @see R.not - * @example - * - * const isNotNil = R.complement(R.isNil); - * R.isNil(null); //=> true - * isNotNil(null); //=> false - * R.isNil(7); //=> false - * isNotNil(7); //=> true - */ - -var complement = /*#__PURE__*/ -es_lift(es_not); -/* harmony default export */ const es_complement = ((/* unused pure expression or super */ null && (complement))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_pipe.js -function _pipe(f, g) { - return function () { - return g.call(this, f.apply(this, arguments)); - }; +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(6771), + kProxy = _require.kProxy, + kClose = _require.kClose, + kDestroy = _require.kDestroy, + kDispatch = _require.kDispatch, + kInterceptors = _require.kInterceptors; +var _require2 = __webpack_require__(3136), + URL = _require2.URL; +var Agent = __webpack_require__(5765); +var Pool = __webpack_require__(9452); +var DispatcherBase = __webpack_require__(7545); +var _require3 = __webpack_require__(3515), + InvalidArgumentError = _require3.InvalidArgumentError, + RequestAbortedError = _require3.RequestAbortedError, + SecureProxyConnectionError = _require3.SecureProxyConnectionError; +var buildConnector = __webpack_require__(200); +var Client = __webpack_require__(9085); +var kAgent = Symbol('proxy agent'); +var kClient = Symbol('proxy client'); +var kProxyHeaders = Symbol('proxy headers'); +var kRequestTls = Symbol('request tls settings'); +var kProxyTls = Symbol('proxy tls settings'); +var kConnectEndpoint = Symbol('connect endpoint function'); +var kTunnelProxy = Symbol('tunnel proxy'); +function defaultProtocolPort(protocol) { + return protocol === 'https:' ? 443 : 80; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_checkForMethod.js +function defaultFactory(origin, opts) { + return new Pool(origin, opts); +} +var noop = function noop() {}; +function defaultAgentFactory(origin, opts) { + if (opts.connections === 1) { + return new Client(origin, opts); + } + return new Pool(origin, opts); +} +var _client = /*#__PURE__*/new WeakMap(); +var Http1ProxyWrapper = /*#__PURE__*/function (_DispatcherBase) { + function Http1ProxyWrapper(proxyUrl, _ref) { + var _this; + var _ref$headers = _ref.headers, + headers = _ref$headers === void 0 ? {} : _ref$headers, + connect = _ref.connect, + factory = _ref.factory; + _classCallCheck(this, Http1ProxyWrapper); + _this = _callSuper(this, Http1ProxyWrapper); + _classPrivateFieldInitSpec(_this, _client, void 0); + if (!proxyUrl) { + throw new InvalidArgumentError('Proxy URL is mandatory'); + } + _this[kProxyHeaders] = headers; + if (factory) { + _classPrivateFieldSet(_client, _this, factory(proxyUrl, { + connect: connect + })); + } else { + _classPrivateFieldSet(_client, _this, new Client(proxyUrl, { + connect: connect + })); + } + return _this; + } + _inherits(Http1ProxyWrapper, _DispatcherBase); + return _createClass(Http1ProxyWrapper, [{ + key: kDispatch, + value: function value(opts, handler) { + var onHeaders = handler.onHeaders; + handler.onHeaders = function (statusCode, data, resume) { + if (statusCode === 407) { + if (typeof handler.onError === 'function') { + handler.onError(new InvalidArgumentError('Proxy Authentication Required (407)')); + } + return; + } + if (onHeaders) onHeaders.call(this, statusCode, data, resume); + }; + // Rewrite request as an HTTP1 Proxy request, without tunneling. + var origin = opts.origin, + _opts$path = opts.path, + path = _opts$path === void 0 ? '/' : _opts$path, + _opts$headers = opts.headers, + headers = _opts$headers === void 0 ? {} : _opts$headers; + opts.path = origin + path; + if (!('host' in headers) && !('Host' in headers)) { + var _URL = new URL(origin), + host = _URL.host; + headers.host = host; + } + opts.headers = _objectSpread(_objectSpread({}, this[kProxyHeaders]), headers); + return _classPrivateFieldGet(_client, this)[kDispatch](opts, handler); + } + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + return _context.a(2, _classPrivateFieldGet(_client, this).close()); + } + }, _callee, this); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }, { + key: kDestroy, + value: function () { + var _value2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(err) { + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + return _context2.a(2, _classPrivateFieldGet(_client, this).destroy(err)); + } + }, _callee2, this); + })); + function value(_x) { + return _value2.apply(this, arguments); + } + return value; + }() + }]); +}(DispatcherBase); +var _ProxyAgent_brand = /*#__PURE__*/new WeakSet(); +var ProxyAgent = /*#__PURE__*/function (_DispatcherBase2) { + function ProxyAgent(_opts) { + var _opts$interceptors; + var _this2; + _classCallCheck(this, ProxyAgent); + _this2 = _callSuper(this, ProxyAgent); + /** + * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts + * @returns {URL} + */ + _classPrivateMethodInitSpec(_this2, _ProxyAgent_brand); + if (!_opts || typeof _opts === 'object' && !(_opts instanceof URL) && !_opts.uri) { + throw new InvalidArgumentError('Proxy uri is mandatory'); + } + var _opts$clientFactory = _opts.clientFactory, + clientFactory = _opts$clientFactory === void 0 ? defaultFactory : _opts$clientFactory; + if (typeof clientFactory !== 'function') { + throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.'); + } + var _opts$proxyTunnel = _opts.proxyTunnel, + proxyTunnel = _opts$proxyTunnel === void 0 ? true : _opts$proxyTunnel; + var url = _assertClassBrand(_ProxyAgent_brand, _this2, _getUrl).call(_this2, _opts); + var href = url.href, + origin = url.origin, + port = url.port, + protocol = url.protocol, + username = url.username, + password = url.password, + proxyHostname = url.hostname; + _this2[kProxy] = { + uri: href, + protocol: protocol + }; + _this2[kInterceptors] = (_opts$interceptors = _opts.interceptors) !== null && _opts$interceptors !== void 0 && _opts$interceptors.ProxyAgent && Array.isArray(_opts.interceptors.ProxyAgent) ? _opts.interceptors.ProxyAgent : []; + _this2[kRequestTls] = _opts.requestTls; + _this2[kProxyTls] = _opts.proxyTls; + _this2[kProxyHeaders] = _opts.headers || {}; + _this2[kTunnelProxy] = proxyTunnel; + if (_opts.auth && _opts.token) { + throw new InvalidArgumentError('opts.auth cannot be used in combination with opts.token'); + } else if (_opts.auth) { + /* @deprecated in favour of opts.token */ + _this2[kProxyHeaders]['proxy-authorization'] = "Basic ".concat(_opts.auth); + } else if (_opts.token) { + _this2[kProxyHeaders]['proxy-authorization'] = _opts.token; + } else if (username && password) { + _this2[kProxyHeaders]['proxy-authorization'] = "Basic ".concat(Buffer.from("".concat(decodeURIComponent(username), ":").concat(decodeURIComponent(password))).toString('base64')); + } + var connect = buildConnector(_objectSpread({}, _opts.proxyTls)); + _this2[kConnectEndpoint] = buildConnector(_objectSpread({}, _opts.requestTls)); + var agentFactory = _opts.factory || defaultAgentFactory; + var factory = function factory(origin, options) { + var _URL2 = new URL(origin), + protocol = _URL2.protocol; + if (!_this2[kTunnelProxy] && protocol === 'http:' && _this2[kProxy].protocol === 'http:') { + return new Http1ProxyWrapper(_this2[kProxy].uri, { + headers: _this2[kProxyHeaders], + connect: connect, + factory: agentFactory + }); + } + return agentFactory(origin, options); + }; + _this2[kClient] = clientFactory(url, { + connect: connect + }); + _this2[kAgent] = new Agent(_objectSpread(_objectSpread({}, _opts), {}, { + factory: factory, + connect: function () { + var _connect = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(opts, callback) { + var requestedPath, _this2$kProxyTls, _yield$_this2$kClient, socket, statusCode, servername, _t; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.p = _context3.n) { + case 0: + requestedPath = opts.host; + if (!opts.port) { + requestedPath += ":".concat(defaultProtocolPort(opts.protocol)); + } + _context3.p = 1; + _context3.n = 2; + return _this2[kClient].connect({ + origin: origin, + port: port, + path: requestedPath, + signal: opts.signal, + headers: _objectSpread(_objectSpread({}, _this2[kProxyHeaders]), {}, { + host: opts.host + }), + servername: ((_this2$kProxyTls = _this2[kProxyTls]) === null || _this2$kProxyTls === void 0 ? void 0 : _this2$kProxyTls.servername) || proxyHostname + }); + case 2: + _yield$_this2$kClient = _context3.v; + socket = _yield$_this2$kClient.socket; + statusCode = _yield$_this2$kClient.statusCode; + if (statusCode !== 200) { + socket.on('error', noop).destroy(); + callback(new RequestAbortedError("Proxy response (".concat(statusCode, ") !== 200 when HTTP Tunneling"))); + } + if (!(opts.protocol !== 'https:')) { + _context3.n = 3; + break; + } + callback(null, socket); + return _context3.a(2); + case 3: + if (_this2[kRequestTls]) { + servername = _this2[kRequestTls].servername; + } else { + servername = opts.servername; + } + _this2[kConnectEndpoint](_objectSpread(_objectSpread({}, opts), {}, { + servername: servername, + httpSocket: socket + }), callback); + _context3.n = 5; + break; + case 4: + _context3.p = 4; + _t = _context3.v; + if (_t.code === 'ERR_TLS_CERT_ALTNAME_INVALID') { + // Throw a custom error to avoid loop in client.js#connect + callback(new SecureProxyConnectionError(_t)); + } else { + callback(_t); + } + case 5: + return _context3.a(2); + } + }, _callee3, null, [[1, 4]]); + })); + function connect(_x2, _x3) { + return _connect.apply(this, arguments); + } + return connect; + }() + })); + return _this2; + } + _inherits(ProxyAgent, _DispatcherBase2); + return _createClass(ProxyAgent, [{ + key: "dispatch", + value: function dispatch(opts, handler) { + var headers = buildHeaders(opts.headers); + throwIfProxyAuthIsSent(headers); + if (headers && !('host' in headers) && !('Host' in headers)) { + var _URL3 = new URL(opts.origin), + host = _URL3.host; + headers.host = host; + } + return this[kAgent].dispatch(_objectSpread(_objectSpread({}, opts), {}, { + headers: headers + }), handler); + } + }, { + key: kClose, + value: function () { + var _value3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() { + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + _context4.n = 1; + return this[kAgent].close(); + case 1: + _context4.n = 2; + return this[kClient].close(); + case 2: + return _context4.a(2); + } + }, _callee4, this); + })); + function value() { + return _value3.apply(this, arguments); + } + return value; + }() + }, { + key: kDestroy, + value: function () { + var _value4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() { + return _regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + _context5.n = 1; + return this[kAgent].destroy(); + case 1: + _context5.n = 2; + return this[kClient].destroy(); + case 2: + return _context5.a(2); + } + }, _callee5, this); + })); + function value() { + return _value4.apply(this, arguments); + } + return value; + }() + }]); +}(DispatcherBase); /** - * This checks whether a function has a [methodname] function. If it isn't an - * array it will execute that function otherwise it will default to the ramda - * implementation. - * - * @private - * @param {Function} fn ramda implementation - * @param {String} methodname property to check for a custom implementation - * @return {Object} Whatever the return value of the method is. + * @param {string[] | Record} headers + * @returns {Record} */ - -function _checkForMethod_checkForMethod(methodname, fn) { - return function () { - var length = arguments.length; - if (length === 0) { - return fn(); +function _getUrl(opts) { + if (typeof opts === 'string') { + return new URL(opts); + } else if (opts instanceof URL) { + return opts; + } else { + return new URL(opts.uri); + } +} +function buildHeaders(headers) { + // When using undici.fetch, the headers list is stored + // as an array. + if (Array.isArray(headers)) { + /** @type {Record} */ + var headersPair = {}; + for (var i = 0; i < headers.length; i += 2) { + headersPair[headers[i]] = headers[i + 1]; } - var obj = arguments[length - 1]; - return internal_isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); - }; + return headersPair; + } + return headers; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/slice.js - /** - * Returns the elements of the given list or string (or object with a `slice` - * method) from `fromIndex` (inclusive) to `toIndex` (exclusive). - * - * Dispatches to the `slice` method of the third argument, if present. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig Number -> Number -> [a] -> [a] - * @sig Number -> Number -> String -> String - * @param {Number} fromIndex The start index (inclusive). - * @param {Number} toIndex The end index (exclusive). - * @param {*} list - * @return {*} - * @example + * @param {Record} headers * - * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] - * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd'] - * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c'] - * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] - * R.slice(0, 3, 'ramda'); //=> 'ram' + * Previous versions of ProxyAgent suggests the Proxy-Authorization in request headers + * Nevertheless, it was changed and to avoid a security vulnerability by end users + * this check was created. + * It should be removed in the next major version for performance reasons */ +function throwIfProxyAuthIsSent(headers) { + var existProxyAuth = headers && Object.keys(headers).find(function (key) { + return key.toLowerCase() === 'proxy-authorization'; + }); + if (existProxyAuth) { + throw new InvalidArgumentError('Proxy-Authorization should be sent in ProxyAgent constructor'); + } +} +module.exports = ProxyAgent; -var slice_slice = /*#__PURE__*/ -_curry3_curry3( /*#__PURE__*/ -_checkForMethod_checkForMethod('slice', function slice(fromIndex, toIndex, list) { - return Array.prototype.slice.call(list, fromIndex, toIndex); -})); -/* harmony default export */ const es_slice = (slice_slice); -;// CONCATENATED MODULE: ./node_modules/ramda/es/tail.js +/***/ }, +/***/ 7738 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Returns all but the first element of the given list or string (or object - * with a `tail` method). - * - * Dispatches to the `slice` method of the first argument, if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.head, R.init, R.last - * @example - * - * R.tail([1, 2, 3]); //=> [2, 3] - * R.tail([1, 2]); //=> [2] - * R.tail([1]); //=> [] - * R.tail([]); //=> [] - * - * R.tail('abc'); //=> 'bc' - * R.tail('ab'); //=> 'b' - * R.tail('a'); //=> '' - * R.tail(''); //=> '' - */ -var tail_tail = /*#__PURE__*/ -_curry1_curry1( /*#__PURE__*/ -_checkForMethod_checkForMethod('tail', /*#__PURE__*/ -es_slice(1, Infinity))); -/* harmony default export */ const es_tail = (tail_tail); -;// CONCATENATED MODULE: ./node_modules/ramda/es/pipe.js +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var Dispatcher = __webpack_require__(747); +var RetryHandler = __webpack_require__(3728); +var _agent = /*#__PURE__*/new WeakMap(); +var _options = /*#__PURE__*/new WeakMap(); +var RetryAgent = /*#__PURE__*/function (_Dispatcher) { + function RetryAgent(agent) { + var _this; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, RetryAgent); + _this = _callSuper(this, RetryAgent, [options]); + _classPrivateFieldInitSpec(_this, _agent, null); + _classPrivateFieldInitSpec(_this, _options, null); + _classPrivateFieldSet(_agent, _this, agent); + _classPrivateFieldSet(_options, _this, options); + return _this; + } + _inherits(RetryAgent, _Dispatcher); + return _createClass(RetryAgent, [{ + key: "dispatch", + value: function dispatch(opts, handler) { + var retry = new RetryHandler(_objectSpread(_objectSpread({}, opts), {}, { + retryOptions: _classPrivateFieldGet(_options, this) + }), { + dispatch: _classPrivateFieldGet(_agent, this).dispatch.bind(_classPrivateFieldGet(_agent, this)), + handler: handler + }); + return _classPrivateFieldGet(_agent, this).dispatch(opts, retry); + } + }, { + key: "close", + value: function close() { + return _classPrivateFieldGet(_agent, this).close(); + } + }, { + key: "destroy", + value: function destroy() { + return _classPrivateFieldGet(_agent, this).destroy(); + } + }]); +}(Dispatcher); +module.exports = RetryAgent; +/***/ }, +/***/ 4397 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Performs left-to-right function composition. The first argument may have - * any arity; the remaining arguments must be unary. - * - * In some libraries this function is named `sequence`. - * - * **Note:** The result of pipe is not automatically curried. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z) - * @param {...Function} functions - * @return {Function} - * @see R.compose - * @example - * - * const f = R.pipe(Math.pow, R.negate, R.inc); - * - * f(3, 4); // -(3^4) + 1 - * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b))) - * @symb R.pipe(f, g, h)(a)(b) = h(g(f(a)))(b) - */ -function pipe() { - if (arguments.length === 0) { - throw new Error('pipe requires at least one argument'); +// We include a version number for the Dispatcher API. In case of breaking changes, +// this version number must be increased to avoid conflicts. +var globalDispatcher = Symbol["for"]('undici.globalDispatcher.1'); +var _require = __webpack_require__(3515), + InvalidArgumentError = _require.InvalidArgumentError; +var Agent = __webpack_require__(5765); +if (getGlobalDispatcher() === undefined) { + setGlobalDispatcher(new Agent()); +} +function setGlobalDispatcher(agent) { + if (!agent || typeof agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument agent must implement Agent'); } - return _arity_arity(arguments[0].length, es_reduce(_pipe, arguments[0], es_tail(arguments))); + Object.defineProperty(globalThis, globalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }); } -;// CONCATENATED MODULE: ./node_modules/ramda/es/reverse.js - +function getGlobalDispatcher() { + return globalThis[globalDispatcher]; +} +module.exports = { + setGlobalDispatcher: setGlobalDispatcher, + getGlobalDispatcher: getGlobalDispatcher +}; -/** - * Returns a new list or string with the elements or characters in reverse - * order. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {Array|String} list - * @return {Array|String} - * @example - * - * R.reverse([1, 2, 3]); //=> [3, 2, 1] - * R.reverse([1, 2]); //=> [2, 1] - * R.reverse([1]); //=> [1] - * R.reverse([]); //=> [] - * - * R.reverse('abc'); //=> 'cba' - * R.reverse('ab'); //=> 'ba' - * R.reverse('a'); //=> 'a' - * R.reverse(''); //=> '' - */ +/***/ }, -var reverse_reverse = /*#__PURE__*/ -_curry1_curry1(function reverse(list) { - return _isString_isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse(); -}); -/* harmony default export */ const es_reverse = (reverse_reverse); -;// CONCATENATED MODULE: ./node_modules/ramda/es/compose.js +/***/ 6435 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Performs right-to-left function composition. The last argument may have - * any arity; the remaining arguments must be unary. - * - * **Note:** The result of compose is not automatically curried. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z) - * @param {...Function} ...functions The functions to compose - * @return {Function} - * @see R.pipe - * @example - * - * const classyGreeting = (firstName, lastName) => "The name's " + lastName + ", " + firstName + " " + lastName - * const yellGreeting = R.compose(R.toUpper, classyGreeting); - * yellGreeting('James', 'Bond'); //=> "THE NAME'S BOND, JAMES BOND" - * - * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7 - * - * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b))) - * @symb R.compose(f, g, h)(a)(b) = f(g(h(a)))(b) - */ -function compose() { - if (arguments.length === 0) { - throw new Error('compose requires at least one argument'); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _handler; +module.exports = (_handler = /*#__PURE__*/new WeakMap(), /*#__PURE__*/function () { + function DecoratorHandler(handler) { + _classCallCheck(this, DecoratorHandler); + _classPrivateFieldInitSpec(this, _handler, void 0); + if (typeof handler !== 'object' || handler === null) { + throw new TypeError('handler must be an object'); + } + _classPrivateFieldSet(_handler, this, handler); } - return pipe.apply(this, es_reverse(arguments)); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/pipeWith.js - - + return _createClass(DecoratorHandler, [{ + key: "onConnect", + value: function onConnect() { + var _classPrivateFieldGet2, _classPrivateFieldGet3; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return (_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(_handler, this)).onConnect) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.call.apply(_classPrivateFieldGet2, [_classPrivateFieldGet3].concat(args)); + } + }, { + key: "onError", + value: function onError() { + var _classPrivateFieldGet4, _classPrivateFieldGet5; + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return (_classPrivateFieldGet4 = (_classPrivateFieldGet5 = _classPrivateFieldGet(_handler, this)).onError) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.call.apply(_classPrivateFieldGet4, [_classPrivateFieldGet5].concat(args)); + } + }, { + key: "onUpgrade", + value: function onUpgrade() { + var _classPrivateFieldGet6, _classPrivateFieldGet7; + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + return (_classPrivateFieldGet6 = (_classPrivateFieldGet7 = _classPrivateFieldGet(_handler, this)).onUpgrade) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.call.apply(_classPrivateFieldGet6, [_classPrivateFieldGet7].concat(args)); + } + }, { + key: "onResponseStarted", + value: function onResponseStarted() { + var _classPrivateFieldGet8, _classPrivateFieldGet9; + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return (_classPrivateFieldGet8 = (_classPrivateFieldGet9 = _classPrivateFieldGet(_handler, this)).onResponseStarted) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.call.apply(_classPrivateFieldGet8, [_classPrivateFieldGet9].concat(args)); + } + }, { + key: "onHeaders", + value: function onHeaders() { + var _classPrivateFieldGet0, _classPrivateFieldGet1; + for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { + args[_key5] = arguments[_key5]; + } + return (_classPrivateFieldGet0 = (_classPrivateFieldGet1 = _classPrivateFieldGet(_handler, this)).onHeaders) === null || _classPrivateFieldGet0 === void 0 ? void 0 : _classPrivateFieldGet0.call.apply(_classPrivateFieldGet0, [_classPrivateFieldGet1].concat(args)); + } + }, { + key: "onData", + value: function onData() { + var _classPrivateFieldGet10, _classPrivateFieldGet11; + for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { + args[_key6] = arguments[_key6]; + } + return (_classPrivateFieldGet10 = (_classPrivateFieldGet11 = _classPrivateFieldGet(_handler, this)).onData) === null || _classPrivateFieldGet10 === void 0 ? void 0 : _classPrivateFieldGet10.call.apply(_classPrivateFieldGet10, [_classPrivateFieldGet11].concat(args)); + } + }, { + key: "onComplete", + value: function onComplete() { + var _classPrivateFieldGet12, _classPrivateFieldGet13; + for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { + args[_key7] = arguments[_key7]; + } + return (_classPrivateFieldGet12 = (_classPrivateFieldGet13 = _classPrivateFieldGet(_handler, this)).onComplete) === null || _classPrivateFieldGet12 === void 0 ? void 0 : _classPrivateFieldGet12.call.apply(_classPrivateFieldGet12, [_classPrivateFieldGet13].concat(args)); + } + }, { + key: "onBodySent", + value: function onBodySent() { + var _classPrivateFieldGet14, _classPrivateFieldGet15; + for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { + args[_key8] = arguments[_key8]; + } + return (_classPrivateFieldGet14 = (_classPrivateFieldGet15 = _classPrivateFieldGet(_handler, this)).onBodySent) === null || _classPrivateFieldGet14 === void 0 ? void 0 : _classPrivateFieldGet14.call.apply(_classPrivateFieldGet14, [_classPrivateFieldGet15].concat(args)); + } + }]); +}()); +/***/ }, +/***/ 3898 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Performs left-to-right function composition using transforming function. The first function may have - * any arity; the remaining functions must be unary. - * - * **Note:** The result of pipeWith is not automatically curried. Transforming function is not used on the - * first argument. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Function - * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z) - * @param {Function} transformer The transforming function - * @param {Array} functions The functions to pipe - * @return {Function} - * @see R.composeWith, R.pipe - * @example - * - * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res)); - * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc]) - * - * f(3, 4); // -(3^4) + 1 - * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, g(...args))) - */ -var pipeWith_pipeWith = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function pipeWith(xf, list) { - if (list.length <= 0) { - return identity; +var _objectSpread = (__webpack_require__(2897)["default"]); +var _regeneratorValues = (__webpack_require__(579)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _wrapAsyncGenerator = (__webpack_require__(2958)["default"]); +var _awaitAsyncGenerator = (__webpack_require__(3344)["default"]); +var _asyncGeneratorDelegate = (__webpack_require__(3513)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var util = __webpack_require__(6632); +var _require = __webpack_require__(6771), + kBodyUsed = _require.kBodyUsed; +var assert = __webpack_require__(4589); +var _require2 = __webpack_require__(3515), + InvalidArgumentError = _require2.InvalidArgumentError; +var EE = __webpack_require__(8474); +var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; +var kBody = Symbol('body'); +var BodyAsyncIterable = /*#__PURE__*/function () { + function BodyAsyncIterable(body) { + _classCallCheck(this, BodyAsyncIterable); + this[kBody] = body; + this[kBodyUsed] = false; } - var headList = head(list); - var tailList = tail(list); - return _arity(headList.length, function () { - return _reduce(function (result, f) { - return xf.call(this, f, result); - }, headList.apply(this, arguments), tailList); - }); -}))); -/* harmony default export */ const es_pipeWith = ((/* unused pure expression or super */ null && (pipeWith_pipeWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/composeWith.js - - - -/** - * Performs right-to-left function composition using transforming function. The last function may have - * any arity; the remaining functions must be unary. - * - * **Note:** The result of composeWith is not automatically curried. Transforming function is not used - * on the last argument. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Function - * @sig ((* -> *), [(y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)]) -> ((a, b, ..., n) -> z) - * @param {Function} transformer The transforming function - * @param {Array} functions The functions to compose - * @return {Function} - * @see R.compose, R.pipeWith - * @example - * - * const composeWhileNotNil = R.composeWith((f, res) => R.isNil(res) ? res : f(res)); - * - * composeWhileNotNil([R.inc, R.prop('age')])({age: 1}) //=> 2 - * composeWhileNotNil([R.inc, R.prop('age')])({}) //=> undefined - * - * @symb R.composeWith(f)([g, h, i])(...args) = f(g, f(h, i(...args))) - */ - -var composeWith = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function composeWith(xf, list) { - return pipeWith.apply(this, [xf, reverse(list)]); -}))); -/* harmony default export */ const es_composeWith = ((/* unused pure expression or super */ null && (composeWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_arrayFromIterator.js -function _arrayFromIterator(iter) { - var list = []; - var next; - while (!(next = iter.next()).done) { - list.push(next.value); + return _createClass(BodyAsyncIterable, [{ + key: Symbol.asyncIterator, + value: function value() { + var _this = this; + return _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + assert(!_this[kBodyUsed], 'disturbed'); + _this[kBodyUsed] = true; + return _context.d(_regeneratorValues(_asyncGeneratorDelegate(_asyncIterator(_this[kBody]), _awaitAsyncGenerator)), 1); + case 1: + return _context.a(2); + } + }, _callee); + }))(); + } + }]); +}(); +var RedirectHandler = /*#__PURE__*/function () { + function RedirectHandler(dispatch, maxRedirections, opts, handler) { + _classCallCheck(this, RedirectHandler); + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError('maxRedirections must be a positive number'); + } + util.validateHandler(handler, opts.method, opts.upgrade); + this.dispatch = dispatch; + this.location = null; + this.abort = null; + this.opts = _objectSpread(_objectSpread({}, opts), {}, { + maxRedirections: 0 + }); // opts must be a copy + this.maxRedirections = maxRedirections; + this.handler = handler; + this.history = []; + this.redirectionLimitReached = false; + if (util.isStream(this.opts.body)) { + // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp + // so that it can be dispatched again? + // TODO (fix): Do we need 100-expect support to provide a way to do this properly? + if (util.bodyLength(this.opts.body) === 0) { + this.opts.body.on('data', function () { + assert(false); + }); + } + if (typeof this.opts.body.readableDidRead !== 'boolean') { + this.opts.body[kBodyUsed] = false; + EE.prototype.on.call(this.opts.body, 'data', function () { + this[kBodyUsed] = true; + }); + } + } else if (this.opts.body && typeof this.opts.body.pipeTo === 'function') { + // TODO (fix): We can't access ReadableStream internal state + // to determine whether or not it has been disturbed. This is just + // a workaround. + this.opts.body = new BodyAsyncIterable(this.opts.body); + } else if (this.opts.body && typeof this.opts.body !== 'string' && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) { + // TODO: Should we allow re-using iterable if !this.opts.idempotent + // or through some other flag? + this.opts.body = new BodyAsyncIterable(this.opts.body); + } } - return list; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_includesWith.js -function _includesWith(pred, x, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - if (pred(x, list[idx])) { - return true; + return _createClass(RedirectHandler, [{ + key: "onConnect", + value: function onConnect(abort) { + this.abort = abort; + this.handler.onConnect(abort, { + history: this.history + }); + } + }, { + key: "onUpgrade", + value: function onUpgrade(statusCode, headers, socket) { + this.handler.onUpgrade(statusCode, headers, socket); + } + }, { + key: "onError", + value: function onError(error) { + this.handler.onError(error); + } + }, { + key: "onHeaders", + value: function onHeaders(statusCode, headers, resume, statusText) { + this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) { + if (this.request) { + this.request.abort(new Error('max redirects')); + } + this.redirectionLimitReached = true; + this.abort(new Error('max redirects')); + return; + } + if (this.opts.origin) { + this.history.push(new URL(this.opts.path, this.opts.origin)); + } + if (!this.location) { + return this.handler.onHeaders(statusCode, headers, resume, statusText); + } + var _util$parseURL = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))), + origin = _util$parseURL.origin, + pathname = _util$parseURL.pathname, + search = _util$parseURL.search; + var path = search ? "".concat(pathname).concat(search) : pathname; + + // Remove headers referring to the original URL. + // By default it is Host only, unless it's a 303 (see below), which removes also all Content-* headers. + // https://tools.ietf.org/html/rfc7231#section-6.4 + this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); + this.opts.path = path; + this.opts.origin = origin; + this.opts.maxRedirections = 0; + this.opts.query = null; + + // https://tools.ietf.org/html/rfc7231#section-6.4.4 + // In case of HTTP 303, always replace method to be either HEAD or GET + if (statusCode === 303 && this.opts.method !== 'HEAD') { + this.opts.method = 'GET'; + this.opts.body = null; + } + } + }, { + key: "onData", + value: function onData(chunk) { + if (this.location) { + /* + https://tools.ietf.org/html/rfc7231#section-6.4 + TLDR: undici always ignores 3xx response bodies. + Redirection is used to serve the requested resource from another URL, so it is assumes that + no body is generated (and thus can be ignored). Even though generating a body is not prohibited. + For status 301, 302, 303, 307 and 308 (the latter from RFC 7238), the specs mention that the body usually + (which means it's optional and not mandated) contain just an hyperlink to the value of + the Location response header, so the body can be ignored safely. + For status 300, which is "Multiple Choices", the spec mentions both generating a Location + response header AND a response body with the other possible location to follow. + Since the spec explicitly chooses not to specify a format for such body and leave it to + servers and browsers implementors, we ignore the body as there is no specified way to eventually parse it. + */ + } else { + return this.handler.onData(chunk); + } + } + }, { + key: "onComplete", + value: function onComplete(trailers) { + if (this.location) { + /* + https://tools.ietf.org/html/rfc7231#section-6.4 + TLDR: undici always ignores 3xx response trailers as they are not expected in case of redirections + and neither are useful if present. + See comment on onData method above for more detailed information. + */ + + this.location = null; + this.abort = null; + this.dispatch(this.opts, this); + } else { + this.handler.onComplete(trailers); + } + } + }, { + key: "onBodySent", + value: function onBodySent(chunk) { + if (this.handler.onBodySent) { + this.handler.onBodySent(chunk); + } + } + }]); +}(); +function parseLocation(statusCode, headers) { + if (redirectableStatusCodes.indexOf(statusCode) === -1) { + return null; + } + for (var i = 0; i < headers.length; i += 2) { + if (headers[i].length === 8 && util.headerNameToString(headers[i]) === 'location') { + return headers[i + 1]; } - idx += 1; } - return false; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_functionName.js -function _functionName(f) { - // String(x => x) evaluates to "x => x", so the pattern may not match. - var match = String(f).match(/^function (\w*)/); - return match == null ? '' : match[1]; + +// https://tools.ietf.org/html/rfc7231#section-6.4.4 +function shouldRemoveHeader(header, removeContent, unknownOrigin) { + if (header.length === 4) { + return util.headerNameToString(header) === 'host'; + } + if (removeContent && util.headerNameToString(header).startsWith('content-')) { + return true; + } + if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { + var name = util.headerNameToString(header); + return name === 'authorization' || name === 'cookie' || name === 'proxy-authorization'; + } + return false; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_objectIs.js -// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is -function _objectIs(a, b) { - // SameValue algorithm - if (a === b) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - return a !== 0 || 1 / a === 1 / b; + +// https://tools.ietf.org/html/rfc7231#section-6.4 +function cleanRequestHeaders(headers, removeContent, unknownOrigin) { + var ret = []; + if (Array.isArray(headers)) { + for (var i = 0; i < headers.length; i += 2) { + if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) { + ret.push(headers[i], headers[i + 1]); + } + } + } else if (headers && typeof headers === 'object') { + for (var _i = 0, _Object$keys = Object.keys(headers); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { + ret.push(key, headers[key]); + } + } } else { - // Step 6.a: NaN == NaN - return a !== a && b !== b; + assert(headers == null, 'headers must be an object or an array'); } + return ret; } -/* harmony default export */ const internal_objectIs = (typeof Object.is === 'function' ? Object.is : _objectIs); -;// CONCATENATED MODULE: ./node_modules/ramda/es/type.js - -/** - * Gives a single-word string description of the (native) type of a value, - * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not - * attempt to distinguish user Object types any further, reporting them all as - * 'Object'. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Type - * @sig (* -> {*}) -> String - * @param {*} val The value to test - * @return {String} - * @example - * - * R.type({}); //=> "Object" - * R.type(1); //=> "Number" - * R.type(false); //=> "Boolean" - * R.type('s'); //=> "String" - * R.type(null); //=> "Null" - * R.type([]); //=> "Array" - * R.type(/[A-z]/); //=> "RegExp" - * R.type(() => {}); //=> "Function" - * R.type(undefined); //=> "Undefined" - */ - -var type = /*#__PURE__*/ -_curry1_curry1(function type(val) { - return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1); -}); -/* harmony default export */ const es_type = (type); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_equals.js - +module.exports = RedirectHandler; +/***/ }, +/***/ 3728 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; - -/** - * private _uniqContentEquals function. - * That function is checking equality of 2 iterator contents with 2 assumptions - * - iterators lengths are the same - * - iterators values are unique - * - * false-positive result will be returned for comparison of, e.g. - * - [1,2,3] and [1,2,3,4] - * - [1,1,1] and [1,2,3] - * */ - -function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { - var a = _arrayFromIterator(aIterator); - var b = _arrayFromIterator(bIterator); - function eq(_a, _b) { - return _equals(_a, _b, stackA.slice(), stackB.slice()); - } // if *a* array contains any element that is not included in *b* - - return !_includesWith(function (b, aItem) { - return !_includesWith(eq, aItem, b); - }, b, a); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _excluded = ["retryOptions"]; +var assert = __webpack_require__(4589); +var _require = __webpack_require__(6771), + kRetryHandlerDefaultRetry = _require.kRetryHandlerDefaultRetry; +var _require2 = __webpack_require__(3515), + RequestRetryError = _require2.RequestRetryError; +var _require3 = __webpack_require__(6632), + isDisturbed = _require3.isDisturbed, + parseHeaders = _require3.parseHeaders, + parseRangeHeader = _require3.parseRangeHeader, + wrapRequestBody = _require3.wrapRequestBody; +function calculateRetryAfterHeader(retryAfter) { + var current = Date.now(); + return new Date(retryAfter).getTime() - current; } -function _equals(a, b, stackA, stackB) { - if (internal_objectIs(a, b)) { - return true; +var RetryHandler = /*#__PURE__*/function () { + function RetryHandler(opts, handlers) { + var _this = this; + _classCallCheck(this, RetryHandler); + var retryOptions = opts.retryOptions, + dispatchOpts = _objectWithoutProperties(opts, _excluded); + var _ref = retryOptions !== null && retryOptions !== void 0 ? retryOptions : {}, + retryFn = _ref.retry, + maxRetries = _ref.maxRetries, + maxTimeout = _ref.maxTimeout, + minTimeout = _ref.minTimeout, + timeoutFactor = _ref.timeoutFactor, + methods = _ref.methods, + errorCodes = _ref.errorCodes, + retryAfter = _ref.retryAfter, + statusCodes = _ref.statusCodes; + this.dispatch = handlers.dispatch; + this.handler = handlers.handler; + this.opts = _objectSpread(_objectSpread({}, dispatchOpts), {}, { + body: wrapRequestBody(opts.body) + }); + this.abort = null; + this.aborted = false; + this.retryOpts = { + retry: retryFn !== null && retryFn !== void 0 ? retryFn : RetryHandler[kRetryHandlerDefaultRetry], + retryAfter: retryAfter !== null && retryAfter !== void 0 ? retryAfter : true, + maxTimeout: maxTimeout !== null && maxTimeout !== void 0 ? maxTimeout : 30 * 1000, + // 30s, + minTimeout: minTimeout !== null && minTimeout !== void 0 ? minTimeout : 500, + // .5s + timeoutFactor: timeoutFactor !== null && timeoutFactor !== void 0 ? timeoutFactor : 2, + maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 5, + // What errors we should retry + methods: methods !== null && methods !== void 0 ? methods : ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'], + // Indicates which errors to retry + statusCodes: statusCodes !== null && statusCodes !== void 0 ? statusCodes : [500, 502, 503, 504, 429], + // List of errors to retry + errorCodes: errorCodes !== null && errorCodes !== void 0 ? errorCodes : ['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'ENETDOWN', 'ENETUNREACH', 'EHOSTDOWN', 'EHOSTUNREACH', 'EPIPE', 'UND_ERR_SOCKET'] + }; + this.retryCount = 0; + this.retryCountCheckpoint = 0; + this.start = 0; + this.end = null; + this.etag = null; + this.resume = null; + + // Handle possible onConnect duplication + this.handler.onConnect(function (reason) { + _this.aborted = true; + if (_this.abort) { + _this.abort(reason); + } else { + _this.reason = reason; + } + }); } - var typeA = es_type(a); - if (typeA !== es_type(b)) { - return false; - } - if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { - return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); - } - if (typeof a.equals === 'function' || typeof b.equals === 'function') { - return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); - } - switch (typeA) { - case 'Arguments': - case 'Array': - case 'Object': - if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') { - return a === b; - } - break; - case 'Boolean': - case 'Number': - case 'String': - if (!(typeof a === typeof b && internal_objectIs(a.valueOf(), b.valueOf()))) { - return false; - } - break; - case 'Date': - if (!internal_objectIs(a.valueOf(), b.valueOf())) { - return false; - } - break; - case 'Error': - return a.name === b.name && a.message === b.message; - case 'RegExp': - if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { - return false; + return _createClass(RetryHandler, [{ + key: "onRequestSent", + value: function onRequestSent() { + if (this.handler.onRequestSent) { + this.handler.onRequestSent(); } - break; - } - var idx = stackA.length - 1; - while (idx >= 0) { - if (stackA[idx] === a) { - return stackB[idx] === b; } - idx -= 1; - } - switch (typeA) { - case 'Map': - if (a.size !== b.size) { - return false; + }, { + key: "onUpgrade", + value: function onUpgrade(statusCode, headers, socket) { + if (this.handler.onUpgrade) { + this.handler.onUpgrade(statusCode, headers, socket); } - return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); - case 'Set': - if (a.size !== b.size) { - return false; + } + }, { + key: "onConnect", + value: function onConnect(abort) { + if (this.aborted) { + abort(this.reason); + } else { + this.abort = abort; } - return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); - case 'Arguments': - case 'Array': - case 'Object': - case 'Boolean': - case 'Number': - case 'String': - case 'Date': - case 'Error': - case 'RegExp': - case 'Int8Array': - case 'Uint8Array': - case 'Uint8ClampedArray': - case 'Int16Array': - case 'Uint16Array': - case 'Int32Array': - case 'Uint32Array': - case 'Float32Array': - case 'Float64Array': - case 'ArrayBuffer': - break; - default: - // Values of other types are only equal if identical. - return false; - } - var keysA = es_keys(a); - if (keysA.length !== es_keys(b).length) { - return false; - } - var extendedStackA = stackA.concat([a]); - var extendedStackB = stackB.concat([b]); - idx = keysA.length - 1; - while (idx >= 0) { - var key = keysA[idx]; - if (!(_has_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { - return false; } - idx -= 1; - } - return true; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/equals.js - - -/** - * Returns `true` if its arguments are equivalent, `false` otherwise. Handles - * cyclical data structures. - * - * Dispatches symmetrically to the `equals` methods of both arguments, if - * present. - * - * @func - * @memberOf R - * @since v0.15.0 - * @category Relation - * @sig a -> b -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @example - * - * R.equals(1, 1); //=> true - * R.equals(1, '1'); //=> false - * R.equals([1, 2, 3], [1, 2, 3]); //=> true - * - * const a = {}; a.v = a; - * const b = {}; b.v = b; - * R.equals(a, b); //=> true - */ + }, { + key: "onBodySent", + value: function onBodySent(chunk) { + if (this.handler.onBodySent) return this.handler.onBodySent(chunk); + } + }, { + key: "onHeaders", + value: function onHeaders(statusCode, rawHeaders, resume, statusMessage) { + var headers = parseHeaders(rawHeaders); + this.retryCount += 1; + if (statusCode >= 300) { + if (this.retryOpts.statusCodes.includes(statusCode) === false) { + return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); + } else { + this.abort(new RequestRetryError('Request failed', statusCode, { + headers: headers, + data: { + count: this.retryCount + } + })); + return false; + } + } -var equals_equals = /*#__PURE__*/ -_curry2_curry2(function equals(a, b) { - return _equals(a, b, [], []); -}); -/* harmony default export */ const es_equals = (equals_equals); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_indexOf.js - -function _indexOf_indexOf(list, a, idx) { - var inf, item; // Array.prototype.indexOf doesn't exist below IE9 - - if (typeof list.indexOf === 'function') { - switch (typeof a) { - case 'number': - if (a === 0) { - // manually crawl the list to distinguish between +0 and -0 - inf = 1 / a; - while (idx < list.length) { - item = list[idx]; - if (item === 0 && 1 / item === inf) { - return idx; + // Checkpoint for resume from where we left it + if (this.resume != null) { + this.resume = null; + + // Only Partial Content 206 supposed to provide Content-Range, + // any other status code that partially consumed the payload + // should not be retry because it would result in downstream + // wrongly concatanete multiple responses. + if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) { + this.abort(new RequestRetryError('server does not support the range header and the payload was partially consumed', statusCode, { + headers: headers, + data: { + count: this.retryCount } - idx += 1; - } - return -1; - } else if (a !== a) { - // NaN - while (idx < list.length) { - item = list[idx]; - if (typeof item === 'number' && item !== item) { - return idx; + })); + return false; + } + var contentRange = parseRangeHeader(headers['content-range']); + // If no content range + if (!contentRange) { + this.abort(new RequestRetryError('Content-Range mismatch', statusCode, { + headers: headers, + data: { + count: this.retryCount } - idx += 1; - } - return -1; - } // non-zero numbers can utilise Set + })); + return false; + } - return list.indexOf(a, idx); - // all these types can utilise Set + // Let's start with a weak etag check + if (this.etag != null && this.etag !== headers.etag) { + this.abort(new RequestRetryError('ETag mismatch', statusCode, { + headers: headers, + data: { + count: this.retryCount + } + })); + return false; + } + var start = contentRange.start, + size = contentRange.size, + _contentRange$end = contentRange.end, + end = _contentRange$end === void 0 ? size - 1 : _contentRange$end; + assert(this.start === start, 'content-range mismatch'); + assert(this.end == null || this.end === end, 'content-range mismatch'); + this.resume = resume; + return true; + } + if (this.end == null) { + if (statusCode === 206) { + // First time we receive 206 + var range = parseRangeHeader(headers['content-range']); + if (range == null) { + return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); + } + var _start = range.start, + _size = range.size, + _range$end = range.end, + _end = _range$end === void 0 ? _size - 1 : _range$end; + assert(_start != null && Number.isFinite(_start), 'content-range mismatch'); + assert(_end != null && Number.isFinite(_end), 'invalid content-length'); + this.start = _start; + this.end = _end; + } - case 'string': - case 'boolean': - case 'function': - case 'undefined': - return list.indexOf(a, idx); - case 'object': - if (a === null) { - // null can utilise Set - return list.indexOf(a, idx); + // We make our best to checkpoint the body for further range headers + if (this.end == null) { + var contentLength = headers['content-length']; + this.end = contentLength != null ? Number(contentLength) - 1 : null; + } + assert(Number.isFinite(this.start)); + assert(this.end == null || Number.isFinite(this.end), 'invalid content-length'); + this.resume = resume; + this.etag = headers.etag != null ? headers.etag : null; + + // Weak etags are not useful for comparison nor cache + // for instance not safe to assume if the response is byte-per-byte + // equal + if (this.etag != null && this.etag.startsWith('W/')) { + this.etag = null; + } + return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage); + } + var err = new RequestRetryError('Request failed', statusCode, { + headers: headers, + data: { + count: this.retryCount } + }); + this.abort(err); + return false; } - } // anything else not covered above, defer to R.equals - - while (idx < list.length) { - if (es_equals(list[idx], a)) { - return idx; + }, { + key: "onData", + value: function onData(chunk) { + this.start += chunk.length; + return this.handler.onData(chunk); } - idx += 1; - } - return -1; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_includes.js - -function _includes_includes(a, list) { - return _indexOf_indexOf(list, a, 0) >= 0; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_toISOString.js -/** - * Polyfill from . - */ -var pad = function pad(n) { - return (n < 10 ? '0' : '') + n; -}; -var _toISOString_toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) { - return d.toISOString(); -} : function _toISOString(d) { - return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'; -}; -/* harmony default export */ const internal_toISOString = ((/* unused pure expression or super */ null && (_toISOString_toISOString))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_complement.js -function _complement_complement(f) { - return function () { - return !f.apply(this, arguments); - }; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_filter.js -function _filter_filter(fn, list) { - var idx = 0; - var len = list.length; - var result = []; - while (idx < len) { - if (fn(list[idx])) { - result[result.length] = list[idx]; + }, { + key: "onComplete", + value: function onComplete(rawTrailers) { + this.retryCount = 0; + return this.handler.onComplete(rawTrailers); } - idx += 1; - } - return result; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isObject.js -function _isObject_isObject(x) { - return Object.prototype.toString.call(x) === '[object Object]'; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xfilter.js - - -var XFilter = /*#__PURE__*/ -function () { - function XFilter(f, xf) { - this.xf = xf; - this.f = f; - } - XFilter.prototype['@@transducer/init'] = _xfBase.init; - XFilter.prototype['@@transducer/result'] = _xfBase.result; - XFilter.prototype['@@transducer/step'] = function (result, input) { - return this.f(input) ? this.xf['@@transducer/step'](result, input) : result; - }; - return XFilter; -}(); -var _xfilter = /*#__PURE__*/ -_curry2_curry2(function _xfilter(f, xf) { - return new XFilter(f, xf); -}); -/* harmony default export */ const internal_xfilter = (_xfilter); -;// CONCATENATED MODULE: ./node_modules/ramda/es/filter.js - - - - - - + }, { + key: "onError", + value: function onError(err) { + if (this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err); + } -/** - * Takes a predicate and a `Filterable`, and returns a new filterable of the - * same type containing the members of the given filterable which satisfy the - * given predicate. Filterable objects include plain objects or any object - * that has a filter method such as `Array`. - * - * Dispatches to the `filter` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> f a - * @param {Function} pred - * @param {Array} filterable - * @return {Array} Filterable - * @see R.reject, R.transduce, R.addIndex - * @example - * - * const isEven = n => n % 2 === 0; - * - * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4] - * - * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} - */ + // We reconcile in case of a mix between network errors + // and server error response + if (this.retryCount - this.retryCountCheckpoint > 0) { + // We count the difference between the last checkpoint and the current retry count + this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint); + } else { + this.retryCount += 1; + } + this.retryOpts.retry(err, { + state: { + counter: this.retryCount + }, + opts: _objectSpread({ + retryOptions: this.retryOpts + }, this.opts) + }, onRetry.bind(this)); + function onRetry(err) { + if (err != null || this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err); + } + if (this.start !== 0) { + var _this$end; + var headers = { + range: "bytes=".concat(this.start, "-").concat((_this$end = this.end) !== null && _this$end !== void 0 ? _this$end : '') + }; -var filter = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['fantasy-land/filter', 'filter'], internal_xfilter, function (pred, filterable) { - return _isObject_isObject(filterable) ? _reduce_reduce(function (acc, key) { - if (pred(filterable[key])) { - acc[key] = filterable[key]; + // Weak etag check - weak etags will make comparison algorithms never match + if (this.etag != null) { + headers['if-match'] = this.etag; + } + this.opts = _objectSpread(_objectSpread({}, this.opts), {}, { + headers: _objectSpread(_objectSpread({}, this.opts.headers), headers) + }); + } + try { + this.retryCountCheckpoint = this.retryCount; + this.dispatch(this.opts, this); + } catch (err) { + this.handler.onError(err); + } + } } - return acc; - }, {}, es_keys(filterable)) : - // else - _filter_filter(pred, filterable); -})); -/* harmony default export */ const es_filter = (filter); -;// CONCATENATED MODULE: ./node_modules/ramda/es/reject.js - + }], [{ + key: kRetryHandlerDefaultRetry, + value: function value(err, _ref2, cb) { + var state = _ref2.state, + opts = _ref2.opts; + var statusCode = err.statusCode, + code = err.code, + headers = err.headers; + var method = opts.method, + retryOptions = opts.retryOptions; + var maxRetries = retryOptions.maxRetries, + minTimeout = retryOptions.minTimeout, + maxTimeout = retryOptions.maxTimeout, + timeoutFactor = retryOptions.timeoutFactor, + statusCodes = retryOptions.statusCodes, + errorCodes = retryOptions.errorCodes, + methods = retryOptions.methods; + var counter = state.counter; + + // Any code that is not a Undici's originated and allowed to retry + if (code && code !== 'UND_ERR_REQ_RETRY' && !errorCodes.includes(code)) { + cb(err); + return; + } + // If a set of method are provided and the current method is not in the list + if (Array.isArray(methods) && !methods.includes(method)) { + cb(err); + return; + } -/** - * The complement of [`filter`](#filter). - * - * Acts as a transducer if a transformer is given in list position. Filterable - * objects include plain objects or any object that has a filter method such - * as `Array`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> f a - * @param {Function} pred - * @param {Array} filterable - * @return {Array} - * @see R.filter, R.transduce, R.addIndex - * @example - * - * const isOdd = (n) => n % 2 !== 0; - * - * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4] - * - * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} - */ + // If a set of status code are provided and the current status code is not in the list + if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { + cb(err); + return; + } -var reject_reject = /*#__PURE__*/ -_curry2_curry2(function reject(pred, filterable) { - return es_filter(_complement_complement(pred), filterable); -}); -/* harmony default export */ const es_reject = (reject_reject); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_toString.js + // If we reached the max number of retries + if (counter > maxRetries) { + cb(err); + return; + } + var retryAfterHeader = headers === null || headers === void 0 ? void 0 : headers['retry-after']; + if (retryAfterHeader) { + retryAfterHeader = Number(retryAfterHeader); + retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; // Retry-After is in seconds + } + var retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * Math.pow(timeoutFactor, counter - 1), maxTimeout); + setTimeout(function () { + return cb(null); + }, retryTimeout); + } + }]); +}(); +module.exports = RetryHandler; +/***/ }, +/***/ 7939 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(7030), + isIP = _require.isIP; +var _require2 = __webpack_require__(610), + lookup = _require2.lookup; +var DecoratorHandler = __webpack_require__(6435); +var _require3 = __webpack_require__(3515), + InvalidArgumentError = _require3.InvalidArgumentError, + InformationalError = _require3.InformationalError; +var maxInt = Math.pow(2, 31) - 1; +var _maxTTL = /*#__PURE__*/new WeakMap(); +var _maxItems = /*#__PURE__*/new WeakMap(); +var _records = /*#__PURE__*/new WeakMap(); +var _DNSInstance_brand = /*#__PURE__*/new WeakSet(); +var DNSInstance = /*#__PURE__*/function () { + function DNSInstance(opts) { + var _opts$lookup, _opts$pick; + _classCallCheck(this, DNSInstance); + _classPrivateMethodInitSpec(this, _DNSInstance_brand); + _classPrivateFieldInitSpec(this, _maxTTL, 0); + _classPrivateFieldInitSpec(this, _maxItems, 0); + _classPrivateFieldInitSpec(this, _records, new Map()); + _defineProperty(this, "dualStack", true); + _defineProperty(this, "affinity", null); + _defineProperty(this, "lookup", null); + _defineProperty(this, "pick", null); + _classPrivateFieldSet(_maxTTL, this, opts.maxTTL); + _classPrivateFieldSet(_maxItems, this, opts.maxItems); + this.dualStack = opts.dualStack; + this.affinity = opts.affinity; + this.lookup = (_opts$lookup = opts.lookup) !== null && _opts$lookup !== void 0 ? _opts$lookup : _assertClassBrand(_DNSInstance_brand, this, _defaultLookup); + this.pick = (_opts$pick = opts.pick) !== null && _opts$pick !== void 0 ? _opts$pick : _assertClassBrand(_DNSInstance_brand, this, _defaultPick); + } + return _createClass(DNSInstance, [{ + key: "full", + get: function get() { + return _classPrivateFieldGet(_records, this).size === _classPrivateFieldGet(_maxItems, this); + } + }, { + key: "runLookup", + value: function runLookup(origin, opts, cb) { + var _this = this; + var ips = _classPrivateFieldGet(_records, this).get(origin.hostname); -function _toString_toString(x, seen) { - var recur = function recur(y) { - var xs = seen.concat([x]); - return _includes(y, xs) ? '' : _toString_toString(y, xs); - }; // mapPairs :: (Object, [String]) -> [String] + // If full, we just return the origin + if (ips == null && this.full) { + cb(null, origin.origin); + return; + } + var newOpts = _objectSpread(_objectSpread({ + affinity: this.affinity, + dualStack: this.dualStack, + lookup: this.lookup, + pick: this.pick + }, opts.dns), {}, { + maxTTL: _classPrivateFieldGet(_maxTTL, this), + maxItems: _classPrivateFieldGet(_maxItems, this) + }); - var mapPairs = function mapPairs(obj, keys) { - return _map(function (k) { - return _quote(k) + ': ' + recur(obj[k]); - }, keys.slice().sort()); - }; - switch (Object.prototype.toString.call(x)) { - case '[object Arguments]': - return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))'; - case '[object Array]': - return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) { - return /^\d+$/.test(k); - }, keys(x)))).join(', ') + ']'; - case '[object Boolean]': - return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString(); - case '[object Date]': - return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')'; - case '[object Null]': - return 'null'; - case '[object Number]': - return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10); - case '[object String]': - return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x); - case '[object Undefined]': - return 'undefined'; - default: - if (typeof x.toString === 'function') { - var repr = x.toString(); - if (repr !== '[object Object]') { - return repr; + // If no IPs we lookup + if (ips == null) { + this.lookup(origin, newOpts, function (err, addresses) { + if (err || addresses == null || addresses.length === 0) { + cb(err !== null && err !== void 0 ? err : new InformationalError('No DNS entries found')); + return; + } + _this.setRecords(origin, addresses); + var records = _classPrivateFieldGet(_records, _this).get(origin.hostname); + var ip = _this.pick(origin, records, newOpts.affinity); + var port; + if (typeof ip.port === 'number') { + port = ":".concat(ip.port); + } else if (origin.port !== '') { + port = ":".concat(origin.port); + } else { + port = ''; + } + cb(null, "".concat(origin.protocol, "//").concat(ip.family === 6 ? "[".concat(ip.address, "]") : ip.address).concat(port)); + }); + } else { + // If there's IPs we pick + var ip = this.pick(origin, ips, newOpts.affinity); + + // If no IPs we lookup - deleting old records + if (ip == null) { + _classPrivateFieldGet(_records, this)["delete"](origin.hostname); + this.runLookup(origin, opts, cb); + return; } + var port; + if (typeof ip.port === 'number') { + port = ":".concat(ip.port); + } else if (origin.port !== '') { + port = ":".concat(origin.port); + } else { + port = ''; + } + cb(null, "".concat(origin.protocol, "//").concat(ip.family === 6 ? "[".concat(ip.address, "]") : ip.address).concat(port)); } - return '{' + mapPairs(x, keys(x)).join(', ') + '}'; - } -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/toString.js - - -/** - * Returns the string representation of the given value. `eval`'ing the output - * should result in a value equivalent to the input value. Many of the built-in - * `toString` methods do not satisfy this requirement. - * - * If the given value is an `[object Object]` with a `toString` method other - * than `Object.prototype.toString`, this method is invoked with no arguments - * to produce the return value. This means user-defined constructor functions - * can provide a suitable `toString` method. For example: - * - * function Point(x, y) { - * this.x = x; - * this.y = y; - * } - * - * Point.prototype.toString = function() { - * return 'new Point(' + this.x + ', ' + this.y + ')'; - * }; - * - * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)' - * - * @func - * @memberOf R - * @since v0.14.0 - * @category String - * @sig * -> String - * @param {*} val - * @return {String} - * @example - * - * R.toString(42); //=> '42' - * R.toString('abc'); //=> '"abc"' - * R.toString([1, 2, 3]); //=> '[1, 2, 3]' - * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{"bar": 2, "baz": 3, "foo": 1}' - * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date("2001-02-03T04:05:06.000Z")' - */ + } + }, { + key: "setRecords", + value: function setRecords(origin, addresses) { + var timestamp = Date.now(); + var records = { + records: { + 4: null, + 6: null + } + }; + var _iterator = _createForOfIteratorHelper(addresses), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _records$records$reco; + var record = _step.value; + record.timestamp = timestamp; + if (typeof record.ttl === 'number') { + // The record TTL is expected to be in ms + record.ttl = Math.min(record.ttl, _classPrivateFieldGet(_maxTTL, this)); + } else { + record.ttl = _classPrivateFieldGet(_maxTTL, this); + } + var familyRecords = (_records$records$reco = records.records[record.family]) !== null && _records$records$reco !== void 0 ? _records$records$reco : { + ips: [] + }; + familyRecords.ips.push(record); + records.records[record.family] = familyRecords; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + _classPrivateFieldGet(_records, this).set(origin.hostname, records); + } + }, { + key: "getHandler", + value: function getHandler(meta, opts) { + return new DNSDispatchHandler(this, meta, opts); + } + }]); +}(); +function _defaultLookup(origin, opts, cb) { + lookup(origin.hostname, { + all: true, + family: this.dualStack === false ? this.affinity : 0, + order: 'ipv4first' + }, function (err, addresses) { + if (err) { + return cb(err); + } + var results = new Map(); + var _iterator2 = _createForOfIteratorHelper(addresses), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var addr = _step2.value; + // On linux we found duplicates, we attempt to remove them with + // the latest record + results.set("".concat(addr.address, ":").concat(addr.family), addr); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + cb(null, results.values()); + }); +} +function _defaultPick(origin, hostnameRecords, affinity) { + var _family$ips$position; + var ip = null; + var records = hostnameRecords.records, + offset = hostnameRecords.offset; + var family; + if (this.dualStack) { + if (affinity == null) { + // Balance between ip families + if (offset == null || offset === maxInt) { + hostnameRecords.offset = 0; + affinity = 4; + } else { + hostnameRecords.offset++; + affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4; + } + } + if (records[affinity] != null && records[affinity].ips.length > 0) { + family = records[affinity]; + } else { + family = records[affinity === 4 ? 6 : 4]; + } + } else { + family = records[affinity]; + } -var toString_toString = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function toString(val) { - return _toString(val, []); -}))); -/* harmony default export */ const es_toString = ((/* unused pure expression or super */ null && (toString_toString))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/concat.js + // If no IPs we return null + if (family == null || family.ips.length === 0) { + return ip; + } + if (family.offset == null || family.offset === maxInt) { + family.offset = 0; + } else { + family.offset++; + } + var position = family.offset % family.ips.length; + ip = (_family$ips$position = family.ips[position]) !== null && _family$ips$position !== void 0 ? _family$ips$position : null; + if (ip == null) { + return ip; + } + if (Date.now() - ip.timestamp > ip.ttl) { + // record TTL is already in ms + // We delete expired records + // It is possible that they have different TTL, so we manage them individually + family.ips.splice(position, 1); + return this.pick(origin, hostnameRecords, affinity); + } + return ip; +} +var _state = /*#__PURE__*/new WeakMap(); +var _opts = /*#__PURE__*/new WeakMap(); +var _dispatch = /*#__PURE__*/new WeakMap(); +var _handler = /*#__PURE__*/new WeakMap(); +var _origin = /*#__PURE__*/new WeakMap(); +var DNSDispatchHandler = /*#__PURE__*/function (_DecoratorHandler) { + function DNSDispatchHandler(state, _ref, opts) { + var _this2; + var origin = _ref.origin, + handler = _ref.handler, + dispatch = _ref.dispatch; + _classCallCheck(this, DNSDispatchHandler); + _this2 = _callSuper(this, DNSDispatchHandler, [handler]); + _classPrivateFieldInitSpec(_this2, _state, null); + _classPrivateFieldInitSpec(_this2, _opts, null); + _classPrivateFieldInitSpec(_this2, _dispatch, null); + _classPrivateFieldInitSpec(_this2, _handler, null); + _classPrivateFieldInitSpec(_this2, _origin, null); + _classPrivateFieldSet(_origin, _this2, origin); + _classPrivateFieldSet(_handler, _this2, handler); + _classPrivateFieldSet(_opts, _this2, _objectSpread({}, opts)); + _classPrivateFieldSet(_state, _this2, state); + _classPrivateFieldSet(_dispatch, _this2, dispatch); + return _this2; + } + _inherits(DNSDispatchHandler, _DecoratorHandler); + return _createClass(DNSDispatchHandler, [{ + key: "onError", + value: function onError(err) { + var _this3 = this; + switch (err.code) { + case 'ETIMEDOUT': + case 'ECONNREFUSED': + { + if (_classPrivateFieldGet(_state, this).dualStack) { + // We delete the record and retry + _classPrivateFieldGet(_state, this).runLookup(_classPrivateFieldGet(_origin, this), _classPrivateFieldGet(_opts, this), function (err, newOrigin) { + if (err) { + return _classPrivateFieldGet(_handler, _this3).onError(err); + } + var dispatchOpts = _objectSpread(_objectSpread({}, _classPrivateFieldGet(_opts, _this3)), {}, { + origin: newOrigin + }); + _classPrivateFieldGet(_dispatch, _this3).call(_this3, dispatchOpts, _this3); + }); + // if dual-stack disabled, we error out + return; + } + _classPrivateFieldGet(_handler, this).onError(err); + return; + } + case 'ENOTFOUND': + _classPrivateFieldGet(_state, this).deleteRecord(_classPrivateFieldGet(_origin, this)); + // eslint-disable-next-line no-fallthrough + default: + _classPrivateFieldGet(_handler, this).onError(err); + break; + } + } + }]); +}(DecoratorHandler); +module.exports = function (interceptorOpts) { + var _interceptorOpts$dual, _interceptorOpts$maxT, _interceptorOpts$look, _interceptorOpts$pick, _interceptorOpts$maxI; + if ((interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxTTL) != null && (typeof (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxTTL) !== 'number' || (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxTTL) < 0)) { + throw new InvalidArgumentError('Invalid maxTTL. Must be a positive number'); + } + if ((interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxItems) != null && (typeof (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxItems) !== 'number' || (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxItems) < 1)) { + throw new InvalidArgumentError('Invalid maxItems. Must be a positive number and greater than zero'); + } + if ((interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.affinity) != null && (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.affinity) !== 4 && (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.affinity) !== 6) { + throw new InvalidArgumentError('Invalid affinity. Must be either 4 or 6'); + } + if ((interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.dualStack) != null && typeof (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.dualStack) !== 'boolean') { + throw new InvalidArgumentError('Invalid dualStack. Must be a boolean'); + } + if ((interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.lookup) != null && typeof (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.lookup) !== 'function') { + throw new InvalidArgumentError('Invalid lookup. Must be a function'); + } + if ((interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.pick) != null && typeof (interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.pick) !== 'function') { + throw new InvalidArgumentError('Invalid pick. Must be a function'); + } + var dualStack = (_interceptorOpts$dual = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.dualStack) !== null && _interceptorOpts$dual !== void 0 ? _interceptorOpts$dual : true; + var affinity; + if (dualStack) { + var _interceptorOpts$affi; + affinity = (_interceptorOpts$affi = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.affinity) !== null && _interceptorOpts$affi !== void 0 ? _interceptorOpts$affi : null; + } else { + var _interceptorOpts$affi2; + affinity = (_interceptorOpts$affi2 = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.affinity) !== null && _interceptorOpts$affi2 !== void 0 ? _interceptorOpts$affi2 : 4; + } + var opts = { + maxTTL: (_interceptorOpts$maxT = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxTTL) !== null && _interceptorOpts$maxT !== void 0 ? _interceptorOpts$maxT : 10e3, + // Expressed in ms + lookup: (_interceptorOpts$look = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.lookup) !== null && _interceptorOpts$look !== void 0 ? _interceptorOpts$look : null, + pick: (_interceptorOpts$pick = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.pick) !== null && _interceptorOpts$pick !== void 0 ? _interceptorOpts$pick : null, + dualStack: dualStack, + affinity: affinity, + maxItems: (_interceptorOpts$maxI = interceptorOpts === null || interceptorOpts === void 0 ? void 0 : interceptorOpts.maxItems) !== null && _interceptorOpts$maxI !== void 0 ? _interceptorOpts$maxI : Infinity + }; + var instance = new DNSInstance(opts); + return function (dispatch) { + return function dnsInterceptor(origDispatchOpts, handler) { + var origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin); + if (isIP(origin.hostname) !== 0) { + return dispatch(origDispatchOpts, handler); + } + instance.runLookup(origin, origDispatchOpts, function (err, newOrigin) { + if (err) { + return handler.onError(err); + } + var dispatchOpts = null; + dispatchOpts = _objectSpread(_objectSpread({}, origDispatchOpts), {}, { + servername: origin.hostname, + // For SNI on TLS + origin: newOrigin, + headers: _objectSpread({ + host: origin.hostname + }, origDispatchOpts.headers) + }); + dispatch(dispatchOpts, instance.getHandler({ + origin: origin, + dispatch: dispatch, + handler: handler + }, origDispatchOpts)); + }); + return true; + }; + }; +}; +/***/ }, +/***/ 8052 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Returns the result of concatenating the given lists or strings. - * - * Note: `R.concat` expects both arguments to be of the same type, - * unlike the native `Array.prototype.concat` method. It will throw - * an error if you `concat` an Array with a non-Array value. - * - * Dispatches to the `concat` method of the first argument, if present. - * Can also concatenate two members of a [fantasy-land - * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup). - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] -> [a] - * @sig String -> String -> String - * @param {Array|String} firstList The first list - * @param {Array|String} secondList The second list - * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of - * `secondList`. - * - * @example - * - * R.concat('ABC', 'DEF'); // 'ABCDEF' - * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] - * R.concat([], []); //=> [] - */ -var concat_concat = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function concat(a, b) { - if (_isArray(a)) { - if (_isArray(b)) { - return a.concat(b); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var util = __webpack_require__(6632); +var _require = __webpack_require__(3515), + InvalidArgumentError = _require.InvalidArgumentError, + RequestAbortedError = _require.RequestAbortedError; +var DecoratorHandler = __webpack_require__(6435); +var _maxSize = /*#__PURE__*/new WeakMap(); +var _abort = /*#__PURE__*/new WeakMap(); +var _dumped = /*#__PURE__*/new WeakMap(); +var _aborted = /*#__PURE__*/new WeakMap(); +var _size = /*#__PURE__*/new WeakMap(); +var _reason = /*#__PURE__*/new WeakMap(); +var _handler = /*#__PURE__*/new WeakMap(); +var _DumpHandler_brand = /*#__PURE__*/new WeakSet(); +var DumpHandler = /*#__PURE__*/function (_DecoratorHandler) { + function DumpHandler(_ref, handler) { + var _this; + var maxSize = _ref.maxSize; + _classCallCheck(this, DumpHandler); + _this = _callSuper(this, DumpHandler, [handler]); + _classPrivateMethodInitSpec(_this, _DumpHandler_brand); + _classPrivateFieldInitSpec(_this, _maxSize, 1024 * 1024); + _classPrivateFieldInitSpec(_this, _abort, null); + _classPrivateFieldInitSpec(_this, _dumped, false); + _classPrivateFieldInitSpec(_this, _aborted, false); + _classPrivateFieldInitSpec(_this, _size, 0); + _classPrivateFieldInitSpec(_this, _reason, null); + _classPrivateFieldInitSpec(_this, _handler, null); + if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) { + throw new InvalidArgumentError('maxSize must be a number greater than 0'); } - throw new TypeError(toString(b) + ' is not an array'); + _classPrivateFieldSet(_maxSize, _this, maxSize !== null && maxSize !== void 0 ? maxSize : _classPrivateFieldGet(_maxSize, _this)); + _classPrivateFieldSet(_handler, _this, handler); + return _this; } - if (_isString(a)) { - if (_isString(b)) { - return a + b; + _inherits(DumpHandler, _DecoratorHandler); + return _createClass(DumpHandler, [{ + key: "onConnect", + value: function onConnect(abort) { + _classPrivateFieldSet(_abort, this, abort); + _classPrivateFieldGet(_handler, this).onConnect(_assertClassBrand(_DumpHandler_brand, this, _customAbort).bind(this)); } - throw new TypeError(toString(b) + ' is not a string'); - } - if (a != null && _isFunction(a['fantasy-land/concat'])) { - return a['fantasy-land/concat'](b); - } - if (a != null && _isFunction(a.concat)) { - return a.concat(b); - } - throw new TypeError(toString(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); -}))); -/* harmony default export */ const es_concat = ((/* unused pure expression or super */ null && (concat_concat))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/cond.js + }, { + key: "onHeaders", + value: + // TODO: will require adjustment after new hooks are out + function onHeaders(statusCode, rawHeaders, resume, statusMessage) { + var headers = util.parseHeaders(rawHeaders); + var contentLength = headers['content-length']; + if (contentLength != null && contentLength > _classPrivateFieldGet(_maxSize, this)) { + throw new RequestAbortedError("Response size (".concat(contentLength, ") larger than maxSize (").concat(_classPrivateFieldGet(_maxSize, this), ")")); + } + if (_classPrivateFieldGet(_aborted, this)) { + return true; + } + return _classPrivateFieldGet(_handler, this).onHeaders(statusCode, rawHeaders, resume, statusMessage); + } + }, { + key: "onError", + value: function onError(err) { + var _classPrivateFieldGet2; + if (_classPrivateFieldGet(_dumped, this)) { + return; + } + err = (_classPrivateFieldGet2 = _classPrivateFieldGet(_reason, this)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : err; + _classPrivateFieldGet(_handler, this).onError(err); + } + }, { + key: "onData", + value: function onData(chunk) { + _classPrivateFieldSet(_size, this, _classPrivateFieldGet(_size, this) + chunk.length); + if (_classPrivateFieldGet(_size, this) >= _classPrivateFieldGet(_maxSize, this)) { + _classPrivateFieldSet(_dumped, this, true); + if (_classPrivateFieldGet(_aborted, this)) { + _classPrivateFieldGet(_handler, this).onError(_classPrivateFieldGet(_reason, this)); + } else { + _classPrivateFieldGet(_handler, this).onComplete([]); + } + } + return true; + } + }, { + key: "onComplete", + value: function onComplete(trailers) { + if (_classPrivateFieldGet(_dumped, this)) { + return; + } + if (_classPrivateFieldGet(_aborted, this)) { + _classPrivateFieldGet(_handler, this).onError(this.reason); + return; + } + _classPrivateFieldGet(_handler, this).onComplete(trailers); + } + }]); +}(DecoratorHandler); +function _customAbort(reason) { + _classPrivateFieldSet(_aborted, this, true); + _classPrivateFieldSet(_reason, this, reason); +} +function createDumpInterceptor() { + var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { + maxSize: 1024 * 1024 + }, + defaultMaxSize = _ref2.maxSize; + return function (dispatch) { + return function Intercept(opts, handler) { + var _opts$dumpMaxSize = opts.dumpMaxSize, + dumpMaxSize = _opts$dumpMaxSize === void 0 ? defaultMaxSize : _opts$dumpMaxSize; + var dumpHandler = new DumpHandler({ + maxSize: dumpMaxSize + }, handler); + return dispatch(opts, dumpHandler); + }; + }; +} +module.exports = createDumpInterceptor; +/***/ }, +/***/ 844 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic. - * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments - * to `fn` are applied to each of the predicates in turn until one returns a - * "truthy" value, at which point `fn` returns the result of applying its - * arguments to the corresponding transformer. If none of the predicates - * matches, `fn` returns undefined. - * - * **Please note**: This is not a direct substitute for a `switch` statement. - * Remember that both elements of every pair passed to `cond` are *functions*, - * and `cond` returns a function. - * - * @func - * @memberOf R - * @since v0.6.0 - * @category Logic - * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *) - * @param {Array} pairs A list of [predicate, transformer] - * @return {Function} - * @see R.ifElse, R.unless, R.when - * @example - * - * const fn = R.cond([ - * [R.equals(0), R.always('water freezes at 0°C')], - * [R.equals(100), R.always('water boils at 100°C')], - * [R.T, temp => 'nothing special happens at ' + temp + '°C'] - * ]); - * fn(0); //=> 'water freezes at 0°C' - * fn(50); //=> 'nothing special happens at 50°C' - * fn(100); //=> 'water boils at 100°C' - */ - -var cond = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function cond(pairs) { - var arity = reduce(max, 0, map(function (pair) { - return pair[0].length; - }, pairs)); - return _arity(arity, function () { - var idx = 0; - while (idx < pairs.length) { - if (pairs[idx][0].apply(this, arguments)) { - return pairs[idx][1].apply(this, arguments); - } - idx += 1; - } - }); -}))); -/* harmony default export */ const es_cond = ((/* unused pure expression or super */ null && (cond))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/max.js +var _objectSpread = (__webpack_require__(2897)["default"]); +var RedirectHandler = __webpack_require__(3898); +function createRedirectInterceptor(_ref) { + var defaultMaxRedirections = _ref.maxRedirections; + return function (dispatch) { + return function Intercept(opts, handler) { + var _opts = opts, + _opts$maxRedirections = _opts.maxRedirections, + maxRedirections = _opts$maxRedirections === void 0 ? defaultMaxRedirections : _opts$maxRedirections; + if (!maxRedirections) { + return dispatch(opts, handler); + } + var redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); + opts = _objectSpread(_objectSpread({}, opts), {}, { + maxRedirections: 0 + }); // Stop sub dispatcher from also redirecting. + return dispatch(opts, redirectHandler); + }; + }; +} +module.exports = createRedirectInterceptor; -/** - * Returns the larger of its two arguments. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> a - * @param {*} a - * @param {*} b - * @return {*} - * @see R.maxBy, R.min - * @example - * - * R.max(789, 123); //=> 789 - * R.max('a', 'b'); //=> 'b' - */ +/***/ }, -var max_max = /*#__PURE__*/ -_curry2_curry2(function max(a, b) { - return b > a ? b : a; -}); -/* harmony default export */ const es_max = (max_max); -;// CONCATENATED MODULE: ./node_modules/ramda/es/converge.js +/***/ 9698 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _excluded = ["maxRedirections"]; +var RedirectHandler = __webpack_require__(3898); +module.exports = function (opts) { + var globalMaxRedirections = opts === null || opts === void 0 ? void 0 : opts.maxRedirections; + return function (dispatch) { + return function redirectInterceptor(opts, handler) { + var _opts$maxRedirections = opts.maxRedirections, + maxRedirections = _opts$maxRedirections === void 0 ? globalMaxRedirections : _opts$maxRedirections, + baseOpts = _objectWithoutProperties(opts, _excluded); + if (!maxRedirections) { + return dispatch(opts, handler); + } + var redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); + return dispatch(baseOpts, redirectHandler); + }; + }; +}; +/***/ }, +/***/ 1186 +(module, __unused_webpack_exports, __webpack_require__) { -/** - * Accepts a converging function and a list of branching functions and returns - * a new function. The arity of the new function is the same as the arity of - * the longest branching function. When invoked, this new function is applied - * to some arguments, and each branching function is applied to those same - * arguments. The results of each branching function are passed as arguments - * to the converging function to produce the return value. - * - * @func - * @memberOf R - * @since v0.4.2 - * @category Function - * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z) - * @param {Function} after A function. `after` will be invoked with the return values of - * `fn1` and `fn2` as its arguments. - * @param {Array} functions A list of functions. - * @return {Function} A new function. - * @see R.useWith - * @example - * - * const average = R.converge(R.divide, [R.sum, R.length]) - * average([1, 2, 3, 4, 5, 6, 7]) //=> 4 - * - * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower]) - * strangeConcat("Yodel") //=> "YODELyodel" - * - * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b)) - */ +"use strict"; -var converge = /*#__PURE__*/ -_curry2_curry2(function converge(after, fns) { - return es_curryN(es_reduce(es_max, 0, es_pluck('length', fns)), function () { - var args = arguments; - var context = this; - return after.apply(context, _map_map(function (fn) { - return fn.apply(context, args); - }, fns)); - }); -}); -/* harmony default export */ const es_converge = (converge); -;// CONCATENATED MODULE: ./node_modules/ramda/es/count.js +var _objectSpread = (__webpack_require__(2897)["default"]); +var RetryHandler = __webpack_require__(3728); +module.exports = function (globalOpts) { + return function (dispatch) { + return function retryInterceptor(opts, handler) { + return dispatch(opts, new RetryHandler(_objectSpread(_objectSpread({}, opts), {}, { + retryOptions: _objectSpread(_objectSpread({}, globalOpts), opts.retryOptions) + }), { + handler: handler, + dispatch: dispatch + })); + }; + }; +}; -/** - * Returns the number of items in a given `list` matching the predicate `f` - * - * @func - * @memberOf R - * @since v0.28.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} predicate to match items against - * @return {Array} list of items to count in - * @example - * - * const even = x => x % 2 == 0; - * - * R.count(even, [1, 2, 3, 4, 5]); // => 2 - * R.map(R.count(even), [[1, 1, 1], [2, 3, 4, 5], [6]]); // => [0, 2, 1] - */ +/***/ }, -var count = /*#__PURE__*/ -(/* unused pure expression or super */ null && (curry(function (pred, list) { - return _reduce(function (a, e) { - return pred(e) ? a + 1 : a; - }, 0, list); -}))); -/* harmony default export */ const es_count = ((/* unused pure expression or super */ null && (count))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_cloneRegExp.js -function _cloneRegExp_cloneRegExp(pattern) { - return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '')); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_clone.js +/***/ 5584 +(__unused_webpack_module, exports, __webpack_require__) { +"use strict"; -/** - * Copies an object. - * - * @private - * @param {*} value The value to be copied - * @param {Array} refFrom Array containing the source references - * @param {Array} refTo Array containing the copied source references - * @param {Boolean} deep Whether or not to perform deep cloning. - * @return {*} The copied value. - */ -function _clone_clone(value, refFrom, refTo, deep) { - var copy = function copy(copiedValue) { - var len = refFrom.length; - var idx = 0; - while (idx < len) { - if (value === refFrom[idx]) { - return refTo[idx]; - } - idx += 1; - } - refFrom[idx] = value; - refTo[idx] = copiedValue; - for (var key in value) { - if (value.hasOwnProperty(key)) { - copiedValue[key] = deep ? _clone_clone(value[key], refFrom, refTo, true) : value[key]; - } - } - return copiedValue; - }; - switch (es_type(value)) { - case 'Object': - return copy(Object.create(Object.getPrototypeOf(value))); - case 'Array': - return copy([]); - case 'Date': - return new Date(value.valueOf()); - case 'RegExp': - return _cloneRegExp_cloneRegExp(value); - case 'Int8Array': - case 'Uint8Array': - case 'Uint8ClampedArray': - case 'Int16Array': - case 'Uint16Array': - case 'Int32Array': - case 'Uint32Array': - case 'Float32Array': - case 'Float64Array': - case 'BigInt64Array': - case 'BigUint64Array': - return value.slice(); - default: - return value; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0; +var utils_1 = __webpack_require__(5316); +// C headers +var ERROR; +(function (ERROR) { + ERROR[ERROR["OK"] = 0] = "OK"; + ERROR[ERROR["INTERNAL"] = 1] = "INTERNAL"; + ERROR[ERROR["STRICT"] = 2] = "STRICT"; + ERROR[ERROR["LF_EXPECTED"] = 3] = "LF_EXPECTED"; + ERROR[ERROR["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; + ERROR[ERROR["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; + ERROR[ERROR["INVALID_METHOD"] = 6] = "INVALID_METHOD"; + ERROR[ERROR["INVALID_URL"] = 7] = "INVALID_URL"; + ERROR[ERROR["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; + ERROR[ERROR["INVALID_VERSION"] = 9] = "INVALID_VERSION"; + ERROR[ERROR["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; + ERROR[ERROR["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; + ERROR[ERROR["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; + ERROR[ERROR["INVALID_STATUS"] = 13] = "INVALID_STATUS"; + ERROR[ERROR["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; + ERROR[ERROR["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; + ERROR[ERROR["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; + ERROR[ERROR["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; + ERROR[ERROR["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; + ERROR[ERROR["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; + ERROR[ERROR["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; + ERROR[ERROR["PAUSED"] = 21] = "PAUSED"; + ERROR[ERROR["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; + ERROR[ERROR["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; + ERROR[ERROR["USER"] = 24] = "USER"; +})(ERROR = exports.ERROR || (exports.ERROR = {})); +var TYPE; +(function (TYPE) { + TYPE[TYPE["BOTH"] = 0] = "BOTH"; + TYPE[TYPE["REQUEST"] = 1] = "REQUEST"; + TYPE[TYPE["RESPONSE"] = 2] = "RESPONSE"; +})(TYPE = exports.TYPE || (exports.TYPE = {})); +var FLAGS; +(function (FLAGS) { + FLAGS[FLAGS["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; + FLAGS[FLAGS["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; + FLAGS[FLAGS["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; + FLAGS[FLAGS["CHUNKED"] = 8] = "CHUNKED"; + FLAGS[FLAGS["UPGRADE"] = 16] = "UPGRADE"; + FLAGS[FLAGS["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; + FLAGS[FLAGS["SKIPBODY"] = 64] = "SKIPBODY"; + FLAGS[FLAGS["TRAILING"] = 128] = "TRAILING"; + // 1 << 8 is unused + FLAGS[FLAGS["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; +})(FLAGS = exports.FLAGS || (exports.FLAGS = {})); +var LENIENT_FLAGS; +(function (LENIENT_FLAGS) { + LENIENT_FLAGS[LENIENT_FLAGS["HEADERS"] = 1] = "HEADERS"; + LENIENT_FLAGS[LENIENT_FLAGS["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; + LENIENT_FLAGS[LENIENT_FLAGS["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; +})(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); +var METHODS; +(function (METHODS) { + METHODS[METHODS["DELETE"] = 0] = "DELETE"; + METHODS[METHODS["GET"] = 1] = "GET"; + METHODS[METHODS["HEAD"] = 2] = "HEAD"; + METHODS[METHODS["POST"] = 3] = "POST"; + METHODS[METHODS["PUT"] = 4] = "PUT"; + /* pathological */ + METHODS[METHODS["CONNECT"] = 5] = "CONNECT"; + METHODS[METHODS["OPTIONS"] = 6] = "OPTIONS"; + METHODS[METHODS["TRACE"] = 7] = "TRACE"; + /* WebDAV */ + METHODS[METHODS["COPY"] = 8] = "COPY"; + METHODS[METHODS["LOCK"] = 9] = "LOCK"; + METHODS[METHODS["MKCOL"] = 10] = "MKCOL"; + METHODS[METHODS["MOVE"] = 11] = "MOVE"; + METHODS[METHODS["PROPFIND"] = 12] = "PROPFIND"; + METHODS[METHODS["PROPPATCH"] = 13] = "PROPPATCH"; + METHODS[METHODS["SEARCH"] = 14] = "SEARCH"; + METHODS[METHODS["UNLOCK"] = 15] = "UNLOCK"; + METHODS[METHODS["BIND"] = 16] = "BIND"; + METHODS[METHODS["REBIND"] = 17] = "REBIND"; + METHODS[METHODS["UNBIND"] = 18] = "UNBIND"; + METHODS[METHODS["ACL"] = 19] = "ACL"; + /* subversion */ + METHODS[METHODS["REPORT"] = 20] = "REPORT"; + METHODS[METHODS["MKACTIVITY"] = 21] = "MKACTIVITY"; + METHODS[METHODS["CHECKOUT"] = 22] = "CHECKOUT"; + METHODS[METHODS["MERGE"] = 23] = "MERGE"; + /* upnp */ + METHODS[METHODS["M-SEARCH"] = 24] = "M-SEARCH"; + METHODS[METHODS["NOTIFY"] = 25] = "NOTIFY"; + METHODS[METHODS["SUBSCRIBE"] = 26] = "SUBSCRIBE"; + METHODS[METHODS["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; + /* RFC-5789 */ + METHODS[METHODS["PATCH"] = 28] = "PATCH"; + METHODS[METHODS["PURGE"] = 29] = "PURGE"; + /* CalDAV */ + METHODS[METHODS["MKCALENDAR"] = 30] = "MKCALENDAR"; + /* RFC-2068, section 19.6.1.2 */ + METHODS[METHODS["LINK"] = 31] = "LINK"; + METHODS[METHODS["UNLINK"] = 32] = "UNLINK"; + /* icecast */ + METHODS[METHODS["SOURCE"] = 33] = "SOURCE"; + /* RFC-7540, section 11.6 */ + METHODS[METHODS["PRI"] = 34] = "PRI"; + /* RFC-2326 RTSP */ + METHODS[METHODS["DESCRIBE"] = 35] = "DESCRIBE"; + METHODS[METHODS["ANNOUNCE"] = 36] = "ANNOUNCE"; + METHODS[METHODS["SETUP"] = 37] = "SETUP"; + METHODS[METHODS["PLAY"] = 38] = "PLAY"; + METHODS[METHODS["PAUSE"] = 39] = "PAUSE"; + METHODS[METHODS["TEARDOWN"] = 40] = "TEARDOWN"; + METHODS[METHODS["GET_PARAMETER"] = 41] = "GET_PARAMETER"; + METHODS[METHODS["SET_PARAMETER"] = 42] = "SET_PARAMETER"; + METHODS[METHODS["REDIRECT"] = 43] = "REDIRECT"; + METHODS[METHODS["RECORD"] = 44] = "RECORD"; + /* RAOP */ + METHODS[METHODS["FLUSH"] = 45] = "FLUSH"; +})(METHODS = exports.METHODS || (exports.METHODS = {})); +exports.METHODS_HTTP = [METHODS.DELETE, METHODS.GET, METHODS.HEAD, METHODS.POST, METHODS.PUT, METHODS.CONNECT, METHODS.OPTIONS, METHODS.TRACE, METHODS.COPY, METHODS.LOCK, METHODS.MKCOL, METHODS.MOVE, METHODS.PROPFIND, METHODS.PROPPATCH, METHODS.SEARCH, METHODS.UNLOCK, METHODS.BIND, METHODS.REBIND, METHODS.UNBIND, METHODS.ACL, METHODS.REPORT, METHODS.MKACTIVITY, METHODS.CHECKOUT, METHODS.MERGE, METHODS['M-SEARCH'], METHODS.NOTIFY, METHODS.SUBSCRIBE, METHODS.UNSUBSCRIBE, METHODS.PATCH, METHODS.PURGE, METHODS.MKCALENDAR, METHODS.LINK, METHODS.UNLINK, METHODS.PRI, +// TODO(indutny): should we allow it with HTTP? +METHODS.SOURCE]; +exports.METHODS_ICE = [METHODS.SOURCE]; +exports.METHODS_RTSP = [METHODS.OPTIONS, METHODS.DESCRIBE, METHODS.ANNOUNCE, METHODS.SETUP, METHODS.PLAY, METHODS.PAUSE, METHODS.TEARDOWN, METHODS.GET_PARAMETER, METHODS.SET_PARAMETER, METHODS.REDIRECT, METHODS.RECORD, METHODS.FLUSH, +// For AirPlay +METHODS.GET, METHODS.POST]; +exports.METHOD_MAP = utils_1.enumToMap(METHODS); +exports.H_METHOD_MAP = {}; +Object.keys(exports.METHOD_MAP).forEach(function (key) { + if (/^H/.test(key)) { + exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key]; + } +}); +var FINISH; +(function (FINISH) { + FINISH[FINISH["SAFE"] = 0] = "SAFE"; + FINISH[FINISH["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; + FINISH[FINISH["UNSAFE"] = 2] = "UNSAFE"; +})(FINISH = exports.FINISH || (exports.FINISH = {})); +exports.ALPHA = []; +for (var i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) { + // Upper case + exports.ALPHA.push(String.fromCharCode(i)); + // Lower case + exports.ALPHA.push(String.fromCharCode(i + 0x20)); +} +exports.NUM_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9 +}; +exports.HEX_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 0XA, + B: 0XB, + C: 0XC, + D: 0XD, + E: 0XE, + F: 0XF, + a: 0xa, + b: 0xb, + c: 0xc, + d: 0xd, + e: 0xe, + f: 0xf +}; +exports.NUM = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; +exports.ALPHANUM = exports.ALPHA.concat(exports.NUM); +exports.MARK = ['-', '_', '.', '!', '~', '*', '\'', '(', ')']; +exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(['%', ';', ':', '&', '=', '+', '$', ',']); +// TODO(indutny): use RFC +exports.STRICT_URL_CHAR = ['!', '"', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~'].concat(exports.ALPHANUM); +exports.URL_CHAR = exports.STRICT_URL_CHAR.concat(['\t', '\f']); +// All characters with 0x80 bit set to 1 +for (var _i = 0x80; _i <= 0xff; _i++) { + exports.URL_CHAR.push(_i); +} +exports.HEX = exports.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']); +/* Tokens as defined by rfc 2616. Also lowercases them. + * token = 1* + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + */ +exports.STRICT_TOKEN = ['!', '#', '$', '%', '&', '\'', '*', '+', '-', '.', '^', '_', '`', '|', '~'].concat(exports.ALPHANUM); +exports.TOKEN = exports.STRICT_TOKEN.concat([' ']); +/* + * Verify that a char is a valid visible (printable) US-ASCII + * character or %x80-FF + */ +exports.HEADER_CHARS = ['\t']; +for (var _i2 = 32; _i2 <= 255; _i2++) { + if (_i2 !== 127) { + exports.HEADER_CHARS.push(_i2); } } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xreduceBy.js +// ',' = \x44 +exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter(function (c) { + return c !== 44; +}); +exports.MAJOR = exports.NUM_MAP; +exports.MINOR = exports.MAJOR; +var HEADER_STATE; +(function (HEADER_STATE) { + HEADER_STATE[HEADER_STATE["GENERAL"] = 0] = "GENERAL"; + HEADER_STATE[HEADER_STATE["CONNECTION"] = 1] = "CONNECTION"; + HEADER_STATE[HEADER_STATE["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; + HEADER_STATE[HEADER_STATE["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; + HEADER_STATE[HEADER_STATE["UPGRADE"] = 4] = "UPGRADE"; + HEADER_STATE[HEADER_STATE["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; + HEADER_STATE[HEADER_STATE["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; + HEADER_STATE[HEADER_STATE["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; + HEADER_STATE[HEADER_STATE["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; +})(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {})); +exports.SPECIAL_HEADERS = { + 'connection': HEADER_STATE.CONNECTION, + 'content-length': HEADER_STATE.CONTENT_LENGTH, + 'proxy-connection': HEADER_STATE.CONNECTION, + 'transfer-encoding': HEADER_STATE.TRANSFER_ENCODING, + 'upgrade': HEADER_STATE.UPGRADE +}; +//# sourceMappingURL=constants.js.map +/***/ }, +/***/ 4438 +(module, __unused_webpack_exports, __webpack_require__) { -var XReduceBy = /*#__PURE__*/ -function () { - function XReduceBy(valueFn, valueAcc, keyFn, xf) { - this.valueFn = valueFn; - this.valueAcc = valueAcc; - this.keyFn = keyFn; - this.xf = xf; - this.inputs = {}; - } - XReduceBy.prototype['@@transducer/init'] = _xfBase.init; - XReduceBy.prototype['@@transducer/result'] = function (result) { - var key; - for (key in this.inputs) { - if (_has_has(key, this.inputs)) { - result = this.xf['@@transducer/step'](result, this.inputs[key]); - if (result['@@transducer/reduced']) { - result = result['@@transducer/value']; - break; - } - } - } - this.inputs = null; - return this.xf['@@transducer/result'](result); - }; - XReduceBy.prototype['@@transducer/step'] = function (result, input) { - var key = this.keyFn(input); - this.inputs[key] = this.inputs[key] || [key, this.valueAcc]; - this.inputs[key][1] = this.valueFn(this.inputs[key][1], input); - return result; - }; - return XReduceBy; -}(); -var _xreduceBy = /*#__PURE__*/ -_curryN_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) { - return new XReduceBy(valueFn, valueAcc, keyFn, xf); -}); -/* harmony default export */ const internal_xreduceBy = (_xreduceBy); -;// CONCATENATED MODULE: ./node_modules/ramda/es/reduceBy.js +"use strict"; +var _require = __webpack_require__(4573), + Buffer = _require.Buffer; +module.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv', 'base64'); +/***/ }, +/***/ 7810 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Groups the elements of the list according to the result of calling - * the String-returning function `keyFn` on each element and reduces the elements - * of each group to a single value via the reducer function `valueFn`. - * - * The value function receives two values: *(acc, value)*. It may use - * [`R.reduced`](#reduced) to short circuit the iteration. - * - * This function is basically a more general [`groupBy`](#groupBy) function. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category List - * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a} - * @param {Function} valueFn The function that reduces the elements of each group to a single - * value. Receives two values, accumulator for a particular group and the current element. - * @param {*} acc The (initial) accumulator value for each group. - * @param {Function} keyFn The function that maps the list's element into a key. - * @param {Array} list The array to group. - * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of - * `valueFn` for elements which produced that key when passed to `keyFn`. - * @see R.groupBy, R.reduce, R.reduced - * @example - * - * const groupNames = (acc, {name}) => acc.concat(name) - * const toGrade = ({score}) => - * score < 65 ? 'F' : - * score < 70 ? 'D' : - * score < 80 ? 'C' : - * score < 90 ? 'B' : 'A' - * - * var students = [ - * {name: 'Abby', score: 83}, - * {name: 'Bart', score: 62}, - * {name: 'Curt', score: 88}, - * {name: 'Dora', score: 92}, - * ] - * - * reduceBy(groupNames, [], toGrade, students) - * //=> {"A": ["Dora"], "B": ["Abby", "Curt"], "F": ["Bart"]} - */ - -var reduceBy_reduceBy = /*#__PURE__*/ -_curryN_curryN(4, [], /*#__PURE__*/ -_dispatchable([], internal_xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) { - return _reduce_reduce(function (acc, elt) { - var key = keyFn(elt); - var value = valueFn(_has_has(key, acc) ? acc[key] : _clone_clone(valueAcc, [], [], false), elt); - if (value && value['@@transducer/reduced']) { - return _reduced_reduced(acc); - } - acc[key] = value; - return acc; - }, {}, list); +var _require = __webpack_require__(4573), + Buffer = _require.Buffer; +module.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==', 'base64'); + +/***/ }, + +/***/ 5316 +(__unused_webpack_module, exports) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true })); -/* harmony default export */ const es_reduceBy = ((/* unused pure expression or super */ null && (reduceBy_reduceBy))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/countBy.js +exports.enumToMap = void 0; +function enumToMap(obj) { + var res = {}; + Object.keys(obj).forEach(function (key) { + var value = obj[key]; + if (typeof value === 'number') { + res[key] = value; + } + }); + return res; +} +exports.enumToMap = enumToMap; +//# sourceMappingURL=utils.js.map -/** - * Counts the elements of a list according to how many match each value of a - * key generated by the supplied function. Returns an object mapping the keys - * produced by `fn` to the number of occurrences in the list. Note that all - * keys are coerced to strings because of how JavaScript objects work. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig (a -> String) -> [a] -> {*} - * @param {Function} fn The function used to map values to keys. - * @param {Array} list The list to count elements from. - * @return {Object} An object mapping keys to number of occurrences in the list. - * @example - * - * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2]; - * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1} - * - * const letters = ['a', 'b', 'A', 'a', 'B', 'c']; - * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1} - */ - -var countBy = /*#__PURE__*/ -(/* unused pure expression or super */ null && (reduceBy(function (acc, elem) { - return acc + 1; -}, 0))); -/* harmony default export */ const es_countBy = ((/* unused pure expression or super */ null && (countBy))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_Set.js - -var _Set_Set = /*#__PURE__*/ -function () { - function _Set() { - /* globals Set */ - this._nativeSet = typeof Set === 'function' ? new Set() : null; - this._items = {}; - } - - // until we figure out why jsdoc chokes on this - // @param item The item to add to the Set - // @returns {boolean} true if the item did not exist prior, otherwise false - // - _Set.prototype.add = function (item) { - return !hasOrAdd(item, true, this); - }; // - // @param item The item to check for existence in the Set - // @returns {boolean} true if the item exists in the Set, otherwise false - // - - _Set.prototype.has = function (item) { - return hasOrAdd(item, false, this); - }; // - // Combines the logic for checking whether an item is a member of the set and - // for adding a new item to the set. - // - // @param item The item to check or add to the Set instance. - // @param shouldAdd If true, the item will be added to the set if it doesn't - // already exist. - // @param set The set instance to check or add to. - // @return {boolean} true if the item already existed, otherwise false. - // - - return _Set; -}(); -function hasOrAdd(item, shouldAdd, set) { - var type = typeof item; - var prevSize, newSize; - switch (type) { - case 'string': - case 'number': - // distinguish between +0 and -0 - if (item === 0 && 1 / item === -Infinity) { - if (set._items['-0']) { - return true; - } else { - if (shouldAdd) { - set._items['-0'] = true; - } - return false; - } - } // these types can all utilise the native Set +/***/ }, - if (set._nativeSet !== null) { - if (shouldAdd) { - prevSize = set._nativeSet.size; - set._nativeSet.add(item); - newSize = set._nativeSet.size; - return newSize === prevSize; - } else { - return set._nativeSet.has(item); - } - } else { - if (!(type in set._items)) { - if (shouldAdd) { - set._items[type] = {}; - set._items[type][item] = true; - } - return false; - } else if (item in set._items[type]) { - return true; - } else { - if (shouldAdd) { - set._items[type][item] = true; - } - return false; - } +/***/ 933 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _objectSpread = (__webpack_require__(2897)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _require = __webpack_require__(6771), + kClients = _require.kClients; +var Agent = __webpack_require__(5765); +var _require2 = __webpack_require__(8677), + kAgent = _require2.kAgent, + kMockAgentSet = _require2.kMockAgentSet, + kMockAgentGet = _require2.kMockAgentGet, + kDispatches = _require2.kDispatches, + kIsMockActive = _require2.kIsMockActive, + kNetConnect = _require2.kNetConnect, + kGetNetConnect = _require2.kGetNetConnect, + kOptions = _require2.kOptions, + kFactory = _require2.kFactory; +var MockClient = __webpack_require__(6717); +var MockPool = __webpack_require__(9900); +var _require3 = __webpack_require__(9661), + matchValue = _require3.matchValue, + buildMockOptions = _require3.buildMockOptions; +var _require4 = __webpack_require__(3515), + InvalidArgumentError = _require4.InvalidArgumentError, + UndiciError = _require4.UndiciError; +var Dispatcher = __webpack_require__(747); +var Pluralizer = __webpack_require__(7857); +var PendingInterceptorsFormatter = __webpack_require__(9414); +var MockAgent = /*#__PURE__*/function (_Dispatcher) { + function MockAgent(opts) { + var _this; + _classCallCheck(this, MockAgent); + _this = _callSuper(this, MockAgent, [opts]); + _this[kNetConnect] = true; + _this[kIsMockActive] = true; + + // Instantiate Agent and encapsulate + if (opts !== null && opts !== void 0 && opts.agent && typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument opts.agent must implement Agent'); + } + var agent = opts !== null && opts !== void 0 && opts.agent ? opts.agent : new Agent(opts); + _this[kAgent] = agent; + _this[kClients] = agent[kClients]; + _this[kOptions] = buildMockOptions(opts); + return _this; + } + _inherits(MockAgent, _Dispatcher); + return _createClass(MockAgent, [{ + key: "get", + value: function get(origin) { + var dispatcher = this[kMockAgentGet](origin); + if (!dispatcher) { + dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, dispatcher); } - case 'boolean': - // set._items['boolean'] holds a two element array - // representing [ falseExists, trueExists ] - if (type in set._items) { - var bIdx = item ? 1 : 0; - if (set._items[type][bIdx]) { - return true; - } else { - if (shouldAdd) { - set._items[type][bIdx] = true; + return dispatcher; + } + }, { + key: "dispatch", + value: function dispatch(opts, handler) { + // Call MockAgent.get to perform additional setup before dispatching as normal + this.get(opts.origin); + return this[kAgent].dispatch(opts, handler); + } + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _context.n = 1; + return this[kAgent].close(); + case 1: + this[kClients].clear(); + case 2: + return _context.a(2); } - return false; - } - } else { - if (shouldAdd) { - set._items[type] = item ? [false, true] : [true, false]; - } - return false; + }, _callee, this); + })); + function close() { + return _close.apply(this, arguments); } - case 'function': - // compare functions for reference equality - if (set._nativeSet !== null) { - if (shouldAdd) { - prevSize = set._nativeSet.size; - set._nativeSet.add(item); - newSize = set._nativeSet.size; - return newSize === prevSize; + return close; + }() + }, { + key: "deactivate", + value: function deactivate() { + this[kIsMockActive] = false; + } + }, { + key: "activate", + value: function activate() { + this[kIsMockActive] = true; + } + }, { + key: "enableNetConnect", + value: function enableNetConnect(matcher) { + if (typeof matcher === 'string' || typeof matcher === 'function' || matcher instanceof RegExp) { + if (Array.isArray(this[kNetConnect])) { + this[kNetConnect].push(matcher); } else { - return set._nativeSet.has(item); + this[kNetConnect] = [matcher]; } + } else if (typeof matcher === 'undefined') { + this[kNetConnect] = true; } else { - if (!(type in set._items)) { - if (shouldAdd) { - set._items[type] = [item]; - } - return false; - } - if (!_includes_includes(item, set._items[type])) { - if (shouldAdd) { - set._items[type].push(item); - } - return false; - } - return true; + throw new InvalidArgumentError('Unsupported matcher. Must be one of String|Function|RegExp.'); } - case 'undefined': - if (set._items[type]) { - return true; - } else { - if (shouldAdd) { - set._items[type] = true; - } - return false; + } + }, { + key: "disableNetConnect", + value: function disableNetConnect() { + this[kNetConnect] = false; + } + + // This is required to bypass issues caused by using global symbols - see: + // https://github.com/nodejs/undici/issues/1447 + }, { + key: "isMockActive", + get: function get() { + return this[kIsMockActive]; + } + }, { + key: kMockAgentSet, + value: function value(origin, dispatcher) { + this[kClients].set(origin, dispatcher); + } + }, { + key: kFactory, + value: function value(origin) { + var mockOptions = Object.assign({ + agent: this + }, this[kOptions]); + return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); + } + }, { + key: kMockAgentGet, + value: function value(origin) { + // First check if we can immediately find it + var client = this[kClients].get(origin); + if (client) { + return client; } - case 'object': - if (item === null) { - if (!set._items['null']) { - if (shouldAdd) { - set._items['null'] = true; - } - return false; + + // If the origin is not a string create a dummy parent pool and return to user + if (typeof origin !== 'string') { + var dispatcher = this[kFactory]('http://localhost:9999'); + this[kMockAgentSet](origin, dispatcher); + return dispatcher; + } + + // If we match, create a pool and assign the same dispatches + for (var _i = 0, _Array$from = Array.from(this[kClients]); _i < _Array$from.length; _i++) { + var _Array$from$_i = _slicedToArray(_Array$from[_i], 2), + keyMatcher = _Array$from$_i[0], + nonExplicitDispatcher = _Array$from$_i[1]; + if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) { + var _dispatcher = this[kFactory](origin); + this[kMockAgentSet](origin, _dispatcher); + _dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; + return _dispatcher; } - return true; } + } + }, { + key: kGetNetConnect, + value: function value() { + return this[kNetConnect]; + } + }, { + key: "pendingInterceptors", + value: function pendingInterceptors() { + var mockAgentClients = this[kClients]; + return Array.from(mockAgentClients.entries()).flatMap(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + origin = _ref2[0], + scope = _ref2[1]; + return scope[kDispatches].map(function (dispatch) { + return _objectSpread(_objectSpread({}, dispatch), {}, { + origin: origin + }); + }); + }).filter(function (_ref3) { + var pending = _ref3.pending; + return pending; + }); + } + }, { + key: "assertNoPendingInterceptors", + value: function assertNoPendingInterceptors() { + var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref4$pendingIntercep = _ref4.pendingInterceptorsFormatter, + pendingInterceptorsFormatter = _ref4$pendingIntercep === void 0 ? new PendingInterceptorsFormatter() : _ref4$pendingIntercep; + var pending = this.pendingInterceptors(); + if (pending.length === 0) { + return; + } + var pluralizer = new Pluralizer('interceptor', 'interceptors').pluralize(pending.length); + throw new UndiciError("\n".concat(pluralizer.count, " ").concat(pluralizer.noun, " ").concat(pluralizer.is, " pending:\n\n").concat(pendingInterceptorsFormatter.format(pending), "\n").trim()); + } + }]); +}(Dispatcher); +module.exports = MockAgent; - /* falls through */ +/***/ }, - default: - // reduce the search size of heterogeneous sets by creating buckets - // for each type. - type = Object.prototype.toString.call(item); - if (!(type in set._items)) { - if (shouldAdd) { - set._items[type] = [item]; - } - return false; - } // scan through all previously applied items +/***/ 6717 +(module, __unused_webpack_exports, __webpack_require__) { - if (!_includes_includes(item, set._items[type])) { - if (shouldAdd) { - set._items[type].push(item); - } - return false; - } - return true; - } -} // A simple Set type that honours R.equals semantics +"use strict"; -/* harmony default export */ const internal_Set = (_Set_Set); -;// CONCATENATED MODULE: ./node_modules/ramda/es/difference.js +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _require = __webpack_require__(7975), + promisify = _require.promisify; +var Client = __webpack_require__(9085); +var _require2 = __webpack_require__(9661), + buildMockDispatch = _require2.buildMockDispatch; +var _require3 = __webpack_require__(8677), + kDispatches = _require3.kDispatches, + kMockAgent = _require3.kMockAgent, + kClose = _require3.kClose, + kOriginalClose = _require3.kOriginalClose, + kOrigin = _require3.kOrigin, + kOriginalDispatch = _require3.kOriginalDispatch, + kConnected = _require3.kConnected; +var _require4 = __webpack_require__(9167), + MockInterceptor = _require4.MockInterceptor; +var Symbols = __webpack_require__(6771); +var _require5 = __webpack_require__(3515), + InvalidArgumentError = _require5.InvalidArgumentError; /** - * Finds the set (i.e. no duplicates) of all elements in the first list not - * contained in the second list. Objects and Arrays are compared in terms of - * value equality, not reference equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` that are not in `list2`. - * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without - * @example - * - * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2] - * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5] - * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}] + * MockClient provides an API that extends the Client to influence the mockDispatches. */ - -var difference_difference = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function difference(first, second) { - var out = []; - var idx = 0; - var firstLen = first.length; - var secondLen = second.length; - var toFilterOut = new _Set(); - for (var i = 0; i < secondLen; i += 1) { - toFilterOut.add(second[i]); - } - while (idx < firstLen) { - if (toFilterOut.add(first[idx])) { - out[out.length] = first[idx]; +var MockClient = /*#__PURE__*/function (_Client, _Symbols$kConnected) { + function MockClient(origin, opts) { + var _this; + _classCallCheck(this, MockClient); + _this = _callSuper(this, MockClient, [origin, opts]); + if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument opts.agent must implement Agent'); } - idx += 1; + _this[kMockAgent] = opts.agent; + _this[kOrigin] = origin; + _this[kDispatches] = []; + _this[kConnected] = 1; + _this[kOriginalDispatch] = _this.dispatch; + _this[kOriginalClose] = _this.close.bind(_this); + _this.dispatch = buildMockDispatch.call(_this); + _this.close = _this[kClose]; + return _this; } - return out; -}))); -/* harmony default export */ const es_difference = ((/* unused pure expression or super */ null && (difference_difference))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_dissoc.js + _inherits(MockClient, _Client); + return _createClass(MockClient, [{ + key: _Symbols$kConnected, + get: function get() { + return this[kConnected]; + } + + /** + * Sets up the base interceptor for mocking replies from undici. + */ + }, { + key: "intercept", + value: function intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _context.n = 1; + return promisify(this[kOriginalClose])(); + case 1: + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients]["delete"](this[kOrigin]); + case 2: + return _context.a(2); + } + }, _callee, this); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }]); +}(Client, Symbols.kConnected); +module.exports = MockClient; + +/***/ }, + +/***/ 7861 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _require = __webpack_require__(3515), + UndiciError = _require.UndiciError; +var kMockNotMatchedError = Symbol["for"]('undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED'); /** - * Returns a new object that does not contain a `prop` property. - * - * @private - * @param {String|Number} prop The name of the property to dissociate - * @param {Object|Array} obj The object to clone - * @return {Object} A new object equivalent to the original but without the specified property + * The request does not match any registered mock dispatches. */ - -function _dissoc_dissoc(prop, obj) { - if (obj == null) { - return obj; - } - if (_isInteger(prop) && _isArray(obj)) { - return remove(prop, 1, obj); - } - var result = {}; - for (var p in obj) { - result[p] = obj[p]; +var MockNotMatchedError = /*#__PURE__*/function (_UndiciError) { + function MockNotMatchedError(message) { + var _this; + _classCallCheck(this, MockNotMatchedError); + _this = _callSuper(this, MockNotMatchedError, [message]); + _defineProperty(_this, kMockNotMatchedError, true); + Error.captureStackTrace(_this, MockNotMatchedError); + _this.name = 'MockNotMatchedError'; + _this.message = message || 'The request does not match any registered mock dispatches'; + _this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED'; + return _this; } - delete result[prop]; - return result; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/dissocPath.js + _inherits(MockNotMatchedError, _UndiciError); + return _createClass(MockNotMatchedError, null, [{ + key: Symbol.hasInstance, + value: function value(instance) { + return instance && instance[kMockNotMatchedError] === true; + } + }]); +}(UndiciError); +module.exports = { + MockNotMatchedError: MockNotMatchedError +}; + +/***/ }, +/***/ 9167 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(9661), + getResponseData = _require.getResponseData, + buildKey = _require.buildKey, + addMockDispatch = _require.addMockDispatch; +var _require2 = __webpack_require__(8677), + kDispatches = _require2.kDispatches, + kDispatchKey = _require2.kDispatchKey, + kDefaultHeaders = _require2.kDefaultHeaders, + kDefaultTrailers = _require2.kDefaultTrailers, + kContentLength = _require2.kContentLength, + kMockDispatch = _require2.kMockDispatch; +var _require3 = __webpack_require__(3515), + InvalidArgumentError = _require3.InvalidArgumentError; +var _require4 = __webpack_require__(6632), + buildURL = _require4.buildURL; /** - * Makes a shallow clone of an object. Note that this copies and flattens - * prototype properties onto the new object as well. All non-primitive - * properties are copied by reference. - * - * @private - * @param {String|Integer} prop The prop operating - * @param {Object|Array} obj The object to clone - * @return {Object|Array} A new object equivalent to the original. + * Defines the scope API for an interceptor reply */ - -function _shallowCloneObject(prop, obj) { - if (_isInteger(prop) && _isArray(obj)) { - return [].concat(obj); - } - var result = {}; - for (var p in obj) { - result[p] = obj[p]; +var MockScope = /*#__PURE__*/function () { + function MockScope(mockDispatch) { + _classCallCheck(this, MockScope); + this[kMockDispatch] = mockDispatch; } - return result; -} + + /** + * Delay a reply by a set amount in ms. + */ + return _createClass(MockScope, [{ + key: "delay", + value: function delay(waitInMs) { + if (typeof waitInMs !== 'number' || !Number.isInteger(waitInMs) || waitInMs <= 0) { + throw new InvalidArgumentError('waitInMs must be a valid integer > 0'); + } + this[kMockDispatch].delay = waitInMs; + return this; + } + + /** + * For a defined reply, never mark as consumed. + */ + }, { + key: "persist", + value: function persist() { + this[kMockDispatch].persist = true; + return this; + } + + /** + * Allow one to define a reply for a set amount of matching requests. + */ + }, { + key: "times", + value: function times(repeatTimes) { + if (typeof repeatTimes !== 'number' || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { + throw new InvalidArgumentError('repeatTimes must be a valid integer > 0'); + } + this[kMockDispatch].times = repeatTimes; + return this; + } + }]); +}(); /** - * Makes a shallow clone of an object, omitting the property at the given path. - * Note that this copies and flattens prototype properties onto the new object - * as well. All non-primitive properties are copied by reference. - * - * @func - * @memberOf R - * @since v0.11.0 - * @category Object - * @typedefn Idx = String | Int | Symbol - * @sig [Idx] -> {k: v} -> {k: v} - * @param {Array} path The path to the value to omit - * @param {Object} obj The object to clone - * @return {Object} A new object without the property at path - * @see R.assocPath - * @example - * - * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}} + * Defines an interceptor for a Mock */ - -var dissocPath_dissocPath = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function dissocPath(path, obj) { - if (obj == null) { - return obj; - } - switch (path.length) { - case 0: - return obj; - case 1: - return _dissoc(path[0], obj); - default: - var head = path[0]; - var tail = Array.prototype.slice.call(path, 1); - if (obj[head] == null) { - return _shallowCloneObject(head, obj); +var MockInterceptor = /*#__PURE__*/function () { + function MockInterceptor(opts, mockDispatches) { + _classCallCheck(this, MockInterceptor); + if (typeof opts !== 'object') { + throw new InvalidArgumentError('opts must be an object'); + } + if (typeof opts.path === 'undefined') { + throw new InvalidArgumentError('opts.path must be defined'); + } + if (typeof opts.method === 'undefined') { + opts.method = 'GET'; + } + // See https://github.com/nodejs/undici/issues/1245 + // As per RFC 3986, clients are not supposed to send URI + // fragments to servers when they retrieve a document, + if (typeof opts.path === 'string') { + if (opts.query) { + opts.path = buildURL(opts.path, opts.query); } else { - return assoc(head, dissocPath(tail, obj[head]), obj); + // Matches https://github.com/nodejs/undici/blob/main/lib/web/fetch/index.js#L1811 + var parsedURL = new URL(opts.path, 'data://'); + opts.path = parsedURL.pathname + parsedURL.search; } + } + if (typeof opts.method === 'string') { + opts.method = opts.method.toUpperCase(); + } + this[kDispatchKey] = buildKey(opts); + this[kDispatches] = mockDispatches; + this[kDefaultHeaders] = {}; + this[kDefaultTrailers] = {}; + this[kContentLength] = false; } -}))); -/* harmony default export */ const es_dissocPath = ((/* unused pure expression or super */ null && (dissocPath_dissocPath))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/dissoc.js + return _createClass(MockInterceptor, [{ + key: "createMockScopeDispatchData", + value: function createMockScopeDispatchData(_ref) { + var statusCode = _ref.statusCode, + data = _ref.data, + responseOptions = _ref.responseOptions; + var responseData = getResponseData(data); + var contentLength = this[kContentLength] ? { + 'content-length': responseData.length + } : {}; + var headers = _objectSpread(_objectSpread(_objectSpread({}, this[kDefaultHeaders]), contentLength), responseOptions.headers); + var trailers = _objectSpread(_objectSpread({}, this[kDefaultTrailers]), responseOptions.trailers); + return { + statusCode: statusCode, + data: data, + headers: headers, + trailers: trailers + }; + } + }, { + key: "validateReplyParameters", + value: function validateReplyParameters(replyParameters) { + if (typeof replyParameters.statusCode === 'undefined') { + throw new InvalidArgumentError('statusCode must be defined'); + } + if (typeof replyParameters.responseOptions !== 'object' || replyParameters.responseOptions === null) { + throw new InvalidArgumentError('responseOptions must be an object'); + } + } + /** + * Mock an undici request with a defined reply. + */ + }, { + key: "reply", + value: function reply(replyOptionsCallbackOrStatusCode) { + var _this = this; + // Values of reply aren't available right now as they + // can only be available when the reply callback is invoked. + if (typeof replyOptionsCallbackOrStatusCode === 'function') { + // We'll first wrap the provided callback in another function, + // this function will properly resolve the data from the callback + // when invoked. + var wrappedDefaultsCallback = function wrappedDefaultsCallback(opts) { + // Our reply options callback contains the parameter for statusCode, data and options. + var resolvedData = replyOptionsCallbackOrStatusCode(opts); + + // Check if it is in the right format + if (typeof resolvedData !== 'object' || resolvedData === null) { + throw new InvalidArgumentError('reply options callback must return an object'); + } + var replyParameters = _objectSpread({ + data: '', + responseOptions: {} + }, resolvedData); + _this.validateReplyParameters(replyParameters); + // Since the values can be obtained immediately we return them + // from this higher order function that will be resolved later. + return _objectSpread({}, _this.createMockScopeDispatchData(replyParameters)); + }; -/** - * Returns a new object that does not contain a `prop` property. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Object - * @sig String -> {k: v} -> {k: v} - * @param {String} prop The name of the property to dissociate - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original but without the specified property - * @see R.assoc, R.omit - * @example - * - * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3} - */ + // Add usual dispatch data, but this time set the data parameter to function that will eventually provide data. + var _newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); + return new MockScope(_newMockDispatch); + } -var dissoc = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function dissoc(prop, obj) { - return dissocPath([prop], obj); -}))); -/* harmony default export */ const es_dissoc = ((/* unused pure expression or super */ null && (dissoc))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xdrop.js + // We can have either one or three parameters, if we get here, + // we should have 1-3 parameters. So we spread the arguments of + // this function to obtain the parameters, since replyData will always + // just be the statusCode. + var replyParameters = { + statusCode: replyOptionsCallbackOrStatusCode, + data: arguments[1] === undefined ? '' : arguments[1], + responseOptions: arguments[2] === undefined ? {} : arguments[2] + }; + this.validateReplyParameters(replyParameters); + // Send in-already provided data like usual + var dispatchData = this.createMockScopeDispatchData(replyParameters); + var newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); + return new MockScope(newMockDispatch); + } -var XDrop = /*#__PURE__*/ -function () { - function XDrop(n, xf) { - this.xf = xf; - this.n = n; - } - XDrop.prototype['@@transducer/init'] = _xfBase.init; - XDrop.prototype['@@transducer/result'] = _xfBase.result; - XDrop.prototype['@@transducer/step'] = function (result, input) { - if (this.n > 0) { - this.n -= 1; - return result; + /** + * Mock an undici request with a defined error. + */ + }, { + key: "replyWithError", + value: function replyWithError(error) { + if (typeof error === 'undefined') { + throw new InvalidArgumentError('error must be defined'); + } + var newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { + error: error + }); + return new MockScope(newMockDispatch); } - return this.xf['@@transducer/step'](result, input); - }; - return XDrop; -}(); -var _xdrop = /*#__PURE__*/ -_curry2_curry2(function _xdrop(n, xf) { - return new XDrop(n, xf); -}); -/* harmony default export */ const internal_xdrop = (_xdrop); -;// CONCATENATED MODULE: ./node_modules/ramda/es/drop.js + /** + * Set default reply headers on the interceptor for subsequent replies + */ + }, { + key: "defaultReplyHeaders", + value: function defaultReplyHeaders(headers) { + if (typeof headers === 'undefined') { + throw new InvalidArgumentError('headers must be defined'); + } + this[kDefaultHeaders] = headers; + return this; + } + /** + * Set default reply trailers on the interceptor for subsequent replies + */ + }, { + key: "defaultReplyTrailers", + value: function defaultReplyTrailers(trailers) { + if (typeof trailers === 'undefined') { + throw new InvalidArgumentError('trailers must be defined'); + } + this[kDefaultTrailers] = trailers; + return this; + } + /** + * Set reply content length header for replies on the interceptor + */ + }, { + key: "replyContentLength", + value: function replyContentLength() { + this[kContentLength] = true; + return this; + } + }]); +}(); +module.exports.MockInterceptor = MockInterceptor; +module.exports.MockScope = MockScope; -/** - * Returns all but the first `n` elements of the given list, string, or - * transducer/transformer (or object with a `drop` method). - * - * Dispatches to the `drop` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n - * @param {*} list - * @return {*} A copy of list without the first `n` elements - * @see R.take, R.transduce, R.dropLast, R.dropWhile - * @example - * - * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] - * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz'] - * R.drop(3, ['foo', 'bar', 'baz']); //=> [] - * R.drop(4, ['foo', 'bar', 'baz']); //=> [] - * R.drop(3, 'ramda'); //=> 'da' - */ +/***/ }, -var drop_drop = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['drop'], internal_xdrop, function drop(n, xs) { - return es_slice(Math.max(0, n), Infinity, xs); -})); -/* harmony default export */ const es_drop = ((/* unused pure expression or super */ null && (drop_drop))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xtake.js +/***/ 9900 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _require = __webpack_require__(7975), + promisify = _require.promisify; +var Pool = __webpack_require__(9452); +var _require2 = __webpack_require__(9661), + buildMockDispatch = _require2.buildMockDispatch; +var _require3 = __webpack_require__(8677), + kDispatches = _require3.kDispatches, + kMockAgent = _require3.kMockAgent, + kClose = _require3.kClose, + kOriginalClose = _require3.kOriginalClose, + kOrigin = _require3.kOrigin, + kOriginalDispatch = _require3.kOriginalDispatch, + kConnected = _require3.kConnected; +var _require4 = __webpack_require__(9167), + MockInterceptor = _require4.MockInterceptor; +var Symbols = __webpack_require__(6771); +var _require5 = __webpack_require__(3515), + InvalidArgumentError = _require5.InvalidArgumentError; -var XTake = /*#__PURE__*/ -function () { - function XTake(n, xf) { - this.xf = xf; - this.n = n; - this.i = 0; +/** + * MockPool provides an API that extends the Pool to influence the mockDispatches. + */ +var MockPool = /*#__PURE__*/function (_Pool, _Symbols$kConnected) { + function MockPool(origin, opts) { + var _this; + _classCallCheck(this, MockPool); + _this = _callSuper(this, MockPool, [origin, opts]); + if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') { + throw new InvalidArgumentError('Argument opts.agent must implement Agent'); + } + _this[kMockAgent] = opts.agent; + _this[kOrigin] = origin; + _this[kDispatches] = []; + _this[kConnected] = 1; + _this[kOriginalDispatch] = _this.dispatch; + _this[kOriginalClose] = _this.close.bind(_this); + _this.dispatch = buildMockDispatch.call(_this); + _this.close = _this[kClose]; + return _this; } - XTake.prototype['@@transducer/init'] = _xfBase.init; - XTake.prototype['@@transducer/result'] = _xfBase.result; - XTake.prototype['@@transducer/step'] = function (result, input) { - this.i += 1; - var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input); - return this.n >= 0 && this.i >= this.n ? _reduced_reduced(ret) : ret; - }; - return XTake; -}(); -var _xtake = /*#__PURE__*/ -_curry2_curry2(function _xtake(n, xf) { - return new XTake(n, xf); -}); -/* harmony default export */ const internal_xtake = (_xtake); -;// CONCATENATED MODULE: ./node_modules/ramda/es/take.js + _inherits(MockPool, _Pool); + return _createClass(MockPool, [{ + key: _Symbols$kConnected, + get: function get() { + return this[kConnected]; + } + /** + * Sets up the base interceptor for mocking replies from undici. + */ + }, { + key: "intercept", + value: function intercept(opts) { + return new MockInterceptor(opts, this[kDispatches]); + } + }, { + key: kClose, + value: function () { + var _value = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _context.n = 1; + return promisify(this[kOriginalClose])(); + case 1: + this[kConnected] = 0; + this[kMockAgent][Symbols.kClients]["delete"](this[kOrigin]); + case 2: + return _context.a(2); + } + }, _callee, this); + })); + function value() { + return _value.apply(this, arguments); + } + return value; + }() + }]); +}(Pool, Symbols.kConnected); +module.exports = MockPool; +/***/ }, +/***/ 8677 +(module) { -/** - * Returns the first `n` elements of the given list, string, or - * transducer/transformer (or object with a `take` method). - * - * Dispatches to the `take` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n - * @param {*} list - * @return {*} - * @see R.drop - * @example - * - * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo'] - * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] - * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.take(3, 'ramda'); //=> 'ram' - * - * const personnel = [ - * 'Dave Brubeck', - * 'Paul Desmond', - * 'Eugene Wright', - * 'Joe Morello', - * 'Gerry Mulligan', - * 'Bob Bates', - * 'Joe Dodge', - * 'Ron Crotty' - * ]; - * - * const takeFive = R.take(5); - * takeFive(personnel); - * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan'] - * @symb R.take(-1, [a, b]) = [a, b] - * @symb R.take(0, [a, b]) = [] - * @symb R.take(1, [a, b]) = [a] - * @symb R.take(2, [a, b]) = [a, b] - */ - -var take_take = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['take'], internal_xtake, function take(n, xs) { - return es_slice(0, n < 0 ? Infinity : n, xs); -})); -/* harmony default export */ const es_take = (take_take); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_dropLast.js +"use strict"; -function dropLast(n, xs) { - return es_take(n < xs.length ? xs.length - n : 0, xs); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xdropLast.js +module.exports = { + kAgent: Symbol('agent'), + kOptions: Symbol('options'), + kFactory: Symbol('factory'), + kDispatches: Symbol('dispatches'), + kDispatchKey: Symbol('dispatch key'), + kDefaultHeaders: Symbol('default headers'), + kDefaultTrailers: Symbol('default trailers'), + kContentLength: Symbol('content length'), + kMockAgent: Symbol('mock agent'), + kMockAgentSet: Symbol('mock agent set'), + kMockAgentGet: Symbol('mock agent get'), + kMockDispatch: Symbol('mock dispatch'), + kClose: Symbol('close'), + kOriginalClose: Symbol('original agent close'), + kOrigin: Symbol('origin'), + kIsMockActive: Symbol('is mock active'), + kNetConnect: Symbol('net connect'), + kGetNetConnect: Symbol('get net connect'), + kConnected: Symbol('connected') +}; -var XDropLast = /*#__PURE__*/ -function () { - function XDropLast(n, xf) { - this.xf = xf; - this.pos = 0; - this.full = false; - this.acc = new Array(n); - } - XDropLast.prototype['@@transducer/init'] = _xfBase.init; - XDropLast.prototype['@@transducer/result'] = function (result) { - this.acc = null; - return this.xf['@@transducer/result'](result); - }; - XDropLast.prototype['@@transducer/step'] = function (result, input) { - if (this.full) { - result = this.xf['@@transducer/step'](result, this.acc[this.pos]); - } - this.store(input); - return result; - }; - XDropLast.prototype.store = function (input) { - this.acc[this.pos] = input; - this.pos += 1; - if (this.pos === this.acc.length) { - this.pos = 0; - this.full = true; - } - }; - return XDropLast; -}(); -var _xdropLast = /*#__PURE__*/ -_curry2_curry2(function _xdropLast(n, xf) { - return new XDropLast(n, xf); -}); -/* harmony default export */ const internal_xdropLast = (_xdropLast); -;// CONCATENATED MODULE: ./node_modules/ramda/es/dropLast.js +/***/ }, +/***/ 9661 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -/** - * Returns a list containing all but the last `n` elements of the given `list`. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n The number of elements of `list` to skip. - * @param {Array} list The list of elements to consider. - * @return {Array} A copy of the list with only the first `list.length - n` elements - * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile - * @example - * - * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] - * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo'] - * R.dropLast(3, ['foo', 'bar', 'baz']); //=> [] - * R.dropLast(4, ['foo', 'bar', 'baz']); //=> [] - * R.dropLast(3, 'ramda'); //=> 'ra' - */ - -var dropLast_dropLast = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xdropLast, dropLast)); -/* harmony default export */ const es_dropLast = ((/* unused pure expression or super */ null && (dropLast_dropLast))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_dropLastWhile.js - -function dropLastWhile(pred, xs) { - var idx = xs.length - 1; - while (idx >= 0 && pred(xs[idx])) { - idx -= 1; +var _regenerator = (__webpack_require__(6993)["default"]); +var _objectWithoutProperties = (__webpack_require__(1847)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var _excluded = ["agent"]; +var _require = __webpack_require__(7861), + MockNotMatchedError = _require.MockNotMatchedError; +var _require2 = __webpack_require__(8677), + kDispatches = _require2.kDispatches, + kMockAgent = _require2.kMockAgent, + kOriginalDispatch = _require2.kOriginalDispatch, + kOrigin = _require2.kOrigin, + kGetNetConnect = _require2.kGetNetConnect; +var _require3 = __webpack_require__(6632), + buildURL = _require3.buildURL; +var _require4 = __webpack_require__(7067), + STATUS_CODES = _require4.STATUS_CODES; +var _require5 = __webpack_require__(7975), + isPromise = _require5.types.isPromise; +function matchValue(match, value) { + if (typeof match === 'string') { + return match === value; + } + if (match instanceof RegExp) { + return match.test(value); } - return es_slice(0, idx + 1, xs); + if (typeof match === 'function') { + return match(value) === true; + } + return false; +} +function lowerCaseEntries(headers) { + return Object.fromEntries(Object.entries(headers).map(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + headerName = _ref2[0], + headerValue = _ref2[1]; + return [headerName.toLocaleLowerCase(), headerValue]; + })); } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xdropLastWhile.js - - -var XDropLastWhile = /*#__PURE__*/ -function () { - function XDropLastWhile(fn, xf) { - this.f = fn; - this.retained = []; - this.xf = xf; +/** + * @param {import('../../index').Headers|string[]|Record} headers + * @param {string} key + */ +function getHeaderByName(headers, key) { + if (Array.isArray(headers)) { + for (var i = 0; i < headers.length; i += 2) { + if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) { + return headers[i + 1]; + } + } + return undefined; + } else if (typeof headers.get === 'function') { + return headers.get(key); + } else { + return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; } - XDropLastWhile.prototype['@@transducer/init'] = _xfBase.init; - XDropLastWhile.prototype['@@transducer/result'] = function (result) { - this.retained = null; - return this.xf['@@transducer/result'](result); - }; - XDropLastWhile.prototype['@@transducer/step'] = function (result, input) { - return this.f(input) ? this.retain(result, input) : this.flush(result, input); - }; - XDropLastWhile.prototype.flush = function (result, input) { - result = _reduce_reduce(this.xf['@@transducer/step'], result, this.retained); - this.retained = []; - return this.xf['@@transducer/step'](result, input); - }; - XDropLastWhile.prototype.retain = function (result, input) { - this.retained.push(input); - return result; - }; - return XDropLastWhile; -}(); -var _xdropLastWhile = /*#__PURE__*/ -_curry2_curry2(function _xdropLastWhile(fn, xf) { - return new XDropLastWhile(fn, xf); -}); -/* harmony default export */ const internal_xdropLastWhile = (_xdropLastWhile); -;// CONCATENATED MODULE: ./node_modules/ramda/es/dropLastWhile.js +} +/** @param {string[]} headers */ +function buildHeadersFromArray(headers) { + // fetch HeadersList + var clone = headers.slice(); + var entries = []; + for (var index = 0; index < clone.length; index += 2) { + entries.push([clone[index], clone[index + 1]]); + } + return Object.fromEntries(entries); +} +function matchHeaders(mockDispatch, headers) { + if (typeof mockDispatch.headers === 'function') { + if (Array.isArray(headers)) { + // fetch HeadersList + headers = buildHeadersFromArray(headers); + } + return mockDispatch.headers(headers ? lowerCaseEntries(headers) : {}); + } + if (typeof mockDispatch.headers === 'undefined') { + return true; + } + if (typeof headers !== 'object' || typeof mockDispatch.headers !== 'object') { + return false; + } + for (var _i = 0, _Object$entries = Object.entries(mockDispatch.headers); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + matchHeaderName = _Object$entries$_i[0], + matchHeaderValue = _Object$entries$_i[1]; + var headerValue = getHeaderByName(headers, matchHeaderName); + if (!matchValue(matchHeaderValue, headerValue)) { + return false; + } + } + return true; +} +function safeUrl(path) { + if (typeof path !== 'string') { + return path; + } + var pathSegments = path.split('?'); + if (pathSegments.length !== 2) { + return path; + } + var qp = new URLSearchParams(pathSegments.pop()); + qp.sort(); + return [].concat(_toConsumableArray(pathSegments), [qp.toString()]).join('?'); +} +function matchKey(mockDispatch, _ref3) { + var path = _ref3.path, + method = _ref3.method, + body = _ref3.body, + headers = _ref3.headers; + var pathMatch = matchValue(mockDispatch.path, path); + var methodMatch = matchValue(mockDispatch.method, method); + var bodyMatch = typeof mockDispatch.body !== 'undefined' ? matchValue(mockDispatch.body, body) : true; + var headersMatch = matchHeaders(mockDispatch, headers); + return pathMatch && methodMatch && bodyMatch && headersMatch; +} +function getResponseData(data) { + if (Buffer.isBuffer(data)) { + return data; + } else if (data instanceof Uint8Array) { + return data; + } else if (data instanceof ArrayBuffer) { + return data; + } else if (typeof data === 'object') { + return JSON.stringify(data); + } else { + return data.toString(); + } +} +function getMockDispatch(mockDispatches, key) { + var basePath = key.query ? buildURL(key.path, key.query) : key.path; + var resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath; + + // Match path + var matchedMockDispatches = mockDispatches.filter(function (_ref4) { + var consumed = _ref4.consumed; + return !consumed; + }).filter(function (_ref5) { + var path = _ref5.path; + return matchValue(safeUrl(path), resolvedPath); + }); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError("Mock dispatch not matched for path '".concat(resolvedPath, "'")); + } + // Match method + matchedMockDispatches = matchedMockDispatches.filter(function (_ref6) { + var method = _ref6.method; + return matchValue(method, key.method); + }); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError("Mock dispatch not matched for method '".concat(key.method, "' on path '").concat(resolvedPath, "'")); + } + // Match body + matchedMockDispatches = matchedMockDispatches.filter(function (_ref7) { + var body = _ref7.body; + return typeof body !== 'undefined' ? matchValue(body, key.body) : true; + }); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError("Mock dispatch not matched for body '".concat(key.body, "' on path '").concat(resolvedPath, "'")); + } -/** - * Returns a new list excluding all the tailing elements of a given list which - * satisfy the supplied predicate function. It passes each value from the right - * to the supplied predicate function, skipping elements until the predicate - * function returns a `falsy` value. The predicate function is applied to one argument: - * *(value)*. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} predicate The function to be called on each element - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`. - * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile - * @example - * - * const lteThree = x => x <= 3; - * - * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4] - * - * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd' - */ - -var dropLastWhile_dropLastWhile = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xdropLastWhile, dropLastWhile)); -/* harmony default export */ const es_dropLastWhile = ((/* unused pure expression or super */ null && (dropLastWhile_dropLastWhile))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xdropRepeatsWith.js - - -var XDropRepeatsWith = /*#__PURE__*/ -function () { - function XDropRepeatsWith(pred, xf) { - this.xf = xf; - this.pred = pred; - this.lastValue = undefined; - this.seenFirstValue = false; - } - XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init; - XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result; - XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) { - var sameAsLast = false; - if (!this.seenFirstValue) { - this.seenFirstValue = true; - } else if (this.pred(this.lastValue, input)) { - sameAsLast = true; - } - this.lastValue = input; - return sameAsLast ? result : this.xf['@@transducer/step'](result, input); + // Match headers + matchedMockDispatches = matchedMockDispatches.filter(function (mockDispatch) { + return matchHeaders(mockDispatch, key.headers); + }); + if (matchedMockDispatches.length === 0) { + var headers = typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers; + throw new MockNotMatchedError("Mock dispatch not matched for headers '".concat(headers, "' on path '").concat(resolvedPath, "'")); + } + return matchedMockDispatches[0]; +} +function addMockDispatch(mockDispatches, key, data) { + var baseData = { + timesInvoked: 0, + times: 1, + persist: false, + consumed: false }; - return XDropRepeatsWith; -}(); -var _xdropRepeatsWith = /*#__PURE__*/ -_curry2_curry2(function _xdropRepeatsWith(pred, xf) { - return new XDropRepeatsWith(pred, xf); -}); -/* harmony default export */ const internal_xdropRepeatsWith = (_xdropRepeatsWith); -;// CONCATENATED MODULE: ./node_modules/ramda/es/last.js + var replyData = typeof data === 'function' ? { + callback: data + } : _objectSpread({}, data); + var newMockDispatch = _objectSpread(_objectSpread(_objectSpread({}, baseData), key), {}, { + pending: true, + data: _objectSpread({ + error: null + }, replyData) + }); + mockDispatches.push(newMockDispatch); + return newMockDispatch; +} +function deleteMockDispatch(mockDispatches, key) { + var index = mockDispatches.findIndex(function (dispatch) { + if (!dispatch.consumed) { + return false; + } + return matchKey(dispatch, key); + }); + if (index !== -1) { + mockDispatches.splice(index, 1); + } +} +function buildKey(opts) { + var path = opts.path, + method = opts.method, + body = opts.body, + headers = opts.headers, + query = opts.query; + return { + path: path, + method: method, + body: body, + headers: headers, + query: query + }; +} +function generateKeyValues(data) { + var keys = Object.keys(data); + var result = []; + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var value = data[key]; + var name = Buffer.from("".concat(key)); + if (Array.isArray(value)) { + for (var j = 0; j < value.length; ++j) { + result.push(name, Buffer.from("".concat(value[j]))); + } + } else { + result.push(name, Buffer.from("".concat(value))); + } + } + return result; +} /** - * Returns the last element of the given list or string. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig [a] -> a | Undefined - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.init, R.head, R.tail - * @example - * - * R.last(['fi', 'fo', 'fum']); //=> 'fum' - * R.last([]); //=> undefined - * - * R.last('abc'); //=> 'c' - * R.last(''); //=> '' + * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status + * @param {number} statusCode */ - -var last = /*#__PURE__*/ -es_nth(-1); -/* harmony default export */ const es_last = (last); -;// CONCATENATED MODULE: ./node_modules/ramda/es/dropRepeatsWith.js - - - - +function getStatusText(statusCode) { + return STATUS_CODES[statusCode] || 'unknown'; +} +function getResponse(_x) { + return _getResponse.apply(this, arguments); +} /** - * Returns a new list without any consecutively repeating elements. Equality is - * determined by applying the supplied predicate to each pair of consecutive elements. The - * first element in a series of equal elements will be preserved. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig ((a, a) -> Boolean) -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list The array to consider. - * @return {Array} `list` without repeating elements. - * @see R.transduce - * @example - * - * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3]; - * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3] + * Mock dispatch function used to simulate undici dispatches */ +function _getResponse() { + _getResponse = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(body) { + var buffers, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, data, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + buffers = []; + _iteratorAbruptCompletion = false; + _didIteratorError = false; + _context.p = 1; + _iterator = _asyncIterator(body); + case 2: + _context.n = 3; + return _iterator.next(); + case 3: + if (!(_iteratorAbruptCompletion = !(_step = _context.v).done)) { + _context.n = 5; + break; + } + data = _step.value; + buffers.push(data); + case 4: + _iteratorAbruptCompletion = false; + _context.n = 2; + break; + case 5: + _context.n = 7; + break; + case 6: + _context.p = 6; + _t = _context.v; + _didIteratorError = true; + _iteratorError = _t; + case 7: + _context.p = 7; + _context.p = 8; + if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { + _context.n = 9; + break; + } + _context.n = 9; + return _iterator["return"](); + case 9: + _context.p = 9; + if (!_didIteratorError) { + _context.n = 10; + break; + } + throw _iteratorError; + case 10: + return _context.f(9); + case 11: + return _context.f(7); + case 12: + return _context.a(2, Buffer.concat(buffers).toString('utf8')); + } + }, _callee, null, [[8,, 9, 11], [1, 6, 7, 12]]); + })); + return _getResponse.apply(this, arguments); +} +function mockDispatch(opts, handler) { + var _this = this; + // Get mock dispatch from built key + var key = buildKey(opts); + var mockDispatch = getMockDispatch(this[kDispatches], key); + mockDispatch.timesInvoked++; + + // Here's where we resolve a callback if a callback is present for the dispatch data. + if (mockDispatch.data.callback) { + mockDispatch.data = _objectSpread(_objectSpread({}, mockDispatch.data), mockDispatch.data.callback(opts)); + } -var dropRepeatsWith = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xdropRepeatsWith, function dropRepeatsWith(pred, list) { - var result = []; - var idx = 1; - var len = list.length; - if (len !== 0) { - result[0] = list[0]; - while (idx < len) { - if (!pred(es_last(result), list[idx])) { - result[result.length] = list[idx]; + // Parse mockDispatch data + var _mockDispatch$data = mockDispatch.data, + statusCode = _mockDispatch$data.statusCode, + data = _mockDispatch$data.data, + headers = _mockDispatch$data.headers, + trailers = _mockDispatch$data.trailers, + error = _mockDispatch$data.error, + delay = mockDispatch.delay, + persist = mockDispatch.persist; + var timesInvoked = mockDispatch.timesInvoked, + times = mockDispatch.times; + + // If it's used up and not persistent, mark as consumed + mockDispatch.consumed = !persist && timesInvoked >= times; + mockDispatch.pending = timesInvoked < times; + + // If specified, trigger dispatch error + if (error !== null) { + deleteMockDispatch(this[kDispatches], key); + handler.onError(error); + return true; + } + + // Handle the request with a delay if necessary + if (typeof delay === 'number' && delay > 0) { + setTimeout(function () { + handleReply(_this[kDispatches]); + }, delay); + } else { + handleReply(this[kDispatches]); + } + function handleReply(mockDispatches) { + var _handler$onConnect, _handler$onHeaders, _handler$onData, _handler$onComplete; + var _data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : data; + // fetch's HeadersList is a 1D string array + var optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; + var body = typeof _data === 'function' ? _data(_objectSpread(_objectSpread({}, opts), {}, { + headers: optsHeaders + })) : _data; + + // util.types.isPromise is likely needed for jest. + if (isPromise(body)) { + // If handleReply is asynchronous, throwing an error + // in the callback will reject the promise, rather than + // synchronously throw the error, which breaks some tests. + // Rather, we wait for the callback to resolve if it is a + // promise, and then re-run handleReply with the new body. + body.then(function (newData) { + return handleReply(mockDispatches, newData); + }); + return; + } + var responseData = getResponseData(body); + var responseHeaders = generateKeyValues(headers); + var responseTrailers = generateKeyValues(trailers); + (_handler$onConnect = handler.onConnect) === null || _handler$onConnect === void 0 || _handler$onConnect.call(handler, function (err) { + return handler.onError(err); + }, null); + (_handler$onHeaders = handler.onHeaders) === null || _handler$onHeaders === void 0 || _handler$onHeaders.call(handler, statusCode, responseHeaders, resume, getStatusText(statusCode)); + (_handler$onData = handler.onData) === null || _handler$onData === void 0 || _handler$onData.call(handler, Buffer.from(responseData)); + (_handler$onComplete = handler.onComplete) === null || _handler$onComplete === void 0 || _handler$onComplete.call(handler, responseTrailers); + deleteMockDispatch(mockDispatches, key); + } + function resume() {} + return true; +} +function buildMockDispatch() { + var agent = this[kMockAgent]; + var origin = this[kOrigin]; + var originalDispatch = this[kOriginalDispatch]; + return function dispatch(opts, handler) { + if (agent.isMockActive) { + try { + mockDispatch.call(this, opts, handler); + } catch (error) { + if (error instanceof MockNotMatchedError) { + var netConnect = agent[kGetNetConnect](); + if (netConnect === false) { + throw new MockNotMatchedError("".concat(error.message, ": subsequent request to origin ").concat(origin, " was not allowed (net.connect disabled)")); + } + if (checkNetConnect(netConnect, origin)) { + originalDispatch.call(this, opts, handler); + } else { + throw new MockNotMatchedError("".concat(error.message, ": subsequent request to origin ").concat(origin, " was not allowed (net.connect is not enabled for this origin)")); + } + } else { + throw error; + } } - idx += 1; + } else { + originalDispatch.call(this, opts, handler); } + }; +} +function checkNetConnect(netConnect, origin) { + var url = new URL(origin); + if (netConnect === true) { + return true; + } else if (Array.isArray(netConnect) && netConnect.some(function (matcher) { + return matchValue(matcher, url.host); + })) { + return true; } - return result; -})); -/* harmony default export */ const es_dropRepeatsWith = (dropRepeatsWith); -;// CONCATENATED MODULE: ./node_modules/ramda/es/dropRepeats.js + return false; +} +function buildMockOptions(opts) { + if (opts) { + var agent = opts.agent, + mockOptions = _objectWithoutProperties(opts, _excluded); + return mockOptions; + } +} +module.exports = { + getResponseData: getResponseData, + getMockDispatch: getMockDispatch, + addMockDispatch: addMockDispatch, + deleteMockDispatch: deleteMockDispatch, + buildKey: buildKey, + generateKeyValues: generateKeyValues, + matchValue: matchValue, + getResponse: getResponse, + getStatusText: getStatusText, + mockDispatch: mockDispatch, + buildMockDispatch: buildMockDispatch, + checkNetConnect: checkNetConnect, + buildMockOptions: buildMockOptions, + getHeaderByName: getHeaderByName, + buildHeadersFromArray: buildHeadersFromArray +}; + +/***/ }, +/***/ 9414 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(7075), + Transform = _require.Transform; +var _require2 = __webpack_require__(7540), + Console = _require2.Console; +var PERSISTENT = process.versions.icu ? '✅' : 'Y '; +var NOT_PERSISTENT = process.versions.icu ? '❌' : 'N '; /** - * Returns a new list without any consecutively repeating elements. - * [`R.equals`](#equals) is used to determine equality. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig [a] -> [a] - * @param {Array} list The array to consider. - * @return {Array} `list` without repeating elements. - * @see R.transduce - * @example - * - * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2] + * Gets the output of `console.table(…)` as a string. */ +module.exports = /*#__PURE__*/function () { + function PendingInterceptorsFormatter() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + disableColors = _ref.disableColors; + _classCallCheck(this, PendingInterceptorsFormatter); + this.transform = new Transform({ + transform: function transform(chunk, _enc, cb) { + cb(null, chunk); + } + }); + this.logger = new Console({ + stdout: this.transform, + inspectOptions: { + colors: !disableColors && !process.env.CI + } + }); + } + return _createClass(PendingInterceptorsFormatter, [{ + key: "format", + value: function format(pendingInterceptors) { + var withPrettyHeaders = pendingInterceptors.map(function (_ref2) { + var method = _ref2.method, + path = _ref2.path, + statusCode = _ref2.data.statusCode, + persist = _ref2.persist, + times = _ref2.times, + timesInvoked = _ref2.timesInvoked, + origin = _ref2.origin; + return { + Method: method, + Origin: origin, + Path: path, + 'Status code': statusCode, + Persistent: persist ? PERSISTENT : NOT_PERSISTENT, + Invocations: timesInvoked, + Remaining: persist ? Infinity : times - timesInvoked + }; + }); + this.logger.table(withPrettyHeaders); + return this.transform.read().toString(); + } + }]); +}(); -var dropRepeats = /*#__PURE__*/ -_curry1_curry1( /*#__PURE__*/ -_dispatchable([], /*#__PURE__*/ -internal_xdropRepeatsWith(es_equals), /*#__PURE__*/ -es_dropRepeatsWith(es_equals))); -/* harmony default export */ const es_dropRepeats = ((/* unused pure expression or super */ null && (dropRepeats))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xdropWhile.js +/***/ }, +/***/ 7857 +(module, __unused_webpack_exports, __webpack_require__) { -var XDropWhile = /*#__PURE__*/ -function () { - function XDropWhile(f, xf) { - this.xf = xf; - this.f = f; +"use strict"; + + +var _objectSpread = (__webpack_require__(2897)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var singulars = { + pronoun: 'it', + is: 'is', + was: 'was', + "this": 'this' +}; +var plurals = { + pronoun: 'they', + is: 'are', + was: 'were', + "this": 'these' +}; +module.exports = /*#__PURE__*/function () { + function Pluralizer(singular, plural) { + _classCallCheck(this, Pluralizer); + this.singular = singular; + this.plural = plural; } - XDropWhile.prototype['@@transducer/init'] = _xfBase.init; - XDropWhile.prototype['@@transducer/result'] = _xfBase.result; - XDropWhile.prototype['@@transducer/step'] = function (result, input) { - if (this.f) { - if (this.f(input)) { - return result; - } - this.f = null; + return _createClass(Pluralizer, [{ + key: "pluralize", + value: function pluralize(count) { + var one = count === 1; + var keys = one ? singulars : plurals; + var noun = one ? this.singular : this.plural; + return _objectSpread(_objectSpread({}, keys), {}, { + count: count, + noun: noun + }); } - return this.xf['@@transducer/step'](result, input); - }; - return XDropWhile; + }]); }(); -var _xdropWhile = /*#__PURE__*/ -_curry2_curry2(function _xdropWhile(f, xf) { - return new XDropWhile(f, xf); -}); -/* harmony default export */ const internal_xdropWhile = (_xdropWhile); -;// CONCATENATED MODULE: ./node_modules/ramda/es/dropWhile.js +/***/ }, +/***/ 1907 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; /** - * Returns a new list excluding the leading elements of a given list which - * satisfy the supplied predicate function. It passes each value to the supplied - * predicate function, skipping elements while the predicate function returns - * `true`. The predicate function is applied to one argument: *(value)*. + * This module offers an optimized timer implementation designed for scenarios + * where high precision is not critical. * - * Dispatches to the `dropWhile` method of the second argument, if present. + * The timer achieves faster performance by using a low-resolution approach, + * with an accuracy target of within 500ms. This makes it particularly useful + * for timers with delays of 1 second or more, where exact timing is less + * crucial. * - * Acts as a transducer if a transformer is given in list position. + * It's important to note that Node.js timers are inherently imprecise, as + * delays can occur due to the event loop being blocked by other operations. + * Consequently, timers may trigger later than their scheduled time. + */ + +/** + * The fastNow variable contains the internal fast timer clock value. * - * @func - * @memberOf R - * @since v0.9.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.takeWhile, R.transduce, R.addIndex - * @example + * @type {number} + */ +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var fastNow = 0; + +/** + * RESOLUTION_MS represents the target resolution time in milliseconds. * - * const lteTwo = x => x <= 2; + * @type {number} + * @default 1000 + */ +var RESOLUTION_MS = 1e3; + +/** + * TICK_MS defines the desired interval in milliseconds between each tick. + * The target value is set to half the resolution time, minus 1 ms, to account + * for potential event loop overhead. * - * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1] + * @type {number} + * @default 499 + */ +var TICK_MS = (RESOLUTION_MS >> 1) - 1; + +/** + * fastNowTimeout is a Node.js timer used to manage and process + * the FastTimers stored in the `fastTimers` array. * - * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da' + * @type {NodeJS.Timeout} */ +var fastNowTimeout; -var dropWhile = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['dropWhile'], internal_xdropWhile, function dropWhile(pred, xs) { - var idx = 0; - var len = xs.length; - while (idx < len && pred(xs[idx])) { - idx += 1; - } - return es_slice(idx, Infinity, xs); -})); -/* harmony default export */ const es_dropWhile = ((/* unused pure expression or super */ null && (dropWhile))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/either.js +/** + * The kFastTimer symbol is used to identify FastTimer instances. + * + * @type {Symbol} + */ +var kFastTimer = Symbol('kFastTimer'); +/** + * The fastTimers array contains all active FastTimers. + * + * @type {FastTimer[]} + */ +var fastTimers = []; +/** + * These constants represent the various states of a FastTimer. + */ +/** + * The `NOT_IN_LIST` constant indicates that the FastTimer is not included + * in the `fastTimers` array. Timers with this status will not be processed + * during the next tick by the `onTick` function. + * + * A FastTimer can be re-added to the `fastTimers` array by invoking the + * `refresh` method on the FastTimer instance. + * + * @type {-2} + */ +var NOT_IN_LIST = -2; /** - * A function wrapping calls to the two functions in an `||` operation, - * returning the result of the first function if it is truth-y and the result - * of the second function otherwise. Note that this is short-circuited, - * meaning that the second function will not be invoked if the first returns a - * truth-y value. + * The `TO_BE_CLEARED` constant indicates that the FastTimer is scheduled + * for removal from the `fastTimers` array. A FastTimer in this state will + * be removed in the next tick by the `onTick` function and will no longer + * be processed. * - * In addition to functions, `R.either` also accepts any fantasy-land compatible - * applicative functor. + * This status is also set when the `clear` method is called on the FastTimer instance. * - * @func - * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) - * @param {Function} f a predicate - * @param {Function} g another predicate - * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. - * @see R.both, R.or - * @example - * - * const gt10 = x => x > 10; - * const even = x => x % 2 === 0; - * const f = R.either(gt10, even); - * f(101); //=> true - * f(8); //=> true - * - * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) - * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] + * @type {-1} */ +var TO_BE_CLEARED = -1; -var either = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function either(f, g) { - return _isFunction(f) ? function _either() { - return f.apply(this, arguments) || g.apply(this, arguments); - } : lift(or)(f, g); -}))); -/* harmony default export */ const es_either = ((/* unused pure expression or super */ null && (either))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_isTypedArray.js /** - * Tests whether or not an object is a typed array. - * - * @private - * @param {*} val The object to test. - * @return {Boolean} `true` if `val` is a typed array, `false` otherwise. - * @example + * The `PENDING` constant signifies that the FastTimer is awaiting processing + * in the next tick by the `onTick` function. Timers with this status will have + * their `_idleStart` value set and their status updated to `ACTIVE` in the next tick. * - * _isTypedArray(new Uint8Array([])); //=> true - * _isTypedArray(new Float32Array([])); //=> true - * _isTypedArray([]); //=> false - * _isTypedArray(null); //=> false - * _isTypedArray({}); //=> false + * @type {0} */ -function _isTypedArray(val) { - var type = Object.prototype.toString.call(val); - return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]'; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/empty.js - - - - - +var PENDING = 0; /** - * Returns the empty value of its argument's type. Ramda defines the empty - * value of Array (`[]`), Object (`{}`), String (`''`), - * TypedArray (`Uint8Array []`, `Float32Array []`, etc), and Arguments. Other - * types are supported if they define `.empty`, - * `.prototype.empty` or implement the - * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). - * - * Dispatches to the `empty` method of the first argument, if present. + * The `ACTIVE` constant indicates that the FastTimer is active and waiting + * for its timer to expire. During the next tick, the `onTick` function will + * check if the timer has expired, and if so, it will execute the associated callback. * - * @func - * @memberOf R - * @since v0.3.0 - * @category Function - * @sig a -> a - * @param {*} x - * @return {*} - * @example - * - * R.empty(Just(42)); //=> Nothing() - * R.empty([1, 2, 3]); //=> [] - * R.empty('unicorns'); //=> '' - * R.empty({x: 1, y: 2}); //=> {} - * R.empty(Uint8Array.from('123')); //=> Uint8Array [] + * @type {1} */ - -var empty = /*#__PURE__*/ -_curry1_curry1(function empty(x) { - return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : internal_isArray(x) ? [] : _isString_isString(x) ? '' : _isObject_isObject(x) ? {} : internal_isArguments(x) ? function () { - return arguments; - }() : _isTypedArray(x) ? x.constructor.from('') : void 0 // else - ; -}); - -/* harmony default export */ const es_empty = (empty); -;// CONCATENATED MODULE: ./node_modules/ramda/es/takeLast.js - +var ACTIVE = 1; /** - * Returns a new list containing the last `n` elements of the given list. - * If `n > list.length`, returns a list of `list.length` elements. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n The number of elements to return. - * @param {Array} xs The collection to consider. - * @return {Array} - * @see R.dropLast - * @example + * The onTick function processes the fastTimers array. * - * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz'] - * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] - * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.takeLast(3, 'ramda'); //=> 'mda' + * @returns {void} */ +function onTick() { + /** + * Increment the fastNow value by the TICK_MS value, despite the actual time + * that has passed since the last tick. This approach ensures independence + * from the system clock and delays caused by a blocked event loop. + * + * @type {number} + */ + fastNow += TICK_MS; -var takeLast_takeLast = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function takeLast(n, xs) { - return drop(n >= 0 ? xs.length - n : 0, xs); -}))); -/* harmony default export */ const es_takeLast = ((/* unused pure expression or super */ null && (takeLast_takeLast))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/endsWith.js - - - -/** - * Checks if a list ends with the provided sublist. - * - * Similarly, checks if a string ends with the provided substring. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category List - * @sig [a] -> [a] -> Boolean - * @sig String -> String -> Boolean - * @param {*} suffix - * @param {*} list - * @return {Boolean} - * @see R.startsWith - * @example - * - * R.endsWith('c', 'abc') //=> true - * R.endsWith('b', 'abc') //=> false - * R.endsWith(['c'], ['a', 'b', 'c']) //=> true - * R.endsWith(['b'], ['a', 'b', 'c']) //=> false - */ + /** + * The `idx` variable is used to iterate over the `fastTimers` array. + * Expired timers are removed by replacing them with the last element in the array. + * Consequently, `idx` is only incremented when the current element is not removed. + * + * @type {number} + */ + var idx = 0; -var endsWith = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function (suffix, list) { - return equals(takeLast(suffix.length, list), suffix); -}))); -/* harmony default export */ const es_endsWith = ((/* unused pure expression or super */ null && (endsWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/eqBy.js + /** + * The len variable will contain the length of the fastTimers array + * and will be decremented when a FastTimer should be removed from the + * fastTimers array. + * + * @type {number} + */ + var len = fastTimers.length; + while (idx < len) { + /** + * @type {FastTimer} + */ + var timer = fastTimers[idx]; + + // If the timer is in the ACTIVE state and the timer has expired, it will + // be processed in the next tick. + if (timer._state === PENDING) { + // Set the _idleStart value to the fastNow value minus the TICK_MS value + // to account for the time the timer was in the PENDING state. + timer._idleStart = fastNow - TICK_MS; + timer._state = ACTIVE; + } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) { + timer._state = TO_BE_CLEARED; + timer._idleStart = -1; + timer._onTimeout(timer._timerArg); + } + if (timer._state === TO_BE_CLEARED) { + timer._state = NOT_IN_LIST; + // Move the last element to the current index and decrement len if it is + // not the only element in the array. + if (--len !== 0) { + fastTimers[idx] = fastTimers[len]; + } + } else { + ++idx; + } + } -/** - * Takes a function and two values in its domain and returns `true` if the - * values map to the same value in the codomain; `false` otherwise. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Relation - * @sig (a -> b) -> a -> a -> Boolean - * @param {Function} f - * @param {*} x - * @param {*} y - * @return {Boolean} - * @example - * - * R.eqBy(Math.abs, 5, -5); //=> true - */ + // Set the length of the fastTimers array to the new length and thus + // removing the excess FastTimers elements from the array. + fastTimers.length = len; -var eqBy = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function eqBy(f, x, y) { - return equals(f(x), f(y)); -}))); -/* harmony default export */ const es_eqBy = ((/* unused pure expression or super */ null && (eqBy))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/eqProps.js + // If there are still active FastTimers in the array, refresh the Timer. + // If there are no active FastTimers, the timer will be refreshed again + // when a new FastTimer is instantiated. + if (fastTimers.length !== 0) { + refreshTimeout(); + } +} +function refreshTimeout() { + // If the fastNowTimeout is already set, refresh it. + if (fastNowTimeout) { + fastNowTimeout.refresh(); + // fastNowTimeout is not instantiated yet, create a new Timer. + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTick, TICK_MS); + // If the Timer has an unref method, call it to allow the process to exit if + // there are no other active handles. + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); + } + } +} /** - * Reports whether two objects have the same value, in [`R.equals`](#equals) - * terms, for the specified property. Useful as a curried predicate. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig k -> {k: v} -> {k: v} -> Boolean - * @param {String} prop The name of the property to compare - * @param {Object} obj1 - * @param {Object} obj2 - * @return {Boolean} - * - * @example - * - * const o1 = { a: 1, b: 2, c: 3, d: 4 }; - * const o2 = { a: 10, b: 20, c: 3, d: 40 }; - * R.eqProps('a', o1, o2); //=> false - * R.eqProps('c', o1, o2); //=> true + * The `FastTimer` class is a data structure designed to store and manage + * timer information. */ - -var eqProps = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function eqProps(prop, obj1, obj2) { - return equals(obj1[prop], obj2[prop]); -}))); -/* harmony default export */ const es_eqProps = ((/* unused pure expression or super */ null && (eqProps))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/evolve.js - - - -/** - * Creates a new object by recursively evolving a shallow copy of `object`, - * according to the `transformation` functions. All non-primitive properties - * are copied by reference. - * - * A `transformation` function will not be invoked if its corresponding key - * does not exist in the evolved object. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig {k: (v -> v)} -> {k: v} -> {k: v} - * @param {Object} transformations The object specifying transformation functions to apply - * to the object. - * @param {Object} object The object to be transformed. - * @return {Object} The transformed object. - * @example - * - * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123}; - * const transformations = { - * firstName: R.trim, - * lastName: R.trim, // Will not get invoked. - * data: {elapsed: R.add(1), remaining: R.add(-1)} - * }; - * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123} - */ - -var evolve = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function evolve(transformations, object) { - if (!_isObject(object) && !_isArray(object)) { - return object; - } - var result = object instanceof Array ? [] : {}; - var transformation, key, type; - for (key in object) { - transformation = transformations[key]; - type = typeof transformation; - result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key]; +var FastTimer = /*#__PURE__*/function () { + /** + * @constructor + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should wait + * before the specified function or code is executed. + * @param {*} arg + */ + function FastTimer(callback, delay, arg) { + _classCallCheck(this, FastTimer); + _defineProperty(this, kFastTimer, true); + /** + * The state of the timer, which can be one of the following: + * - NOT_IN_LIST (-2) + * - TO_BE_CLEARED (-1) + * - PENDING (0) + * - ACTIVE (1) + * + * @type {-2|-1|0|1} + * @private + */ + _defineProperty(this, "_state", NOT_IN_LIST); + /** + * The number of milliseconds to wait before calling the callback. + * + * @type {number} + * @private + */ + _defineProperty(this, "_idleTimeout", -1); + /** + * The time in milliseconds when the timer was started. This value is used to + * calculate when the timer should expire. + * + * @type {number} + * @default -1 + * @private + */ + _defineProperty(this, "_idleStart", -1); + /** + * The function to be executed when the timer expires. + * @type {Function} + * @private + */ + _defineProperty(this, "_onTimeout", void 0); + /** + * The argument to be passed to the callback when the timer expires. + * + * @type {*} + * @private + */ + _defineProperty(this, "_timerArg", void 0); + this._onTimeout = callback; + this._idleTimeout = delay; + this._timerArg = arg; + this.refresh(); } - return result; -}))); -/* harmony default export */ const es_evolve = ((/* unused pure expression or super */ null && (evolve))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xfind.js + /** + * Sets the timer's start time to the current time, and reschedules the timer + * to call its callback at the previously specified duration adjusted to the + * current time. + * Using this on a timer that has already called its callback will reactivate + * the timer. + * + * @returns {void} + */ + return _createClass(FastTimer, [{ + key: "refresh", + value: function refresh() { + // In the special case that the timer is not in the list of active timers, + // add it back to the array to be processed in the next tick by the onTick + // function. + if (this._state === NOT_IN_LIST) { + fastTimers.push(this); + } + // If the timer is the only active timer, refresh the fastNowTimeout for + // better resolution. + if (!fastNowTimeout || fastTimers.length === 1) { + refreshTimeout(); + } -var XFind = /*#__PURE__*/ -function () { - function XFind(f, xf) { - this.xf = xf; - this.f = f; - this.found = false; - } - XFind.prototype['@@transducer/init'] = _xfBase.init; - XFind.prototype['@@transducer/result'] = function (result) { - if (!this.found) { - result = this.xf['@@transducer/step'](result, void 0); + // Setting the state to PENDING will cause the timer to be reset in the + // next tick by the onTick function. + this._state = PENDING; } - return this.xf['@@transducer/result'](result); - }; - XFind.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.found = true; - result = _reduced_reduced(this.xf['@@transducer/step'](result, input)); - } - return result; - }; - return XFind; -}(); -var _xfind = /*#__PURE__*/ -_curry2_curry2(function _xfind(f, xf) { - return new XFind(f, xf); -}); -/* harmony default export */ const internal_xfind = (_xfind); -;// CONCATENATED MODULE: ./node_modules/ramda/es/find.js - + /** + * The `clear` method cancels the timer, preventing it from executing. + * + * @returns {void} + * @private + */ + }, { + key: "clear", + value: function clear() { + // Set the state to TO_BE_CLEARED to mark the timer for removal in the next + // tick by the onTick function. + this._state = TO_BE_CLEARED; + // Reset the _idleStart value to -1 to indicate that the timer is no longer + // active. + this._idleStart = -1; + } + }]); +}(); /** - * Returns the first element of the list which matches the predicate, or - * `undefined` if no element matches. - * - * Dispatches to the `find` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> a | undefined - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Object} The element found, or `undefined`. - * @see R.transduce - * @example - * - * const xs = [{a: 1}, {a: 2}, {a: 3}]; - * R.find(R.propEq('a', 2))(xs); //=> {a: 2} - * R.find(R.propEq('a', 4))(xs); //=> undefined + * This module exports a setTimeout and clearTimeout function that can be + * used as a drop-in replacement for the native functions. */ - -var find = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['find'], internal_xfind, function find(fn, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - if (fn(list[idx])) { - return list[idx]; +module.exports = { + /** + * The setTimeout() method sets a timer which executes a function once the + * timer expires. + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should + * wait before the specified function or code is executed. + * @param {*} [arg] An optional argument to be passed to the callback function + * when the timer expires. + * @returns {NodeJS.Timeout|FastTimer} + */ + setTimeout: function (_setTimeout) { + function setTimeout(_x, _x2, _x3) { + return _setTimeout.apply(this, arguments); } - idx += 1; - } -})); -/* harmony default export */ const es_find = ((/* unused pure expression or super */ null && (find))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xfindIndex.js - - - -var XFindIndex = /*#__PURE__*/ -function () { - function XFindIndex(f, xf) { - this.xf = xf; - this.f = f; - this.idx = -1; - this.found = false; - } - XFindIndex.prototype['@@transducer/init'] = _xfBase.init; - XFindIndex.prototype['@@transducer/result'] = function (result) { - if (!this.found) { - result = this.xf['@@transducer/step'](result, -1); + setTimeout.toString = function () { + return _setTimeout.toString(); + }; + return setTimeout; + }(function (callback, delay, arg) { + // If the delay is less than or equal to the RESOLUTION_MS value return a + // native Node.js Timer instance. + return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg); + }), + /** + * The clearTimeout method cancels an instantiated Timer previously created + * by calling setTimeout. + * + * @param {NodeJS.Timeout|FastTimer} timeout + */ + clearTimeout: function (_clearTimeout) { + function clearTimeout(_x4) { + return _clearTimeout.apply(this, arguments); } - return this.xf['@@transducer/result'](result); - }; - XFindIndex.prototype['@@transducer/step'] = function (result, input) { - this.idx += 1; - if (this.f(input)) { - this.found = true; - result = _reduced_reduced(this.xf['@@transducer/step'](result, this.idx)); + clearTimeout.toString = function () { + return _clearTimeout.toString(); + }; + return clearTimeout; + }(function (timeout) { + // If the timeout is a FastTimer, call its own clear method. + if (timeout[kFastTimer]) { + /** + * @type {FastTimer} + */ + timeout.clear(); + // Otherwise it is an instance of a native NodeJS.Timeout, so call the + // Node.js native clearTimeout function. + } else { + clearTimeout(timeout); } - return result; - }; - return XFindIndex; -}(); -var _xfindIndex = /*#__PURE__*/ -_curry2_curry2(function _xfindIndex(f, xf) { - return new XFindIndex(f, xf); -}); -/* harmony default export */ const internal_xfindIndex = (_xfindIndex); -;// CONCATENATED MODULE: ./node_modules/ramda/es/findIndex.js - - - -/** - * Returns the index of the first element of the list which matches the - * predicate, or `-1` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Number} The index of the element found, or `-1`. - * @see R.transduce, R.indexOf - * @example - * - * const xs = [{a: 1}, {a: 2}, {a: 3}]; - * R.findIndex(R.propEq('a', 2))(xs); //=> 1 - * R.findIndex(R.propEq('a', 4))(xs); //=> -1 - */ + }), + /** + * The setFastTimeout() method sets a fastTimer which executes a function once + * the timer expires. + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should + * wait before the specified function or code is executed. + * @param {*} [arg] An optional argument to be passed to the callback function + * when the timer expires. + * @returns {FastTimer} + */ + setFastTimeout: function setFastTimeout(callback, delay, arg) { + return new FastTimer(callback, delay, arg); + }, + /** + * The clearTimeout method cancels an instantiated FastTimer previously + * created by calling setFastTimeout. + * + * @param {FastTimer} timeout + */ + clearFastTimeout: function clearFastTimeout(timeout) { + timeout.clear(); + }, + /** + * The now method returns the value of the internal fast timer clock. + * + * @returns {number} + */ + now: function now() { + return fastNow; + }, + /** + * Trigger the onTick function to process the fastTimers array. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + * @param {number} [delay=0] The delay in milliseconds to add to the now value. + */ + tick: function tick() { + var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + fastNow += delay - RESOLUTION_MS + 1; + onTick(); + onTick(); + }, + /** + * Reset FastTimers. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + */ + reset: function reset() { + fastNow = 0; + fastTimers.length = 0; + clearTimeout(fastNowTimeout); + fastNowTimeout = null; + }, + /** + * Exporting for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + */ + kFastTimer: kFastTimer +}; -var findIndex = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xfindIndex, function findIndex(fn, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - if (fn(list[idx])) { - return idx; - } - idx += 1; - } - return -1; -})); -/* harmony default export */ const es_findIndex = ((/* unused pure expression or super */ null && (findIndex))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xfindLast.js +/***/ }, +/***/ 8106 +(module, __unused_webpack_exports, __webpack_require__) { -var XFindLast = /*#__PURE__*/ -function () { - function XFindLast(f, xf) { - this.xf = xf; - this.f = f; - } - XFindLast.prototype['@@transducer/init'] = _xfBase.init; - XFindLast.prototype['@@transducer/result'] = function (result) { - return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last)); - }; - XFindLast.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.last = input; - } - return result; - }; - return XFindLast; -}(); -var _xfindLast = /*#__PURE__*/ -_curry2_curry2(function _xfindLast(f, xf) { - return new XFindLast(f, xf); -}); -/* harmony default export */ const internal_xfindLast = (_xfindLast); -;// CONCATENATED MODULE: ./node_modules/ramda/es/findLast.js +"use strict"; +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _regeneratorValues = (__webpack_require__(579)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(3861), + kConstruct = _require.kConstruct; +var _require2 = __webpack_require__(2822), + urlEquals = _require2.urlEquals, + getFieldValues = _require2.getFieldValues; +var _require3 = __webpack_require__(6632), + kEnumerableProperty = _require3.kEnumerableProperty, + isDisturbed = _require3.isDisturbed; +var _require4 = __webpack_require__(2861), + webidl = _require4.webidl; +var _require5 = __webpack_require__(6803), + Response = _require5.Response, + cloneResponse = _require5.cloneResponse, + fromInnerResponse = _require5.fromInnerResponse; +var _require6 = __webpack_require__(1447), + Request = _require6.Request, + fromInnerRequest = _require6.fromInnerRequest; +var _require7 = __webpack_require__(4003), + kState = _require7.kState; +var _require8 = __webpack_require__(1574), + fetching = _require8.fetching; +var _require9 = __webpack_require__(8440), + urlIsHttpHttpsScheme = _require9.urlIsHttpHttpsScheme, + createDeferredPromise = _require9.createDeferredPromise, + readAllBytes = _require9.readAllBytes; +var assert = __webpack_require__(4589); /** - * Returns the last element of the list which matches the predicate, or - * `undefined` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> a | undefined - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Object} The element found, or `undefined`. - * @see R.transduce - * @example - * - * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; - * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1} - * R.findLast(R.propEq('a', 4))(xs); //=> undefined + * @see https://w3c.github.io/ServiceWorker/#dfn-cache-batch-operation + * @typedef {Object} CacheBatchOperation + * @property {'delete' | 'put'} type + * @property {any} request + * @property {any} response + * @property {import('../../types/cache').CacheQueryOptions} options */ -var findLast = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xfindLast, function findLast(fn, list) { - var idx = list.length - 1; - while (idx >= 0) { - if (fn(list[idx])) { - return list[idx]; +/** + * @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list + * @typedef {[any, any][]} requestResponseList + */ +var _relevantRequestResponseList = /*#__PURE__*/new WeakMap(); +var _Cache_brand = /*#__PURE__*/new WeakSet(); +var Cache = /*#__PURE__*/function () { + function Cache() { + _classCallCheck(this, Cache); + /** + * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm + * @param {CacheBatchOperation[]} operations + * @returns {requestResponseList} + */ + _classPrivateMethodInitSpec(this, _Cache_brand); + /** + * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list + * @type {requestResponseList} + */ + _classPrivateFieldInitSpec(this, _relevantRequestResponseList, void 0); + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor(); } - idx -= 1; + webidl.util.markAsUncloneable(this); + _classPrivateFieldSet(_relevantRequestResponseList, this, arguments[1]); } -})); -/* harmony default export */ const es_findLast = ((/* unused pure expression or super */ null && (findLast))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xfindLastIndex.js - - -var XFindLastIndex = /*#__PURE__*/ -function () { - function XFindLastIndex(f, xf) { - this.xf = xf; - this.f = f; - this.idx = -1; - this.lastIdx = -1; - } - XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init; - XFindLastIndex.prototype['@@transducer/result'] = function (result) { - return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx)); - }; - XFindLastIndex.prototype['@@transducer/step'] = function (result, input) { - this.idx += 1; - if (this.f(input)) { - this.lastIdx = this.idx; - } - return result; - }; - return XFindLastIndex; -}(); -var _xfindLastIndex = /*#__PURE__*/ -_curry2_curry2(function _xfindLastIndex(f, xf) { - return new XFindLastIndex(f, xf); -}); -/* harmony default export */ const internal_xfindLastIndex = (_xfindLastIndex); -;// CONCATENATED MODULE: ./node_modules/ramda/es/findLastIndex.js - + return _createClass(Cache, [{ + key: "match", + value: function () { + var _match = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(request) { + var options, + prefix, + p, + _args = arguments; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; + webidl.brandCheck(this, Cache); + prefix = 'Cache.match'; + webidl.argumentLengthCheck(_args, 1, prefix); + request = webidl.converters.RequestInfo(request, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); + p = _assertClassBrand(_Cache_brand, this, _internalMatchAll).call(this, request, options, 1); + if (!(p.length === 0)) { + _context.n = 1; + break; + } + return _context.a(2); + case 1: + return _context.a(2, p[0]); + } + }, _callee, this); + })); + function match(_x) { + return _match.apply(this, arguments); + } + return match; + }() + }, { + key: "matchAll", + value: function () { + var _matchAll = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() { + var request, + options, + prefix, + _args2 = arguments; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + request = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : undefined; + options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; + webidl.brandCheck(this, Cache); + prefix = 'Cache.matchAll'; + if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); + return _context2.a(2, _assertClassBrand(_Cache_brand, this, _internalMatchAll).call(this, request, options)); + } + }, _callee2, this); + })); + function matchAll() { + return _matchAll.apply(this, arguments); + } + return matchAll; + }() + }, { + key: "add", + value: function () { + var _add = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(request) { + var prefix, + requests, + responseArrayPromise, + _args3 = arguments; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + webidl.brandCheck(this, Cache); + prefix = 'Cache.add'; + webidl.argumentLengthCheck(_args3, 1, prefix); + request = webidl.converters.RequestInfo(request, prefix, 'request'); + + // 1. + requests = [request]; // 2. + responseArrayPromise = this.addAll(requests); // 3. + _context3.n = 1; + return responseArrayPromise; + case 1: + return _context3.a(2, _context3.v); + } + }, _callee3, this); + })); + function add(_x2) { + return _add.apply(this, arguments); + } + return add; + }() + }, { + key: "addAll", + value: function () { + var _addAll = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(requests) { + var prefix, + responsePromises, + requestList, + _iterator, + _step, + request, + r, + fetchControllers, + _iterator2, + _step2, + _loop, + p, + responses, + operations, + index, + _iterator3, + _step3, + response, + operation, + cacheJobPromise, + errorData, + _args5 = arguments, + _t, + _t2; + return _regenerator().w(function (_context5) { + while (1) switch (_context5.p = _context5.n) { + case 0: + webidl.brandCheck(this, Cache); + prefix = 'Cache.addAll'; + webidl.argumentLengthCheck(_args5, 1, prefix); + + // 1. + responsePromises = []; // 2. + requestList = []; // 3. + _iterator = _createForOfIteratorHelper(requests); + _context5.p = 1; + _iterator.s(); + case 2: + if ((_step = _iterator.n()).done) { + _context5.n = 6; + break; + } + request = _step.value; + if (!(request === undefined)) { + _context5.n = 3; + break; + } + throw webidl.errors.conversionFailed({ + prefix: prefix, + argument: 'Argument 1', + types: ['undefined is not allowed'] + }); + case 3: + request = webidl.converters.RequestInfo(request); + if (!(typeof request === 'string')) { + _context5.n = 4; + break; + } + return _context5.a(3, 5); + case 4: + // 3.1 + r = request[kState]; // 3.2 + if (!(!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET')) { + _context5.n = 5; + break; + } + throw webidl.errors.exception({ + header: prefix, + message: 'Expected http/s scheme when method is not GET.' + }); + case 5: + _context5.n = 2; + break; + case 6: + _context5.n = 8; + break; + case 7: + _context5.p = 7; + _t = _context5.v; + _iterator.e(_t); + case 8: + _context5.p = 8; + _iterator.f(); + return _context5.f(8); + case 9: + // 4. + /** @type {ReturnType[]} */ + fetchControllers = []; // 5. + _iterator2 = _createForOfIteratorHelper(requests); + _context5.p = 10; + _loop = /*#__PURE__*/_regenerator().m(function _loop() { + var request, r, responsePromise; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + request = _step2.value; + // 5.1 + r = new Request(request)[kState]; // 5.2 + if (urlIsHttpHttpsScheme(r.url)) { + _context4.n = 1; + break; + } + throw webidl.errors.exception({ + header: prefix, + message: 'Expected http/s scheme.' + }); + case 1: + // 5.4 + r.initiator = 'fetch'; + r.destination = 'subresource'; + + // 5.5 + requestList.push(r); + + // 5.6 + responsePromise = createDeferredPromise(); // 5.7 + fetchControllers.push(fetching({ + request: r, + processResponse: function processResponse(response) { + // 1. + if (response.type === 'error' || response.status === 206 || response.status < 200 || response.status > 299) { + responsePromise.reject(webidl.errors.exception({ + header: 'Cache.addAll', + message: 'Received an invalid status code or the request failed.' + })); + } else if (response.headersList.contains('vary')) { + // 2. + // 2.1 + var fieldValues = getFieldValues(response.headersList.get('vary')); + + // 2.2 + var _iterator4 = _createForOfIteratorHelper(fieldValues), + _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var fieldValue = _step4.value; + // 2.2.1 + if (fieldValue === '*') { + responsePromise.reject(webidl.errors.exception({ + header: 'Cache.addAll', + message: 'invalid vary field value' + })); + for (var _i = 0, _fetchControllers = fetchControllers; _i < _fetchControllers.length; _i++) { + var controller = _fetchControllers[_i]; + controller.abort(); + } + return; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + }, + processResponseEndOfBody: function processResponseEndOfBody(response) { + // 1. + if (response.aborted) { + responsePromise.reject(new DOMException('aborted', 'AbortError')); + return; + } + + // 2. + responsePromise.resolve(response); + } + })); + // 5.8 + responsePromises.push(responsePromise.promise); + case 2: + return _context4.a(2); + } + }, _loop); + }); + _iterator2.s(); + case 11: + if ((_step2 = _iterator2.n()).done) { + _context5.n = 13; + break; + } + return _context5.d(_regeneratorValues(_loop()), 12); + case 12: + _context5.n = 11; + break; + case 13: + _context5.n = 15; + break; + case 14: + _context5.p = 14; + _t2 = _context5.v; + _iterator2.e(_t2); + case 15: + _context5.p = 15; + _iterator2.f(); + return _context5.f(15); + case 16: + // 6. + p = Promise.all(responsePromises); // 7. + _context5.n = 17; + return p; + case 17: + responses = _context5.v; + // 7.1 + operations = []; // 7.2 + index = 0; // 7.3 + _iterator3 = _createForOfIteratorHelper(responses); + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + response = _step3.value; + // 7.3.1 + /** @type {CacheBatchOperation} */ + operation = { + type: 'put', + // 7.3.2 + request: requestList[index], + // 7.3.3 + response: response // 7.3.4 + }; + operations.push(operation); // 7.3.5 + + index++; // 7.3.6 + } -/** - * Returns the index of the last element of the list which matches the - * predicate, or `-1` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Number} The index of the element found, or `-1`. - * @see R.transduce, R.lastIndexOf - * @example - * - * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; - * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1 - * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1 - */ + // 7.5 + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + cacheJobPromise = createDeferredPromise(); // 7.6.1 + errorData = null; // 7.6.2 + try { + _assertClassBrand(_Cache_brand, this, _batchCacheOperations).call(this, operations); + } catch (e) { + errorData = e; + } -var findLastIndex = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xfindLastIndex, function findLastIndex(fn, list) { - var idx = list.length - 1; - while (idx >= 0) { - if (fn(list[idx])) { - return idx; - } - idx -= 1; - } - return -1; -})); -/* harmony default export */ const es_findLastIndex = ((/* unused pure expression or super */ null && (findLastIndex))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/flatten.js + // 7.6.3 + queueMicrotask(function () { + // 7.6.3.1 + if (errorData === null) { + cacheJobPromise.resolve(undefined); + } else { + // 7.6.3.2 + cacheJobPromise.reject(errorData); + } + }); + // 7.7 + return _context5.a(2, cacheJobPromise.promise); + } + }, _callee4, this, [[10, 14, 15, 16], [1, 7, 8, 9]]); + })); + function addAll(_x3) { + return _addAll.apply(this, arguments); + } + return addAll; + }() + }, { + key: "put", + value: function () { + var _put = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(request, response) { + var prefix, + innerRequest, + innerResponse, + fieldValues, + _iterator5, + _step5, + fieldValue, + clonedResponse, + bodyReadPromise, + stream, + reader, + operations, + operation, + bytes, + cacheJobPromise, + errorData, + _args6 = arguments, + _t3; + return _regenerator().w(function (_context6) { + while (1) switch (_context6.p = _context6.n) { + case 0: + webidl.brandCheck(this, Cache); + prefix = 'Cache.put'; + webidl.argumentLengthCheck(_args6, 2, prefix); + request = webidl.converters.RequestInfo(request, prefix, 'request'); + response = webidl.converters.Response(response, prefix, 'response'); + + // 1. + innerRequest = null; // 2. + if (request instanceof Request) { + innerRequest = request[kState]; + } else { + // 3. + innerRequest = new Request(request)[kState]; + } -/** - * Returns a new list by pulling every item out of it (and all its sub-arrays) - * and putting them in a new array, depth-first. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [b] - * @param {Array} list The array to consider. - * @return {Array} The flattened list. - * @see R.unnest - * @example - * - * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]); - * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] - */ + // 4. + if (!(!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET')) { + _context6.n = 1; + break; + } + throw webidl.errors.exception({ + header: prefix, + message: 'Expected an http/s scheme when method is not GET' + }); + case 1: + // 5. + innerResponse = response[kState]; // 6. + if (!(innerResponse.status === 206)) { + _context6.n = 2; + break; + } + throw webidl.errors.exception({ + header: prefix, + message: 'Got 206 status' + }); + case 2: + if (!innerResponse.headersList.contains('vary')) { + _context6.n = 9; + break; + } + // 7.1. + fieldValues = getFieldValues(innerResponse.headersList.get('vary')); // 7.2. + _iterator5 = _createForOfIteratorHelper(fieldValues); + _context6.p = 3; + _iterator5.s(); + case 4: + if ((_step5 = _iterator5.n()).done) { + _context6.n = 6; + break; + } + fieldValue = _step5.value; + if (!(fieldValue === '*')) { + _context6.n = 5; + break; + } + throw webidl.errors.exception({ + header: prefix, + message: 'Got * vary field value' + }); + case 5: + _context6.n = 4; + break; + case 6: + _context6.n = 8; + break; + case 7: + _context6.p = 7; + _t3 = _context6.v; + _iterator5.e(_t3); + case 8: + _context6.p = 8; + _iterator5.f(); + return _context6.f(8); + case 9: + if (!(innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked))) { + _context6.n = 10; + break; + } + throw webidl.errors.exception({ + header: prefix, + message: 'Response body is locked or disturbed' + }); + case 10: + // 9. + clonedResponse = cloneResponse(innerResponse); // 10. + bodyReadPromise = createDeferredPromise(); // 11. + if (innerResponse.body != null) { + // 11.1 + stream = innerResponse.body.stream; // 11.2 + reader = stream.getReader(); // 11.3 + readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); + } else { + bodyReadPromise.resolve(undefined); + } -var flatten = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1( /*#__PURE__*/ -_makeFlat(true)))); -/* harmony default export */ const es_flatten = ((/* unused pure expression or super */ null && (flatten))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/forEach.js + // 12. + /** @type {CacheBatchOperation[]} */ + operations = []; // 13. + /** @type {CacheBatchOperation} */ + operation = { + type: 'put', + // 14. + request: innerRequest, + // 15. + response: clonedResponse // 16. + }; // 17. + operations.push(operation); + + // 19. + _context6.n = 11; + return bodyReadPromise.promise; + case 11: + bytes = _context6.v; + if (clonedResponse.body != null) { + clonedResponse.body.source = bytes; + } + // 19.1 + cacheJobPromise = createDeferredPromise(); // 19.2.1 + errorData = null; // 19.2.2 + try { + _assertClassBrand(_Cache_brand, this, _batchCacheOperations).call(this, operations); + } catch (e) { + errorData = e; + } -/** - * Iterate over an input `list`, calling a provided function `fn` for each - * element in the list. - * - * `fn` receives one argument: *(value)*. - * - * Note: `R.forEach` does not skip deleted or unassigned indices (sparse - * arrays), unlike the native `Array.prototype.forEach` method. For more - * details on this behavior, see: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description - * - * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns - * the original array. In some libraries this function is named `each`. - * - * Dispatches to the `forEach` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> *) -> [a] -> [a] - * @param {Function} fn The function to invoke. Receives one argument, `value`. - * @param {Array} list The list to iterate over. - * @return {Array} The original list. - * @see R.addIndex - * @example - * - * const printXPlusFive = x => console.log(x + 5); - * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3] - * // logs 6 - * // logs 7 - * // logs 8 - * @symb R.forEach(f, [a, b, c]) = [a, b, c] - */ + // 19.2.3 + queueMicrotask(function () { + // 19.2.3.1 + if (errorData === null) { + cacheJobPromise.resolve(); + } else { + // 19.2.3.2 + cacheJobPromise.reject(errorData); + } + }); + return _context6.a(2, cacheJobPromise.promise); + } + }, _callee5, this, [[3, 7, 8, 9]]); + })); + function put(_x4, _x5) { + return _put.apply(this, arguments); + } + return put; + }() + }, { + key: "delete", + value: function () { + var _delete2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(request) { + var options, + prefix, + r, + operations, + operation, + cacheJobPromise, + errorData, + requestResponses, + _args7 = arguments; + return _regenerator().w(function (_context7) { + while (1) switch (_context7.n) { + case 0: + options = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {}; + webidl.brandCheck(this, Cache); + prefix = 'Cache.delete'; + webidl.argumentLengthCheck(_args7, 1, prefix); + request = webidl.converters.RequestInfo(request, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); + + /** + * @type {Request} + */ + r = null; + if (!(request instanceof Request)) { + _context7.n = 2; + break; + } + r = request[kState]; + if (!(r.method !== 'GET' && !options.ignoreMethod)) { + _context7.n = 1; + break; + } + return _context7.a(2, false); + case 1: + _context7.n = 3; + break; + case 2: + assert(typeof request === 'string'); + r = new Request(request)[kState]; + case 3: + /** @type {CacheBatchOperation[]} */ + operations = []; + /** @type {CacheBatchOperation} */ + operation = { + type: 'delete', + request: r, + options: options + }; + operations.push(operation); + cacheJobPromise = createDeferredPromise(); + errorData = null; + try { + requestResponses = _assertClassBrand(_Cache_brand, this, _batchCacheOperations).call(this, operations); + } catch (e) { + errorData = e; + } + queueMicrotask(function () { + if (errorData === null) { + var _requestResponses; + cacheJobPromise.resolve(!!((_requestResponses = requestResponses) !== null && _requestResponses !== void 0 && _requestResponses.length)); + } else { + cacheJobPromise.reject(errorData); + } + }); + return _context7.a(2, cacheJobPromise.promise); + } + }, _callee6, this); + })); + function _delete(_x6) { + return _delete2.apply(this, arguments); + } + return _delete; + }() + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys + * @param {any} request + * @param {import('../../types/cache').CacheQueryOptions} options + * @returns {Promise} + */ + }, { + key: "keys", + value: (function () { + var _keys = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() { + var request, + options, + prefix, + r, + promise, + requests, + _iterator6, + _step6, + requestResponse, + requestResponses, + _iterator7, + _step7, + _requestResponse, + _args8 = arguments; + return _regenerator().w(function (_context8) { + while (1) switch (_context8.n) { + case 0: + request = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : undefined; + options = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : {}; + webidl.brandCheck(this, Cache); + prefix = 'Cache.keys'; + if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request'); + options = webidl.converters.CacheQueryOptions(options, prefix, 'options'); + + // 1. + r = null; // 2. + if (!(request !== undefined)) { + _context8.n = 3; + break; + } + if (!(request instanceof Request)) { + _context8.n = 2; + break; + } + // 2.1.1 + r = request[kState]; -var forEach = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2( /*#__PURE__*/ -_checkForMethod('forEach', function forEach(fn, list) { - var len = list.length; - var idx = 0; - while (idx < len) { - fn(list[idx]); - idx += 1; - } - return list; -})))); -/* harmony default export */ const es_forEach = ((/* unused pure expression or super */ null && (forEach))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/forEachObjIndexed.js + // 2.1.2 + if (!(r.method !== 'GET' && !options.ignoreMethod)) { + _context8.n = 1; + break; + } + return _context8.a(2, []); + case 1: + _context8.n = 3; + break; + case 2: + if (typeof request === 'string') { + // 2.2 + r = new Request(request)[kState]; + } + case 3: + // 4. + promise = createDeferredPromise(); // 5. + // 5.1 + requests = []; // 5.2 + if (request === undefined) { + // 5.2.1 + _iterator6 = _createForOfIteratorHelper(_classPrivateFieldGet(_relevantRequestResponseList, this)); + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + requestResponse = _step6.value; + // 5.2.1.1 + requests.push(requestResponse[0]); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + } else { + // 5.3 + // 5.3.1 + requestResponses = _assertClassBrand(_Cache_brand, this, _queryCache).call(this, r, options); // 5.3.2 + _iterator7 = _createForOfIteratorHelper(requestResponses); + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + _requestResponse = _step7.value; + // 5.3.2.1 + requests.push(_requestResponse[0]); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + // 5.4 + queueMicrotask(function () { + // 5.4.1 + var requestList = []; + + // 5.4.2 + for (var _i2 = 0, _requests = requests; _i2 < _requests.length; _i2++) { + var _request = _requests[_i2]; + var requestObject = fromInnerRequest(_request, new AbortController().signal, 'immutable'); + // 5.4.2.1 + requestList.push(requestObject); + } -/** - * Iterate over an input `object`, calling a provided function `fn` for each - * key and value in the object. - * - * `fn` receives three argument: *(value, key, obj)*. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Object - * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a - * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`. - * @param {Object} obj The object to iterate over. - * @return {Object} The original object. - * @example - * - * const printKeyConcatValue = (value, key) => console.log(key + ':' + value); - * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2} - * // logs x:1 - * // logs y:2 - * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b} - */ + // 5.4.3 + promise.resolve(Object.freeze(requestList)); + }); + return _context8.a(2, promise.promise); + } + }, _callee7, this); + })); + function keys() { + return _keys.apply(this, arguments); + } + return keys; + }()) + }]); +}(); +function _batchCacheOperations(operations) { + // 1. + var cache = _classPrivateFieldGet(_relevantRequestResponseList, this); -var forEachObjIndexed = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function forEachObjIndexed(fn, obj) { - var keyList = keys(obj); - var idx = 0; - while (idx < keyList.length) { - var key = keyList[idx]; - fn(obj[key], key, obj); - idx += 1; - } - return obj; -}))); -/* harmony default export */ const es_forEachObjIndexed = ((/* unused pure expression or super */ null && (forEachObjIndexed))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/groupBy.js + // 2. + var backupCache = _toConsumableArray(cache); + // 3. + var addedItems = []; + // 4.1 + var resultList = []; + try { + // 4.2 + var _iterator8 = _createForOfIteratorHelper(operations), + _step8; + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var operation = _step8.value; + // 4.2.1 + if (operation.type !== 'delete' && operation.type !== 'put') { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'operation type does not match "delete" or "put"' + }); + } -/** - * Splits a list into sub-lists stored in an object, based on the result of - * calling a key-returning function on each element, and grouping the - * results according to values returned. - * - * Dispatches to the `groupBy` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @typedefn Idx = String | Int | Symbol - * @sig Idx a => (b -> a) -> [b] -> {a: [b]} - * @param {Function} fn Function :: a -> Idx - * @param {Array} list The array to group - * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements - * that produced that key when passed to `fn`. - * @see R.reduceBy, R.transduce, R.indexBy - * @example - * - * const byGrade = R.groupBy(function(student) { - * const score = student.score; - * return score < 65 ? 'F' : - * score < 70 ? 'D' : - * score < 80 ? 'C' : - * score < 90 ? 'B' : 'A'; - * }); - * const students = [{name: 'Abby', score: 84}, - * {name: 'Eddy', score: 58}, - * // ... - * {name: 'Jack', score: 69}]; - * byGrade(students); - * // { - * // 'A': [{name: 'Dianne', score: 99}], - * // 'B': [{name: 'Abby', score: 84}] - * // // ..., - * // 'F': [{name: 'Eddy', score: 58}] - * // } - */ - -var groupBy = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2( /*#__PURE__*/ -_checkForMethod('groupBy', /*#__PURE__*/ -reduceBy(function (acc, item) { - acc.push(item); - return acc; -}, []))))); -/* harmony default export */ const es_groupBy = ((/* unused pure expression or super */ null && (groupBy))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/identical.js - - -/** - * Returns true if its arguments are identical, false otherwise. Values are - * identical if they reference the same memory. `NaN` is identical to `NaN`; - * `0` and `-0` are not identical. - * - * Note this is merely a curried version of ES6 `Object.is`. - * - * @func - * @memberOf R - * @since v0.15.0 - * @category Relation - * @sig a -> a -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @example - * - * const o = {}; - * R.identical(o, o); //=> true - * R.identical(1, 1); //=> true - * R.identical(1, '1'); //=> false - * R.identical([], []); //=> false - * R.identical(0, -0); //=> false - * R.identical(NaN, NaN); //=> true - */ + // 4.2.2 + if (operation.type === 'delete' && operation.response != null) { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'delete operation should not have an associated response' + }); + } -var identical = /*#__PURE__*/ -_curry2_curry2(internal_objectIs); -/* harmony default export */ const es_identical = ((/* unused pure expression or super */ null && (identical))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/includes.js + // 4.2.3 + if (_assertClassBrand(_Cache_brand, this, _queryCache).call(this, operation.request, operation.options, addedItems).length) { + throw new DOMException('???', 'InvalidStateError'); + } + // 4.2.4 + var requestResponses = void 0; -/** - * Returns `true` if the specified value is equal, in [`R.equals`](#equals) - * terms, to at least one element of the given list; `false` otherwise. - * Also works with strings. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category List - * @sig a -> [a] -> Boolean - * @param {Object} a The item to compare against. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. - * @see R.any - * @example - * - * R.includes(3, [1, 2, 3]); //=> true - * R.includes(4, [1, 2, 3]); //=> false - * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true - * R.includes([42], [[42]]); //=> true - * R.includes('ba', 'banana'); //=>true - */ + // 4.2.5 + if (operation.type === 'delete') { + // 4.2.5.1 + requestResponses = _assertClassBrand(_Cache_brand, this, _queryCache).call(this, operation.request, operation.options); -var includes = /*#__PURE__*/ -_curry2_curry2(_includes_includes); -/* harmony default export */ const es_includes = ((/* unused pure expression or super */ null && (includes))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/indexBy.js + // TODO: the spec is wrong, this is needed to pass WPTs + if (requestResponses.length === 0) { + return []; + } -/** - * Given a function that generates a key, turns a list of objects into an - * object indexing the objects by the given key. Note that if multiple - * objects generate the same value for the indexing key only the last value - * will be included in the generated object. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @typedefn Idx = String | Int | Symbol - * @sig Idx a => (b -> a) -> [b] -> {a: b} - * @param {Function} fn Function :: a -> Idx - * @param {Array} array The array of objects to index - * @return {Object} An object indexing each array element by the given property. - * @see R.groupBy - * @example - * - * const list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}]; - * R.indexBy(R.prop('id'), list); - * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}} - */ + // 4.2.5.2 + var _iterator9 = _createForOfIteratorHelper(requestResponses), + _step9; + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var requestResponse = _step9.value; + var idx = cache.indexOf(requestResponse); + assert(idx !== -1); + + // 4.2.5.2.1 + cache.splice(idx, 1); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + } else if (operation.type === 'put') { + // 4.2.6 + // 4.2.6.1 + if (operation.response == null) { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'put operation should have an associated response' + }); + } -var indexBy = /*#__PURE__*/ -(/* unused pure expression or super */ null && (reduceBy(function (acc, elem) { - return elem; -}, null))); -/* harmony default export */ const es_indexBy = ((/* unused pure expression or super */ null && (indexBy))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/indexOf.js + // 4.2.6.2 + var r = operation.request; + // 4.2.6.3 + if (!urlIsHttpHttpsScheme(r.url)) { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'expected http or https scheme' + }); + } + // 4.2.6.4 + if (r.method !== 'GET') { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'not get method' + }); + } -/** - * Returns the position of the first occurrence of an item in an array, or -1 - * if the item is not included in the array. [`R.equals`](#equals) is used to - * determine equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Number - * @param {*} target The item to find. - * @param {Array} xs The array to search in. - * @return {Number} the index of the target, or -1 if the target is not found. - * @see R.lastIndexOf, R.findIndex - * @example - * - * R.indexOf(3, [1,2,3,4]); //=> 2 - * R.indexOf(10, [1,2,3,4]); //=> -1 - */ + // 4.2.6.5 + if (operation.options != null) { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'options must not be defined' + }); + } -var indexOf = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function indexOf(target, xs) { - return typeof xs.indexOf === 'function' && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0); -}))); -/* harmony default export */ const es_indexOf = ((/* unused pure expression or super */ null && (indexOf))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/init.js + // 4.2.6.6 + requestResponses = _assertClassBrand(_Cache_brand, this, _queryCache).call(this, operation.request); -/** - * Returns all but the last element of the given list or string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.last, R.head, R.tail - * @example - * - * R.init([1, 2, 3]); //=> [1, 2] - * R.init([1, 2]); //=> [1] - * R.init([1]); //=> [] - * R.init([]); //=> [] - * - * R.init('abc'); //=> 'ab' - * R.init('ab'); //=> 'a' - * R.init('a'); //=> '' - * R.init(''); //=> '' - */ + // 4.2.6.7 + var _iterator0 = _createForOfIteratorHelper(requestResponses), + _step0; + try { + for (_iterator0.s(); !(_step0 = _iterator0.n()).done;) { + var _requestResponse2 = _step0.value; + var _idx = cache.indexOf(_requestResponse2); + assert(_idx !== -1); -var init = /*#__PURE__*/ -(/* unused pure expression or super */ null && (slice(0, -1))); -/* harmony default export */ const es_init = ((/* unused pure expression or super */ null && (init))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_identity.js -function _identity(x) { - return x; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/identity.js + // 4.2.6.7.1 + cache.splice(_idx, 1); + } + // 4.2.6.8 + } catch (err) { + _iterator0.e(err); + } finally { + _iterator0.f(); + } + cache.push([operation.request, operation.response]); -/** - * A function that does nothing but return the parameter supplied to it. Good - * as a default or placeholder function. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig a -> a - * @param {*} x The value to return. - * @return {*} The input value, `x`. - * @example - * - * R.identity(1); //=> 1 - * - * const obj = {}; - * R.identity(obj) === obj; //=> true - * @symb R.identity(a) = a - */ + // 4.2.6.10 + addedItems.push([operation.request, operation.response]); + } -var identity_identity = /*#__PURE__*/ -_curry1_curry1(_identity); -/* harmony default export */ const es_identity = (identity_identity); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xuniqBy.js + // 4.2.7 + resultList.push([operation.request, operation.response]); + } + // 4.3 + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + return resultList; + } catch (e) { + // 5. + // 5.1 + _classPrivateFieldGet(_relevantRequestResponseList, this).length = 0; + // 5.2 + _classPrivateFieldSet(_relevantRequestResponseList, this, backupCache); -var XUniqBy = /*#__PURE__*/ -function () { - function XUniqBy(f, xf) { - this.xf = xf; - this.f = f; - this.set = new internal_Set(); + // 5.3 + throw e; } - XUniqBy.prototype['@@transducer/init'] = _xfBase.init; - XUniqBy.prototype['@@transducer/result'] = _xfBase.result; - XUniqBy.prototype['@@transducer/step'] = function (result, input) { - return this.set.add(this.f(input)) ? this.xf['@@transducer/step'](result, input) : result; - }; - return XUniqBy; -}(); -var _xuniqBy = /*#__PURE__*/ -_curry2_curry2(function _xuniqBy(f, xf) { - return new XUniqBy(f, xf); -}); -/* harmony default export */ const internal_xuniqBy = (_xuniqBy); -;// CONCATENATED MODULE: ./node_modules/ramda/es/uniqBy.js - - - - +} /** - * Returns a new list containing only one copy of each element in the original - * list, based upon the value returned by applying the supplied function to - * each list element. Prefers the first item if the supplied function produces - * the same value on two items. [`R.equals`](#equals) is used for comparison. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> b) -> [a] -> [a] - * @param {Function} fn A function used to produce a value to use during comparisons. - * @param {Array} list The array to consider. - * @return {Array} The list of unique items. - * @example - * - * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10] + * @see https://w3c.github.io/ServiceWorker/#query-cache + * @param {any} requestQuery + * @param {import('../../types/cache').CacheQueryOptions} options + * @param {requestResponseList} targetStorage + * @returns {requestResponseList} */ - -var uniqBy = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xuniqBy, function (fn, list) { - var set = new internal_Set(); - var result = []; - var idx = 0; - var appliedItem, item; - while (idx < list.length) { - item = list[idx]; - appliedItem = fn(item); - if (set.add(appliedItem)) { - result.push(item); +function _queryCache(requestQuery, options, targetStorage) { + /** @type {requestResponseList} */ + var resultList = []; + var storage = targetStorage !== null && targetStorage !== void 0 ? targetStorage : _classPrivateFieldGet(_relevantRequestResponseList, this); + var _iterator1 = _createForOfIteratorHelper(storage), + _step1; + try { + for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) { + var requestResponse = _step1.value; + var _requestResponse3 = _slicedToArray(requestResponse, 2), + cachedRequest = _requestResponse3[0], + cachedResponse = _requestResponse3[1]; + if (_assertClassBrand(_Cache_brand, this, _requestMatchesCachedItem).call(this, requestQuery, cachedRequest, cachedResponse, options)) { + resultList.push(requestResponse); + } } - idx += 1; + } catch (err) { + _iterator1.e(err); + } finally { + _iterator1.f(); } - return result; -})); -/* harmony default export */ const es_uniqBy = (uniqBy); -;// CONCATENATED MODULE: ./node_modules/ramda/es/uniq.js - - + return resultList; +} /** - * Returns a new list containing only one copy of each element in the original - * list. [`R.equals`](#equals) is used to determine equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @param {Array} list The array to consider. - * @return {Array} The list of unique items. - * @example - * - * R.uniq([1, 1, 2, 1]); //=> [1, 2] - * R.uniq([1, '1']); //=> [1, '1'] - * R.uniq([[42], [42]]); //=> [[42]] + * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm + * @param {any} requestQuery + * @param {any} request + * @param {any | null} response + * @param {import('../../types/cache').CacheQueryOptions | undefined} options + * @returns {boolean} */ +function _requestMatchesCachedItem(requestQuery, request) { + var response = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var options = arguments.length > 3 ? arguments[3] : undefined; + // if (options?.ignoreMethod === false && request.method === 'GET') { + // return false + // } + + var queryURL = new URL(requestQuery.url); + var cachedURL = new URL(request.url); + if (options !== null && options !== void 0 && options.ignoreSearch) { + cachedURL.search = ''; + queryURL.search = ''; + } + if (!urlEquals(queryURL, cachedURL, true)) { + return false; + } + if (response == null || options !== null && options !== void 0 && options.ignoreVary || !response.headersList.contains('vary')) { + return true; + } + var fieldValues = getFieldValues(response.headersList.get('vary')); + var _iterator10 = _createForOfIteratorHelper(fieldValues), + _step10; + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var fieldValue = _step10.value; + if (fieldValue === '*') { + return false; + } + var requestValue = request.headersList.get(fieldValue); + var queryValue = requestQuery.headersList.get(fieldValue); -var uniq_uniq = /*#__PURE__*/ -es_uniqBy(es_identity); -/* harmony default export */ const es_uniq = (uniq_uniq); -;// CONCATENATED MODULE: ./node_modules/ramda/es/intersection.js - - - - + // If one has the header and the other doesn't, or one has + // a different value than the other, return false + if (requestValue !== queryValue) { + return false; + } + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + return true; +} +function _internalMatchAll(request, options) { + var maxResponses = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity; + // 1. + var r = null; + + // 2. + if (request !== undefined) { + if (request instanceof Request) { + // 2.1.1 + r = request[kState]; + + // 2.1.2 + if (r.method !== 'GET' && !options.ignoreMethod) { + return []; + } + } else if (typeof request === 'string') { + // 2.2.1 + r = new Request(request)[kState]; + } + } -/** - * Combines two lists into a set (i.e. no duplicates) composed of those - * elements common to both lists. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The list of elements found in both `list1` and `list2`. - * @see R.innerJoin - * @example - * - * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3] - */ + // 5. + // 5.1 + var responses = []; -var intersection = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function intersection(list1, list2) { - var lookupList, filteredList; - if (list1.length > list2.length) { - lookupList = list1; - filteredList = list2; + // 5.2 + if (request === undefined) { + // 5.2.1 + var _iterator11 = _createForOfIteratorHelper(_classPrivateFieldGet(_relevantRequestResponseList, this)), + _step11; + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var requestResponse = _step11.value; + responses.push(requestResponse[1]); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } } else { - lookupList = list2; - filteredList = list1; + // 5.3 + // 5.3.1 + var requestResponses = _assertClassBrand(_Cache_brand, this, _queryCache).call(this, r, options); + + // 5.3.2 + var _iterator12 = _createForOfIteratorHelper(requestResponses), + _step12; + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var _requestResponse4 = _step12.value; + responses.push(_requestResponse4[1]); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } } - return uniq(_filter(flip(_includes)(lookupList), filteredList)); -}))); -/* harmony default export */ const es_intersection = ((/* unused pure expression or super */ null && (intersection))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/intersperse.js + // 5.4 + // We don't implement CORs so we don't need to loop over the responses, yay! -/** - * Creates a new list with the separator interposed between elements. - * - * Dispatches to the `intersperse` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig a -> [a] -> [a] - * @param {*} separator The element to add to the list. - * @param {Array} list The list to be interposed. - * @return {Array} The new list. - * @example - * - * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's'] - */ + // 5.5.1 + var responseList = []; -var intersperse = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2( /*#__PURE__*/ -_checkForMethod('intersperse', function intersperse(separator, list) { - var out = []; - var idx = 0; - var length = list.length; - while (idx < length) { - if (idx === length - 1) { - out.push(list[idx]); - } else { - out.push(list[idx], separator); + // 5.5.2 + for (var _i3 = 0, _responses = responses; _i3 < _responses.length; _i3++) { + var response = _responses[_i3]; + // 5.5.2.1 + var responseObject = fromInnerResponse(response, 'immutable'); + responseList.push(responseObject.clone()); + if (responseList.length >= maxResponses) { + break; } - idx += 1; } - return out; -})))); -/* harmony default export */ const es_intersperse = ((/* unused pure expression or super */ null && (intersperse))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_objectAssign.js - // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign -function _objectAssign_objectAssign(target) { - if (target == null) { - throw new TypeError('Cannot convert undefined or null to object'); + // 6. + return Object.freeze(responseList); +} +Object.defineProperties(Cache.prototype, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Symbol.toStringTag, { + value: 'Cache', + configurable: true +}), "match", kEnumerableProperty), "matchAll", kEnumerableProperty), "add", kEnumerableProperty), "addAll", kEnumerableProperty), "put", kEnumerableProperty), "delete", kEnumerableProperty), "keys", kEnumerableProperty)); +var cacheQueryOptionConverters = [{ + key: 'ignoreSearch', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; } - var output = Object(target); - var idx = 1; - var length = arguments.length; - while (idx < length) { - var source = arguments[idx]; - if (source != null) { - for (var nextKey in source) { - if (_has_has(nextKey, source)) { - output[nextKey] = source[nextKey]; - } - } - } - idx += 1; +}, { + key: 'ignoreMethod', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; } - return output; -} -/* harmony default export */ const internal_objectAssign = (typeof Object.assign === 'function' ? Object.assign : _objectAssign_objectAssign); -;// CONCATENATED MODULE: ./node_modules/ramda/es/objOf.js +}, { + key: 'ignoreVary', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}]; +webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); +webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([].concat(cacheQueryOptionConverters, [{ + key: 'cacheName', + converter: webidl.converters.DOMString +}])); +webidl.converters.Response = webidl.interfaceConverter(Response); +webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.RequestInfo); +module.exports = { + Cache: Cache +}; -/** - * Creates an object containing a single key:value pair. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Object - * @sig String -> a -> {String:a} - * @param {String} key - * @param {*} val - * @return {Object} - * @see R.pair - * @example - * - * const matchPhrases = R.compose( - * R.objOf('must'), - * R.map(R.objOf('match_phrase')) - * ); - * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]} - */ +/***/ }, -var objOf = /*#__PURE__*/ -_curry2_curry2(function objOf(key, val) { - var obj = {}; - obj[key] = val; - return obj; -}); -/* harmony default export */ const es_objOf = (objOf); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_stepCat.js +/***/ 7621 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _defineProperty = (__webpack_require__(3693)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _require = __webpack_require__(3861), + kConstruct = _require.kConstruct; +var _require2 = __webpack_require__(8106), + Cache = _require2.Cache; +var _require3 = __webpack_require__(2861), + webidl = _require3.webidl; +var _require4 = __webpack_require__(6632), + kEnumerableProperty = _require4.kEnumerableProperty; +var _caches = /*#__PURE__*/new WeakMap(); +var CacheStorage = /*#__PURE__*/function () { + function CacheStorage() { + _classCallCheck(this, CacheStorage); + /** + * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map + * @type {Map 1 && _args[1] !== undefined ? _args[1] : {}; + webidl.brandCheck(this, CacheStorage); + webidl.argumentLengthCheck(_args, 1, 'CacheStorage.match'); + request = webidl.converters.RequestInfo(request); + options = webidl.converters.MultiCacheQueryOptions(options); + + // 1. + if (!(options.cacheName != null)) { + _context.n = 3; + break; + } + if (!_classPrivateFieldGet(_caches, this).has(options.cacheName)) { + _context.n = 2; + break; + } + // 1.1.1.1.1 + cacheList = _classPrivateFieldGet(_caches, this).get(options.cacheName); + cache = new Cache(kConstruct, cacheList); + _context.n = 1; + return cache.match(request, options); + case 1: + return _context.a(2, _context.v); + case 2: + _context.n = 11; + break; + case 3: + // 2. + // 2.2 + _iterator = _createForOfIteratorHelper(_classPrivateFieldGet(_caches, this).values()); + _context.p = 4; + _iterator.s(); + case 5: + if ((_step = _iterator.n()).done) { + _context.n = 8; + break; + } + _cacheList = _step.value; + _cache = new Cache(kConstruct, _cacheList); // 2.2.1.2 + _context.n = 6; + return _cache.match(request, options); + case 6: + response = _context.v; + if (!(response !== undefined)) { + _context.n = 7; + break; + } + return _context.a(2, response); + case 7: + _context.n = 5; + break; + case 8: + _context.n = 10; + break; + case 9: + _context.p = 9; + _t = _context.v; + _iterator.e(_t); + case 10: + _context.p = 10; + _iterator.f(); + return _context.f(10); + case 11: + return _context.a(2); + } + }, _callee, this, [[4, 9, 10, 11]]); + })); + function match(_x) { + return _match.apply(this, arguments); + } + return match; + }() + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-has + * @param {string} cacheName + * @returns {Promise} + */ + }, { + key: "has", + value: (function () { + var _has = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(cacheName) { + var prefix, + _args2 = arguments; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + webidl.brandCheck(this, CacheStorage); + prefix = 'CacheStorage.has'; + webidl.argumentLengthCheck(_args2, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName'); + + // 2.1.1 + // 2.2 + return _context2.a(2, _classPrivateFieldGet(_caches, this).has(cacheName)); + } + }, _callee2, this); + })); + function has(_x2) { + return _has.apply(this, arguments); + } + return has; + }() + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open + * @param {string} cacheName + * @returns {Promise} + */ + ) + }, { + key: "open", + value: (function () { + var _open = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(cacheName) { + var prefix, + _cache2, + cache, + _args3 = arguments; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + webidl.brandCheck(this, CacheStorage); + prefix = 'CacheStorage.open'; + webidl.argumentLengthCheck(_args3, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName'); + + // 2.1 + if (!_classPrivateFieldGet(_caches, this).has(cacheName)) { + _context3.n = 1; + break; + } + // await caches.open('v1') !== await caches.open('v1') + // 2.1.1 + _cache2 = _classPrivateFieldGet(_caches, this).get(cacheName); // 2.1.1.1 + return _context3.a(2, new Cache(kConstruct, _cache2)); + case 1: + // 2.2 + cache = []; // 2.3 + _classPrivateFieldGet(_caches, this).set(cacheName, cache); + + // 2.4 + return _context3.a(2, new Cache(kConstruct, cache)); + } + }, _callee3, this); + })); + function open(_x3) { + return _open.apply(this, arguments); + } + return open; + }() + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete + * @param {string} cacheName + * @returns {Promise} + */ + ) + }, { + key: "delete", + value: (function () { + var _delete2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(cacheName) { + var prefix, + _args4 = arguments; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + webidl.brandCheck(this, CacheStorage); + prefix = 'CacheStorage.delete'; + webidl.argumentLengthCheck(_args4, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName'); + return _context4.a(2, _classPrivateFieldGet(_caches, this)["delete"](cacheName)); + } + }, _callee4, this); + })); + function _delete(_x4) { + return _delete2.apply(this, arguments); + } + return _delete; + }() + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys + * @returns {Promise} + */ + ) + }, { + key: "keys", + value: (function () { + var _keys = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() { + var keys; + return _regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + webidl.brandCheck(this, CacheStorage); + + // 2.1 + keys = _classPrivateFieldGet(_caches, this).keys(); // 2.2 + return _context5.a(2, _toConsumableArray(keys)); + } + }, _callee5, this); + })); + function keys() { + return _keys.apply(this, arguments); + } + return keys; + }()) + }]); +}(); +Object.defineProperties(CacheStorage.prototype, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Symbol.toStringTag, { + value: 'CacheStorage', + configurable: true +}), "match", kEnumerableProperty), "has", kEnumerableProperty), "open", kEnumerableProperty), "delete", kEnumerableProperty), "keys", kEnumerableProperty)); +module.exports = { + CacheStorage: CacheStorage +}; +/***/ }, +/***/ 3861 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; -var _stepCatArray = { - '@@transducer/init': Array, - '@@transducer/step': function transducerStep(xs, x) { - xs.push(x); - return xs; - }, - '@@transducer/result': _identity -}; -var _stepCatString = { - '@@transducer/init': String, - '@@transducer/step': function transducerStep(a, b) { - return a + b; - }, - '@@transducer/result': _identity -}; -var _stepCatObject = { - '@@transducer/init': Object, - '@@transducer/step': function transducerStep(result, input) { - return internal_objectAssign(result, internal_isArrayLike(input) ? es_objOf(input[0], input[1]) : input); - }, - '@@transducer/result': _identity +module.exports = { + kConstruct: (__webpack_require__(6771).kConstruct) }; -function _stepCat_stepCat(obj) { - if (_isTransformer(obj)) { - return obj; - } - if (_isArrayLike(obj)) { - return _stepCatArray; - } - if (typeof obj === 'string') { - return _stepCatString; - } - if (typeof obj === 'object') { - return _stepCatObject; - } - throw new Error('Cannot create transformer for ' + obj); -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/into.js +/***/ }, +/***/ 2822 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var assert = __webpack_require__(4589); +var _require = __webpack_require__(8388), + URLSerializer = _require.URLSerializer; +var _require2 = __webpack_require__(8440), + isValidHeaderName = _require2.isValidHeaderName; /** - * Transforms the items of the list with the transducer and appends the - * transformed items to the accumulator using an appropriate iterator function - * based on the accumulator type. - * - * The accumulator can be an array, string, object or a transformer. Iterated - * items will be appended to arrays and concatenated to strings. Objects will - * be merged directly or 2-item arrays will be merged as key, value pairs. - * - * The accumulator can also be a transformer object that provides a 2-arity - * reducing iterator function, step, 0-arity initial value function, init, and - * 1-arity result extraction function result. The step function is used as the - * iterator function in reduce. The result function is used to convert the - * final accumulator into the return type and in most cases is R.identity. The - * init function is used to provide the initial accumulator. - * - * The iteration is performed with [`R.reduce`](#reduce) after initializing the - * transducer. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig a -> (b -> b) -> [c] -> a - * @param {*} acc The initial accumulator value. - * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.transduce - * @example - * - * const numbers = [1, 2, 3, 4]; - * const transducer = R.compose(R.map(R.add(1)), R.take(2)); - * - * R.into([], transducer, numbers); //=> [2, 3] - * - * const intoArray = R.into([]); - * intoArray(transducer, numbers); //=> [2, 3] + * @see https://url.spec.whatwg.org/#concept-url-equals + * @param {URL} A + * @param {URL} B + * @param {boolean | undefined} excludeFragment + * @returns {boolean} + */ +function urlEquals(A, B) { + var excludeFragment = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var serializedA = URLSerializer(A, excludeFragment); + var serializedB = URLSerializer(B, excludeFragment); + return serializedA === serializedB; +} + +/** + * @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262 + * @param {string} header */ +function getFieldValues(header) { + assert(header !== null); + var values = []; + var _iterator = _createForOfIteratorHelper(header.split(',')), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var value = _step.value; + value = value.trim(); + if (isValidHeaderName(value)) { + values.push(value); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return values; +} +module.exports = { + urlEquals: urlEquals, + getFieldValues: getFieldValues +}; -var into = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function into(acc, xf, list) { - return _isTransformer(acc) ? _reduce(xf(acc), acc['@@transducer/init'](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list); -}))); -/* harmony default export */ const es_into = ((/* unused pure expression or super */ null && (into))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/invert.js +/***/ }, +/***/ 4596 +(module) { +"use strict"; -/** - * Same as [`R.invertObj`](#invertObj), however this accounts for objects with - * duplicate values by putting the values into an array. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig {s: x} -> {x: [ s, ... ]} - * @param {Object} obj The object or array to invert - * @return {Object} out A new object with keys in an array. - * @see R.invertObj - * @example - * - * const raceResultsByFirstName = { - * first: 'alice', - * second: 'jake', - * third: 'alice', - * }; - * R.invert(raceResultsByFirstName); - * //=> { 'alice': ['first', 'third'], 'jake':['second'] } - */ - -var invert = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function invert(obj) { - var props = keys(obj); - var len = props.length; - var idx = 0; - var out = {}; - while (idx < len) { - var key = props[idx]; - var val = obj[key]; - var list = _has(val, out) ? out[val] : out[val] = []; - list[list.length] = key; - idx += 1; - } - return out; -}))); -/* harmony default export */ const es_invert = ((/* unused pure expression or super */ null && (invert))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/invertObj.js +// https://wicg.github.io/cookie-store/#cookie-maximum-attribute-value-size +var maxAttributeValueSize = 1024; -/** - * Returns a new object with the keys of the given object as values, and the - * values of the given object, which are coerced to strings, as keys. Note - * that the last key found is preferred when handling the same value. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig {s: x} -> {x: s} - * @param {Object} obj The object or array to invert - * @return {Object} out A new object - * @see R.invert - * @example - * - * const raceResults = { - * first: 'alice', - * second: 'jake' - * }; - * R.invertObj(raceResults); - * //=> { 'alice': 'first', 'jake':'second' } - * - * // Alternatively: - * const raceResults = ['alice', 'jake']; - * R.invertObj(raceResults); - * //=> { 'alice': '0', 'jake':'1' } - */ +// https://wicg.github.io/cookie-store/#cookie-maximum-name-value-pair-size +var maxNameValuePairSize = 4096; +module.exports = { + maxAttributeValueSize: maxAttributeValueSize, + maxNameValuePairSize: maxNameValuePairSize +}; -var invertObj = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function invertObj(obj) { - var props = keys(obj); - var len = props.length; - var idx = 0; - var out = {}; - while (idx < len) { - var key = props[idx]; - out[obj[key]] = key; - idx += 1; - } - return out; -}))); -/* harmony default export */ const es_invertObj = ((/* unused pure expression or super */ null && (invertObj))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/invoker.js +/***/ }, + +/***/ 861 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _objectSpread = (__webpack_require__(2897)["default"]); +var _arrayLikeToArray = (__webpack_require__(79)["default"]); +var _toArray = (__webpack_require__(8053)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _require = __webpack_require__(9074), + parseSetCookie = _require.parseSetCookie; +var _require2 = __webpack_require__(6157), + stringify = _require2.stringify; +var _require3 = __webpack_require__(2861), + webidl = _require3.webidl; +var _require4 = __webpack_require__(8588), + Headers = _require4.Headers; /** - * Turns a named method with a specified arity into a function that can be - * called directly supplied with arguments and a target object. - * - * The returned function is curried and accepts `arity + 1` parameters where - * the final parameter is the target object. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *) - * @param {Number} arity Number of arguments the returned function should take - * before the target object. - * @param {String} method Name of any of the target object's methods to call. - * @return {Function} A new curried function. - * @see R.construct - * @example - * - * const sliceFrom = R.invoker(1, 'slice'); - * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm' - * const sliceFrom6 = R.invoker(2, 'slice')(6); - * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh' - * - * const dog = { - * speak: async () => 'Woof!' - * }; - * const speak = R.invoker(0, 'speak'); - * speak(dog).then(console.log) //~> 'Woof!' - * - * @symb R.invoker(0, 'method')(o) = o['method']() - * @symb R.invoker(1, 'method')(a, o) = o['method'](a) - * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b) + * @typedef {Object} Cookie + * @property {string} name + * @property {string} value + * @property {Date|number|undefined} expires + * @property {number|undefined} maxAge + * @property {string|undefined} domain + * @property {string|undefined} path + * @property {boolean|undefined} secure + * @property {boolean|undefined} httpOnly + * @property {'Strict'|'Lax'|'None'} sameSite + * @property {string[]} unparsed */ -var invoker_invoker = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function invoker(arity, method) { - return curryN(arity + 1, function () { - var target = arguments[arity]; - if (target != null && _isFunction(target[method])) { - return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); - } - throw new TypeError(toString(target) + ' does not have a method named "' + method + '"'); +/** + * @param {Headers} headers + * @returns {Record} + */ +function getCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, 'getCookies'); + webidl.brandCheck(headers, Headers, { + strict: false }); -}))); -/* harmony default export */ const es_invoker = ((/* unused pure expression or super */ null && (invoker_invoker))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/isEmpty.js - - + var cookie = headers.get('cookie'); + var out = {}; + if (!cookie) { + return out; + } + var _iterator = _createForOfIteratorHelper(cookie.split(';')), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var piece = _step.value; + var _piece$split = piece.split('='), + _piece$split2 = _toArray(_piece$split), + name = _piece$split2[0], + value = _arrayLikeToArray(_piece$split2).slice(1); + out[name.trim()] = value.join('='); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return out; +} /** - * Returns `true` if the given value is its type's empty value; `false` - * otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig a -> Boolean - * @param {*} x - * @return {Boolean} - * @see R.empty - * @example - * - * R.isEmpty([1, 2, 3]); //=> false - * R.isEmpty([]); //=> true - * R.isEmpty(''); //=> true - * R.isEmpty(null); //=> false - * R.isEmpty({}); //=> true - * R.isEmpty({length: 0}); //=> false - * R.isEmpty(Uint8Array.from('')); //=> true + * @param {Headers} headers + * @param {string} name + * @param {{ path?: string, domain?: string }|undefined} attributes + * @returns {void} */ - -var isEmpty = /*#__PURE__*/ -_curry1_curry1(function isEmpty(x) { - return x != null && es_equals(x, es_empty(x)); -}); -/* harmony default export */ const es_isEmpty = (isEmpty); -;// CONCATENATED MODULE: ./node_modules/ramda/es/join.js +function deleteCookie(headers, name, attributes) { + webidl.brandCheck(headers, Headers, { + strict: false + }); + var prefix = 'deleteCookie'; + webidl.argumentLengthCheck(arguments, 2, prefix); + name = webidl.converters.DOMString(name, prefix, 'name'); + attributes = webidl.converters.DeleteCookieAttributes(attributes); + + // Matches behavior of + // https://github.com/denoland/deno_std/blob/63827b16330b82489a04614027c33b7904e08be5/http/cookie.ts#L278 + setCookie(headers, _objectSpread({ + name: name, + value: '', + expires: new Date(0) + }, attributes)); +} /** - * Returns a string made by inserting the `separator` between each element and - * concatenating all the elements into a single string. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig String -> [a] -> String - * @param {Number|String} separator The string used to separate the elements. - * @param {Array} xs The elements to join into a string. - * @return {String} str The string made by concatenating `xs` with `separator`. - * @see R.split - * @example - * - * const spacer = R.join(' '); - * spacer(['a', 2, 3.4]); //=> 'a 2 3.4' - * R.join('|', [1, 2, 3]); //=> '1|2|3' + * @param {Headers} headers + * @returns {Cookie[]} */ - -var join = /*#__PURE__*/ -(/* unused pure expression or super */ null && (invoker(1, 'join'))); -/* harmony default export */ const es_join = ((/* unused pure expression or super */ null && (join))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/juxt.js - +function getSetCookies(headers) { + webidl.argumentLengthCheck(arguments, 1, 'getSetCookies'); + webidl.brandCheck(headers, Headers, { + strict: false + }); + var cookies = headers.getSetCookie(); + if (!cookies) { + return []; + } + return cookies.map(function (pair) { + return parseSetCookie(pair); + }); +} /** - * juxt applies a list of functions to a list of values. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Function - * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n]) - * @param {Array} fns An array of functions - * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters. - * @see R.applySpec - * @example - * - * const getRange = R.juxt([Math.min, Math.max]); - * getRange(3, 4, 9, -3); //=> [-3, 9] - * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)] + * @param {Headers} headers + * @param {Cookie} cookie + * @returns {void} */ +function setCookie(headers, cookie) { + webidl.argumentLengthCheck(arguments, 2, 'setCookie'); + webidl.brandCheck(headers, Headers, { + strict: false + }); + cookie = webidl.converters.Cookie(cookie); + var str = stringify(cookie); + if (str) { + headers.append('Set-Cookie', str); + } +} +webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([{ + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: 'path', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: 'domain', + defaultValue: function defaultValue() { + return null; + } +}]); +webidl.converters.Cookie = webidl.dictionaryConverter([{ + converter: webidl.converters.DOMString, + key: 'name' +}, { + converter: webidl.converters.DOMString, + key: 'value' +}, { + converter: webidl.nullableConverter(function (value) { + if (typeof value === 'number') { + return webidl.converters['unsigned long long'](value); + } + return new Date(value); + }), + key: 'expires', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.nullableConverter(webidl.converters['long long']), + key: 'maxAge', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: 'domain', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.nullableConverter(webidl.converters.DOMString), + key: 'path', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.nullableConverter(webidl.converters["boolean"]), + key: 'secure', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.nullableConverter(webidl.converters["boolean"]), + key: 'httpOnly', + defaultValue: function defaultValue() { + return null; + } +}, { + converter: webidl.converters.USVString, + key: 'sameSite', + allowedValues: ['Strict', 'Lax', 'None'] +}, { + converter: webidl.sequenceConverter(webidl.converters.DOMString), + key: 'unparsed', + defaultValue: function defaultValue() { + return new Array(0); + } +}]); +module.exports = { + getCookies: getCookies, + deleteCookie: deleteCookie, + getSetCookies: getSetCookies, + setCookie: setCookie +}; -var juxt = /*#__PURE__*/ -_curry1_curry1(function juxt(fns) { - return es_converge(function () { - return Array.prototype.slice.call(arguments, 0); - }, fns); -}); -/* harmony default export */ const es_juxt = (juxt); -;// CONCATENATED MODULE: ./node_modules/ramda/es/lastIndexOf.js +/***/ }, + +/***/ 9074 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var _objectSpread = (__webpack_require__(2897)["default"]); +var _require = __webpack_require__(4596), + maxNameValuePairSize = _require.maxNameValuePairSize, + maxAttributeValueSize = _require.maxAttributeValueSize; +var _require2 = __webpack_require__(6157), + isCTLExcludingHtab = _require2.isCTLExcludingHtab; +var _require3 = __webpack_require__(8388), + collectASequenceOfCodePointsFast = _require3.collectASequenceOfCodePointsFast; +var assert = __webpack_require__(4589); /** - * Returns the position of the last occurrence of an item in an array, or -1 if - * the item is not included in the array. [`R.equals`](#equals) is used to - * determine equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Number - * @param {*} target The item to find. - * @param {Array} xs The array to search in. - * @return {Number} the index of the target, or -1 if the target is not found. - * @see R.indexOf, R.findLastIndex - * @example - * - * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6 - * R.lastIndexOf(10, [1,2,3,4]); //=> -1 + * @description Parses the field-value attributes of a set-cookie header string. + * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4 + * @param {string} header + * @returns if the header is invalid, null will be returned */ - -var lastIndexOf = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function lastIndexOf(target, xs) { - if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) { - return xs.lastIndexOf(target); - } else { - var idx = xs.length - 1; - while (idx >= 0) { - if (equals(xs[idx], target)) { - return idx; - } - idx -= 1; - } - return -1; +function parseSetCookie(header) { + // 1. If the set-cookie-string contains a %x00-08 / %x0A-1F / %x7F + // character (CTL characters excluding HTAB): Abort these steps and + // ignore the set-cookie-string entirely. + if (isCTLExcludingHtab(header)) { + return null; } -}))); -/* harmony default export */ const es_lastIndexOf = ((/* unused pure expression or super */ null && (lastIndexOf))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/lens.js + var nameValuePair = ''; + var unparsedAttributes = ''; + var name = ''; + var value = ''; + + // 2. If the set-cookie-string contains a %x3B (";") character: + if (header.includes(';')) { + // 1. The name-value-pair string consists of the characters up to, + // but not including, the first %x3B (";"), and the unparsed- + // attributes consist of the remainder of the set-cookie-string + // (including the %x3B (";") in question). + var position = { + position: 0 + }; + nameValuePair = collectASequenceOfCodePointsFast(';', header, position); + unparsedAttributes = header.slice(position.position); + } else { + // Otherwise: + // 1. The name-value-pair string consists of all the characters + // contained in the set-cookie-string, and the unparsed- + // attributes is the empty string. + nameValuePair = header; + } -/** - * Returns a lens for the given getter and setter functions. The getter "gets" - * the value of the focus; the setter "sets" the value of the focus. The setter - * should not mutate the data structure. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig (s -> a) -> ((a, s) -> s) -> Lens s a - * @param {Function} getter - * @param {Function} setter - * @return {Lens} - * @see R.view, R.set, R.over, R.lensIndex, R.lensProp - * @example - * - * const xLens = R.lens(R.prop('x'), R.assoc('x')); - * - * R.view(xLens, {x: 1, y: 2}); //=> 1 - * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} - * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} - */ - -var lens_lens = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function lens(getter, setter) { - return function (toFunctorFn) { - return function (target) { - return map(function (focus) { - return setter(focus, target); - }, toFunctorFn(getter(target))); + // 3. If the name-value-pair string lacks a %x3D ("=") character, then + // the name string is empty, and the value string is the value of + // name-value-pair. + if (!nameValuePair.includes('=')) { + value = nameValuePair; + } else { + // Otherwise, the name string consists of the characters up to, but + // not including, the first %x3D ("=") character, and the (possibly + // empty) value string consists of the characters after the first + // %x3D ("=") character. + var _position = { + position: 0 }; - }; -}))); -/* harmony default export */ const es_lens = ((/* unused pure expression or super */ null && (lens_lens))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/lensIndex.js + name = collectASequenceOfCodePointsFast('=', nameValuePair, _position); + value = nameValuePair.slice(_position.position + 1); + } + // 4. Remove any leading or trailing WSP characters from the name + // string and the value string. + name = name.trim(); + value = value.trim(); + // 5. If the sum of the lengths of the name string and the value string + // is more than 4096 octets, abort these steps and ignore the set- + // cookie-string entirely. + if (name.length + value.length > maxNameValuePairSize) { + return null; + } + // 6. The cookie-name is the name string, and the cookie-value is the + // value string. + return _objectSpread({ + name: name, + value: value + }, parseUnparsedAttributes(unparsedAttributes)); +} /** - * Returns a lens whose focus is the specified index. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig Number -> Lens s a - * @param {Number} n - * @return {Lens} - * @see R.view, R.set, R.over, R.nth - * @example - * - * const headLens = R.lensIndex(0); - * - * R.view(headLens, ['a', 'b', 'c']); //=> 'a' - * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c'] - * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c'] + * Parses the remaining attributes of a set-cookie header + * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4 + * @param {string} unparsedAttributes + * @param {[Object.]={}} cookieAttributeList */ +function parseUnparsedAttributes(unparsedAttributes) { + var cookieAttributeList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + // 1. If the unparsed-attributes string is empty, skip the rest of + // these steps. + if (unparsedAttributes.length === 0) { + return cookieAttributeList; + } -var lensIndex = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function lensIndex(n) { - return lens(nth(n), update(n)); -}))); -/* harmony default export */ const es_lensIndex = ((/* unused pure expression or super */ null && (lensIndex))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/paths.js + // 2. Discard the first character of the unparsed-attributes (which + // will be a %x3B (";") character). + assert(unparsedAttributes[0] === ';'); + unparsedAttributes = unparsedAttributes.slice(1); + var cookieAv = ''; + + // 3. If the remaining unparsed-attributes contains a %x3B (";") + // character: + if (unparsedAttributes.includes(';')) { + // 1. Consume the characters of the unparsed-attributes up to, but + // not including, the first %x3B (";") character. + cookieAv = collectASequenceOfCodePointsFast(';', unparsedAttributes, { + position: 0 + }); + unparsedAttributes = unparsedAttributes.slice(cookieAv.length); + } else { + // Otherwise: + // 1. Consume the remainder of the unparsed-attributes. + cookieAv = unparsedAttributes; + unparsedAttributes = ''; + } + // Let the cookie-av string be the characters consumed in this step. -/** - * Retrieves the values at given paths of an object. - * - * @func - * @memberOf R - * @since v0.27.1 - * @category Object - * @typedefn Idx = [String | Int | Symbol] - * @sig [Idx] -> {a} -> [a | Undefined] - * @param {Array} pathsArray The array of paths to be fetched. - * @param {Object} obj The object to retrieve the nested properties from. - * @return {Array} A list consisting of values at paths specified by "pathsArray". - * @see R.path - * @example - * - * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3] - * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined] - */ - -var paths_paths = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function paths(pathsArray, obj) { - return pathsArray.map(function (paths) { - var val = obj; - var idx = 0; - var p; - while (idx < paths.length) { - if (val == null) { - return; - } - p = paths[idx]; - val = _isInteger(p) ? nth(p, val) : val[p]; - idx += 1; - } - return val; - }); -}))); -/* harmony default export */ const es_paths = ((/* unused pure expression or super */ null && (paths_paths))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/path.js + var attributeName = ''; + var attributeValue = ''; + // 4. If the cookie-av string contains a %x3D ("=") character: + if (cookieAv.includes('=')) { + // 1. The (possibly empty) attribute-name string consists of the + // characters up to, but not including, the first %x3D ("=") + // character, and the (possibly empty) attribute-value string + // consists of the characters after the first %x3D ("=") + // character. + var position = { + position: 0 + }; + attributeName = collectASequenceOfCodePointsFast('=', cookieAv, position); + attributeValue = cookieAv.slice(position.position + 1); + } else { + // Otherwise: -/** - * Retrieve the value at a given path. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Object - * @typedefn Idx = String | Int | Symbol - * @sig [Idx] -> {a} -> a | Undefined - * @param {Array} path The path to use. - * @param {Object} obj The object to retrieve the nested property from. - * @return {*} The data at `path`. - * @see R.prop, R.nth - * @example - * - * R.path(['a', 'b'], {a: {b: 2}}); //=> 2 - * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined - * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1 - * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2 - */ + // 1. The attribute-name string consists of the entire cookie-av + // string, and the attribute-value string is empty. + attributeName = cookieAv; + } -var path_path = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function path(pathAr, obj) { - return paths([pathAr], obj)[0]; -}))); -/* harmony default export */ const es_path = ((/* unused pure expression or super */ null && (path_path))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/lensPath.js + // 5. Remove any leading or trailing WSP characters from the attribute- + // name string and the attribute-value string. + attributeName = attributeName.trim(); + attributeValue = attributeValue.trim(); + // 6. If the attribute-value is longer than 1024 octets, ignore the + // cookie-av string and return to Step 1 of this algorithm. + if (attributeValue.length > maxAttributeValueSize) { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + // 7. Process the attribute-name and attribute-value according to the + // requirements in the following subsections. (Notice that + // attributes with unrecognized attribute-names are ignored.) + var attributeNameLowercase = attributeName.toLowerCase(); + + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.1 + // If the attribute-name case-insensitively matches the string + // "Expires", the user agent MUST process the cookie-av as follows. + if (attributeNameLowercase === 'expires') { + // 1. Let the expiry-time be the result of parsing the attribute-value + // as cookie-date (see Section 5.1.1). + var expiryTime = new Date(attributeValue); + + // 2. If the attribute-value failed to parse as a cookie date, ignore + // the cookie-av. + + cookieAttributeList.expires = expiryTime; + } else if (attributeNameLowercase === 'max-age') { + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.2 + // If the attribute-name case-insensitively matches the string "Max- + // Age", the user agent MUST process the cookie-av as follows. + + // 1. If the first character of the attribute-value is not a DIGIT or a + // "-" character, ignore the cookie-av. + var charCode = attributeValue.charCodeAt(0); + if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + // 2. If the remainder of attribute-value contains a non-DIGIT + // character, ignore the cookie-av. + if (!/^\d+$/.test(attributeValue)) { + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } -/** - * Returns a lens whose focus is the specified path. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Object - * @typedefn Idx = String | Int | Symbol - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig [Idx] -> Lens s a - * @param {Array} path The path to use. - * @return {Lens} - * @see R.view, R.set, R.over - * @example - * - * const xHeadYLens = R.lensPath(['x', 0, 'y']); - * - * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); - * //=> 2 - * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); - * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]} - * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); - * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]} - */ + // 3. Let delta-seconds be the attribute-value converted to an integer. + var deltaSeconds = Number(attributeValue); + + // 4. Let cookie-age-limit be the maximum age of the cookie (which + // SHOULD be 400 days or less, see Section 4.1.2.2). + + // 5. Set delta-seconds to the smaller of its present value and cookie- + // age-limit. + // deltaSeconds = Math.min(deltaSeconds * 1000, maxExpiresMs) + + // 6. If delta-seconds is less than or equal to zero (0), let expiry- + // time be the earliest representable date and time. Otherwise, let + // the expiry-time be the current date and time plus delta-seconds + // seconds. + // const expiryTime = deltaSeconds <= 0 ? Date.now() : Date.now() + deltaSeconds + + // 7. Append an attribute to the cookie-attribute-list with an + // attribute-name of Max-Age and an attribute-value of expiry-time. + cookieAttributeList.maxAge = deltaSeconds; + } else if (attributeNameLowercase === 'domain') { + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.3 + // If the attribute-name case-insensitively matches the string "Domain", + // the user agent MUST process the cookie-av as follows. + + // 1. Let cookie-domain be the attribute-value. + var cookieDomain = attributeValue; + + // 2. If cookie-domain starts with %x2E ("."), let cookie-domain be + // cookie-domain without its leading %x2E ("."). + if (cookieDomain[0] === '.') { + cookieDomain = cookieDomain.slice(1); + } -var lensPath = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function lensPath(p) { - return lens(path(p), assocPath(p)); -}))); -/* harmony default export */ const es_lensPath = ((/* unused pure expression or super */ null && (lensPath))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/lensProp.js + // 3. Convert the cookie-domain to lower case. + cookieDomain = cookieDomain.toLowerCase(); + + // 4. Append an attribute to the cookie-attribute-list with an + // attribute-name of Domain and an attribute-value of cookie-domain. + cookieAttributeList.domain = cookieDomain; + } else if (attributeNameLowercase === 'path') { + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.4 + // If the attribute-name case-insensitively matches the string "Path", + // the user agent MUST process the cookie-av as follows. + + // 1. If the attribute-value is empty or if the first character of the + // attribute-value is not %x2F ("/"): + var cookiePath = ''; + if (attributeValue.length === 0 || attributeValue[0] !== '/') { + // 1. Let cookie-path be the default-path. + cookiePath = '/'; + } else { + // Otherwise: + // 1. Let cookie-path be the attribute-value. + cookiePath = attributeValue; + } + // 2. Append an attribute to the cookie-attribute-list with an + // attribute-name of Path and an attribute-value of cookie-path. + cookieAttributeList.path = cookiePath; + } else if (attributeNameLowercase === 'secure') { + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.5 + // If the attribute-name case-insensitively matches the string "Secure", + // the user agent MUST append an attribute to the cookie-attribute-list + // with an attribute-name of Secure and an empty attribute-value. + + cookieAttributeList.secure = true; + } else if (attributeNameLowercase === 'httponly') { + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.6 + // If the attribute-name case-insensitively matches the string + // "HttpOnly", the user agent MUST append an attribute to the cookie- + // attribute-list with an attribute-name of HttpOnly and an empty + // attribute-value. + + cookieAttributeList.httpOnly = true; + } else if (attributeNameLowercase === 'samesite') { + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.7 + // If the attribute-name case-insensitively matches the string + // "SameSite", the user agent MUST process the cookie-av as follows: + + // 1. Let enforcement be "Default". + var enforcement = 'Default'; + var attributeValueLowercase = attributeValue.toLowerCase(); + // 2. If cookie-av's attribute-value is a case-insensitive match for + // "None", set enforcement to "None". + if (attributeValueLowercase.includes('none')) { + enforcement = 'None'; + } + // 3. If cookie-av's attribute-value is a case-insensitive match for + // "Strict", set enforcement to "Strict". + if (attributeValueLowercase.includes('strict')) { + enforcement = 'Strict'; + } -/** - * Returns a lens whose focus is the specified property. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig String -> Lens s a - * @param {String} k - * @return {Lens} - * @see R.view, R.set, R.over - * @example - * - * const xLens = R.lensProp('x'); - * - * R.view(xLens, {x: 1, y: 2}); //=> 1 - * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} - * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} - */ + // 4. If cookie-av's attribute-value is a case-insensitive match for + // "Lax", set enforcement to "Lax". + if (attributeValueLowercase.includes('lax')) { + enforcement = 'Lax'; + } -var lensProp = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function lensProp(k) { - return lens(prop(k), assoc(k)); -}))); -/* harmony default export */ const es_lensProp = ((/* unused pure expression or super */ null && (lensProp))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mapObjIndexed.js + // 5. Append an attribute to the cookie-attribute-list with an + // attribute-name of "SameSite" and an attribute-value of + // enforcement. + cookieAttributeList.sameSite = enforcement; + } else { + var _cookieAttributeList$; + (_cookieAttributeList$ = cookieAttributeList.unparsed) !== null && _cookieAttributeList$ !== void 0 ? _cookieAttributeList$ : cookieAttributeList.unparsed = []; + cookieAttributeList.unparsed.push("".concat(attributeName, "=").concat(attributeValue)); + } + // 8. Return to Step 1 of this algorithm. + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); +} +module.exports = { + parseSetCookie: parseSetCookie, + parseUnparsedAttributes: parseUnparsedAttributes +}; +/***/ }, -/** - * An Object-specific version of [`map`](#map). The function is applied to three - * arguments: *(value, key, obj)*. If only the value is significant, use - * [`map`](#map) instead. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig ((*, String, Object) -> *) -> Object -> Object - * @param {Function} fn - * @param {Object} obj - * @return {Object} - * @see R.map - * @example - * - * const xyz = { x: 1, y: 2, z: 3 }; - * const prependKeyAndDouble = (num, key, obj) => key + (num * 2); - * - * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' } - */ +/***/ 6157 +(module, __unused_webpack_exports, __webpack_require__) { -var mapObjIndexed = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function mapObjIndexed(fn, obj) { - return _reduce(function (acc, key) { - acc[key] = fn(obj[key], key, obj); - return acc; - }, {}, keys(obj)); -}))); -/* harmony default export */ const es_mapObjIndexed = ((/* unused pure expression or super */ null && (mapObjIndexed))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mathMod.js +"use strict"; /** - * `mathMod` behaves like the modulo operator should mathematically, unlike the - * `%` operator (and by extension, [`R.modulo`](#modulo)). So while - * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer - * arguments, and returns NaN when the modulus is zero or negative. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} m The dividend. - * @param {Number} p the modulus. - * @return {Number} The result of `b mod a`. - * @see R.modulo - * @example - * - * R.mathMod(-17, 5); //=> 3 - * R.mathMod(17, 5); //=> 2 - * R.mathMod(17, -5); //=> NaN - * R.mathMod(17, 0); //=> NaN - * R.mathMod(17.2, 5); //=> NaN - * R.mathMod(17, 5.3); //=> NaN - * - * const clock = R.mathMod(R.__, 12); - * clock(15); //=> 3 - * clock(24); //=> 0 - * - * const seventeenMod = R.mathMod(17); - * seventeenMod(3); //=> 2 - * seventeenMod(4); //=> 1 - * seventeenMod(10); //=> 7 + * @param {string} value + * @returns {boolean} */ - -var mathMod = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function mathMod(m, p) { - if (!_isInteger(m)) { - return NaN; - } - if (!_isInteger(p) || p < 1) { - return NaN; +var _arrayLikeToArray = (__webpack_require__(79)["default"]); +var _toArray = (__webpack_require__(8053)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +function isCTLExcludingHtab(value) { + for (var i = 0; i < value.length; ++i) { + var code = value.charCodeAt(i); + if (code >= 0x00 && code <= 0x08 || code >= 0x0A && code <= 0x1F || code === 0x7F) { + return true; + } } - return (m % p + p) % p; -}))); -/* harmony default export */ const es_mathMod = ((/* unused pure expression or super */ null && (mathMod))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/add.js + return false; +} /** - * Adds two values. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a - * @param {Number} b - * @return {Number} - * @see R.subtract - * @example - * - * R.add(2, 3); //=> 5 - * R.add(7)(10); //=> 17 + CHAR = + token = 1* + separators = "(" | ")" | "<" | ">" | "@" + | "," | ";" | ":" | "\" | <"> + | "/" | "[" | "]" | "?" | "=" + | "{" | "}" | SP | HT + * @param {string} name */ - -var add = /*#__PURE__*/ -_curry2_curry2(function add(a, b) { - return Number(a) + Number(b); -}); -/* harmony default export */ const es_add = (add); -;// CONCATENATED MODULE: ./node_modules/ramda/es/sum.js - +function validateCookieName(name) { + for (var i = 0; i < name.length; ++i) { + var code = name.charCodeAt(i); + if (code < 0x21 || + // exclude CTLs (0-31), SP and HT + code > 0x7E || + // exclude non-ascii and DEL + code === 0x22 || + // " + code === 0x28 || + // ( + code === 0x29 || + // ) + code === 0x3C || + // < + code === 0x3E || + // > + code === 0x40 || + // @ + code === 0x2C || + // , + code === 0x3B || + // ; + code === 0x3A || + // : + code === 0x5C || + // \ + code === 0x2F || + // / + code === 0x5B || + // [ + code === 0x5D || + // ] + code === 0x3F || + // ? + code === 0x3D || + // = + code === 0x7B || + // { + code === 0x7D // } + ) { + throw new Error('Invalid cookie name'); + } + } +} /** - * Adds together all the elements of a list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list An array of numbers - * @return {Number} The sum of all the numbers in the list. - * @see R.reduce - * @example - * - * R.sum([2,4,6,8,100,1]); //=> 121 + cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE ) + cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E + ; US-ASCII characters excluding CTLs, + ; whitespace DQUOTE, comma, semicolon, + ; and backslash + * @param {string} value */ - -var sum_sum = /*#__PURE__*/ -es_reduce(es_add, 0); -/* harmony default export */ const es_sum = ((/* unused pure expression or super */ null && (sum_sum))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mean.js - +function validateCookieValue(value) { + var len = value.length; + var i = 0; + + // if the value is wrapped in DQUOTE + if (value[0] === '"') { + if (len === 1 || value[len - 1] !== '"') { + throw new Error('Invalid cookie value'); + } + --len; + ++i; + } + while (i < len) { + var code = value.charCodeAt(i++); + if (code < 0x21 || + // exclude CTLs (0-31) + code > 0x7E || + // non-ascii and DEL (127) + code === 0x22 || + // " + code === 0x2C || + // , + code === 0x3B || + // ; + code === 0x5C // \ + ) { + throw new Error('Invalid cookie value'); + } + } +} /** - * Returns the mean of the given list of numbers. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list - * @return {Number} - * @see R.median - * @example - * - * R.mean([2, 7, 9]); //=> 6 - * R.mean([]); //=> NaN + * path-value = + * @param {string} path */ - -var mean_mean = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function mean(list) { - return sum(list) / list.length; -}))); -/* harmony default export */ const es_mean = ((/* unused pure expression or super */ null && (mean_mean))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/median.js - +function validateCookiePath(path) { + for (var i = 0; i < path.length; ++i) { + var code = path.charCodeAt(i); + if (code < 0x20 || + // exclude CTLs (0-31) + code === 0x7F || + // DEL + code === 0x3B // ; + ) { + throw new Error('Invalid cookie path'); + } + } +} /** - * Returns the median of the given list of numbers. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list - * @return {Number} - * @see R.mean - * @example - * - * R.median([2, 9, 7]); //=> 7 - * R.median([7, 2, 10, 9]); //=> 8 - * R.median([]); //=> NaN + * I have no idea why these values aren't allowed to be honest, + * but Deno tests these. - Khafra + * @param {string} domain */ - -var median = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function median(list) { - var len = list.length; - if (len === 0) { - return NaN; +function validateCookieDomain(domain) { + if (domain.startsWith('-') || domain.endsWith('.') || domain.endsWith('-')) { + throw new Error('Invalid cookie domain'); } - var width = 2 - len % 2; - var idx = (len - width) / 2; - return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) { - return a < b ? -1 : a > b ? 1 : 0; - }).slice(idx, idx + width)); -}))); -/* harmony default export */ const es_median = ((/* unused pure expression or super */ null && (median))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mergeAll.js - +} +var IMFDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; +var IMFMonths = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; +var IMFPaddedNumbers = Array(61).fill(0).map(function (_, i) { + return i.toString().padStart(2, '0'); +}); /** - * Creates one new object with the own properties from a list of objects. - * If a key exists in more than one object, the value from the last - * object it exists in will be used. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category List - * @sig [{k: v}] -> {k: v} - * @param {Array} list An array of objects - * @return {Object} A merged object. - * @see R.reduce - * @example - * - * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3} - * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2} - * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 } + * @see https://www.rfc-editor.org/rfc/rfc7231#section-7.1.1.1 + * @param {number|Date} date + IMF-fixdate = day-name "," SP date1 SP time-of-day SP GMT + ; fixed length/zone/capitalization subset of the format + ; see Section 3.3 of [RFC5322] + + day-name = %x4D.6F.6E ; "Mon", case-sensitive + / %x54.75.65 ; "Tue", case-sensitive + / %x57.65.64 ; "Wed", case-sensitive + / %x54.68.75 ; "Thu", case-sensitive + / %x46.72.69 ; "Fri", case-sensitive + / %x53.61.74 ; "Sat", case-sensitive + / %x53.75.6E ; "Sun", case-sensitive + date1 = day SP month SP year + ; e.g., 02 Jun 1982 + + day = 2DIGIT + month = %x4A.61.6E ; "Jan", case-sensitive + / %x46.65.62 ; "Feb", case-sensitive + / %x4D.61.72 ; "Mar", case-sensitive + / %x41.70.72 ; "Apr", case-sensitive + / %x4D.61.79 ; "May", case-sensitive + / %x4A.75.6E ; "Jun", case-sensitive + / %x4A.75.6C ; "Jul", case-sensitive + / %x41.75.67 ; "Aug", case-sensitive + / %x53.65.70 ; "Sep", case-sensitive + / %x4F.63.74 ; "Oct", case-sensitive + / %x4E.6F.76 ; "Nov", case-sensitive + / %x44.65.63 ; "Dec", case-sensitive + year = 4DIGIT + + GMT = %x47.4D.54 ; "GMT", case-sensitive + + time-of-day = hour ":" minute ":" second + ; 00:00:00 - 23:59:60 (leap second) + + hour = 2DIGIT + minute = 2DIGIT + second = 2DIGIT */ +function toIMFDate(date) { + if (typeof date === 'number') { + date = new Date(date); + } + return "".concat(IMFDays[date.getUTCDay()], ", ").concat(IMFPaddedNumbers[date.getUTCDate()], " ").concat(IMFMonths[date.getUTCMonth()], " ").concat(date.getUTCFullYear(), " ").concat(IMFPaddedNumbers[date.getUTCHours()], ":").concat(IMFPaddedNumbers[date.getUTCMinutes()], ":").concat(IMFPaddedNumbers[date.getUTCSeconds()], " GMT"); +} -var mergeAll = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry1(function mergeAll(list) { - return _objectAssign.apply(null, [{}].concat(list)); -}))); -/* harmony default export */ const es_mergeAll = ((/* unused pure expression or super */ null && (mergeAll))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mergeWithKey.js - +/** + max-age-av = "Max-Age=" non-zero-digit *DIGIT + ; In practice, both expires-av and max-age-av + ; are limited to dates representable by the + ; user agent. + * @param {number} maxAge + */ +function validateCookieMaxAge(maxAge) { + if (maxAge < 0) { + throw new Error('Invalid cookie max-age'); + } +} /** - * Creates a new object with the own properties of the two provided objects. If - * a key exists in both objects, the provided function is applied to the key - * and the values associated with the key in each object, with the result being - * used as the value associated with the key in the returned object. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Object - * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} - * @param {Function} fn - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeDeepWithKey, R.merge, R.mergeWith - * @example - * - * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r - * R.mergeWithKey(concatValues, - * { a: true, thing: 'foo', values: [10, 20] }, - * { b: true, thing: 'bar', values: [15, 35] }); - * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] } - * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 } + * @see https://www.rfc-editor.org/rfc/rfc6265#section-4.1.1 + * @param {import('./index').Cookie} cookie */ - -var mergeWithKey = /*#__PURE__*/ -_curry3_curry3(function mergeWithKey(fn, l, r) { - var result = {}; - var k; - for (k in l) { - if (_has_has(k, l)) { - result[k] = _has_has(k, r) ? fn(k, l[k], r[k]) : l[k]; - } +function stringify(cookie) { + if (cookie.name.length === 0) { + return null; } - for (k in r) { - if (_has_has(k, r) && !_has_has(k, result)) { - result[k] = r[k]; + validateCookieName(cookie.name); + validateCookieValue(cookie.value); + var out = ["".concat(cookie.name, "=").concat(cookie.value)]; + + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.1 + // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.2 + if (cookie.name.startsWith('__Secure-')) { + cookie.secure = true; + } + if (cookie.name.startsWith('__Host-')) { + cookie.secure = true; + cookie.domain = null; + cookie.path = '/'; + } + if (cookie.secure) { + out.push('Secure'); + } + if (cookie.httpOnly) { + out.push('HttpOnly'); + } + if (typeof cookie.maxAge === 'number') { + validateCookieMaxAge(cookie.maxAge); + out.push("Max-Age=".concat(cookie.maxAge)); + } + if (cookie.domain) { + validateCookieDomain(cookie.domain); + out.push("Domain=".concat(cookie.domain)); + } + if (cookie.path) { + validateCookiePath(cookie.path); + out.push("Path=".concat(cookie.path)); + } + if (cookie.expires && cookie.expires.toString() !== 'Invalid Date') { + out.push("Expires=".concat(toIMFDate(cookie.expires))); + } + if (cookie.sameSite) { + out.push("SameSite=".concat(cookie.sameSite)); + } + var _iterator = _createForOfIteratorHelper(cookie.unparsed), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var part = _step.value; + if (!part.includes('=')) { + throw new Error('Invalid unparsed'); + } + var _part$split = part.split('='), + _part$split2 = _toArray(_part$split), + key = _part$split2[0], + value = _arrayLikeToArray(_part$split2).slice(1); + out.push("".concat(key.trim(), "=").concat(value.join('='))); } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); } - return result; -}); -/* harmony default export */ const es_mergeWithKey = (mergeWithKey); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mergeDeepWithKey.js + return out.join('; '); +} +module.exports = { + isCTLExcludingHtab: isCTLExcludingHtab, + validateCookieName: validateCookieName, + validateCookiePath: validateCookiePath, + validateCookieValue: validateCookieValue, + toIMFDate: toIMFDate, + stringify: stringify +}; +/***/ }, +/***/ 8183 +(module, __unused_webpack_exports, __webpack_require__) { -/** - * Creates a new object with the own properties of the two provided objects. - * If a key exists in both objects: - * - and both associated values are also objects then the values will be - * recursively merged. - * - otherwise the provided function is applied to the key and associated values - * using the resulting value as the new value associated with the key. - * If a key only exists in one object, the value will be associated with the key - * of the resulting object. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Object - * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} - * @param {Function} fn - * @param {Object} lObj - * @param {Object} rObj - * @return {Object} - * @see R.mergeWithKey, R.mergeDeepWith - * @example - * - * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r - * R.mergeDeepWithKey(concatValues, - * { a: true, c: { thing: 'foo', values: [10, 20] }}, - * { b: true, c: { thing: 'bar', values: [15, 35] }}); - * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }} - */ +"use strict"; -var mergeDeepWithKey = /*#__PURE__*/ -_curry3_curry3(function mergeDeepWithKey(fn, lObj, rObj) { - return es_mergeWithKey(function (k, lVal, rVal) { - if (_isObject_isObject(lVal) && _isObject_isObject(rVal)) { - return mergeDeepWithKey(fn, lVal, rVal); - } else { - return fn(k, lVal, rVal); - } - }, lObj, rObj); -}); -/* harmony default export */ const es_mergeDeepWithKey = (mergeDeepWithKey); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mergeDeepRight.js +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _require = __webpack_require__(7075), + Transform = _require.Transform; +var _require2 = __webpack_require__(403), + isASCIINumber = _require2.isASCIINumber, + isValidLastEventId = _require2.isValidLastEventId; /** - * Creates a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects: - * - and both values are objects, the two values will be recursively merged - * - otherwise the value from the second object will be used. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Object - * @sig {a} -> {a} -> {a} - * @param {Object} lObj - * @param {Object} rObj - * @return {Object} - * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey - * @example - * - * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, - * { age: 40, contact: { email: 'baa@example.com' }}); - * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }} + * @type {number[]} BOM */ +var BOM = [0xEF, 0xBB, 0xBF]; +/** + * @type {10} LF + */ +var LF = 0x0A; +/** + * @type {13} CR + */ +var CR = 0x0D; +/** + * @type {58} COLON + */ +var COLON = 0x3A; +/** + * @type {32} SPACE + */ +var SPACE = 0x20; -var mergeDeepRight_mergeDeepRight = /*#__PURE__*/ -_curry2_curry2(function mergeDeepRight(lObj, rObj) { - return es_mergeDeepWithKey(function (k, lVal, rVal) { - return rVal; - }, lObj, rObj); -}); -/* harmony default export */ const es_mergeDeepRight = (mergeDeepRight_mergeDeepRight); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mergeLeft.js - +/** + * @typedef {object} EventSourceStreamEvent + * @type {object} + * @property {string} [event] The event type. + * @property {string} [data] The data of the message. + * @property {string} [id] A unique ID for the event. + * @property {string} [retry] The reconnection time, in milliseconds. + */ /** - * Create a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects, - * the value from the first object will be used. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Object - * @sig {k: v} -> {k: v} -> {k: v} - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey - * @example - * - * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 }); - * //=> { 'name': 'fred', 'age': 40 } - * - * const resetToDefault = R.mergeLeft({x: 0}); - * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2} - * @symb R.mergeLeft(a, b) = {...b, ...a} + * @typedef eventSourceSettings + * @type {object} + * @property {string} lastEventId The last event ID received from the server. + * @property {string} origin The origin of the event source. + * @property {number} reconnectionTime The reconnection time, in milliseconds. */ +var EventSourceStream = /*#__PURE__*/function (_Transform) { + /** + * @param {object} options + * @param {eventSourceSettings} options.eventSourceSettings + * @param {Function} [options.push] + */ + function EventSourceStream() { + var _this; + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, EventSourceStream); + // Enable object mode as EventSourceStream emits objects of shape + // EventSourceStreamEvent + options.readableObjectMode = true; + _this = _callSuper(this, EventSourceStream, [options]); + /** + * @type {eventSourceSettings} + */ + _defineProperty(_this, "state", null); + /** + * Leading byte-order-mark check. + * @type {boolean} + */ + _defineProperty(_this, "checkBOM", true); + /** + * @type {boolean} + */ + _defineProperty(_this, "crlfCheck", false); + /** + * @type {boolean} + */ + _defineProperty(_this, "eventEndCheck", false); + /** + * @type {Buffer} + */ + _defineProperty(_this, "buffer", null); + _defineProperty(_this, "pos", 0); + _defineProperty(_this, "event", { + data: undefined, + event: undefined, + id: undefined, + retry: undefined + }); + _this.state = options.eventSourceSettings || {}; + if (options.push) { + _this.push = options.push; + } + return _this; + } -var mergeLeft = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function mergeLeft(l, r) { - return _objectAssign({}, r, l); -}))); -/* harmony default export */ const es_mergeLeft = ((/* unused pure expression or super */ null && (mergeLeft))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/mergeRight.js + /** + * @param {Buffer} chunk + * @param {string} _encoding + * @param {Function} callback + * @returns {void} + */ + _inherits(EventSourceStream, _Transform); + return _createClass(EventSourceStream, [{ + key: "_transform", + value: function _transform(chunk, _encoding, callback) { + if (chunk.length === 0) { + callback(); + return; + } + // Cache the chunk in the buffer, as the data might not be complete while + // processing it + // TODO: Investigate if there is a more performant way to handle + // incoming chunks + // see: https://github.com/nodejs/undici/issues/2630 + if (this.buffer) { + this.buffer = Buffer.concat([this.buffer, chunk]); + } else { + this.buffer = chunk; + } -/** - * Create a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects, - * the value from the second object will be used. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Object - * @sig {k: v} -> {k: v} -> {k: v} - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey - * @example - * - * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 }); - * //=> { 'name': 'fred', 'age': 40 } - * - * const withDefaults = R.mergeRight({x: 0, y: 0}); - * withDefaults({y: 2}); //=> {x: 0, y: 2} - * @symb R.mergeRight(a, b) = {...a, ...b} - */ + // Strip leading byte-order-mark if we opened the stream and started + // the processing of the incoming data + if (this.checkBOM) { + switch (this.buffer.length) { + case 1: + // Check if the first byte is the same as the first byte of the BOM + if (this.buffer[0] === BOM[0]) { + // If it is, we need to wait for more data + callback(); + return; + } + // Set the checkBOM flag to false as we don't need to check for the + // BOM anymore + this.checkBOM = false; -var mergeRight = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function mergeRight(l, r) { - return _objectAssign({}, l, r); -}))); -/* harmony default export */ const es_mergeRight = ((/* unused pure expression or super */ null && (mergeRight))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_modify.js + // The buffer only contains one byte so we need to wait for more data + callback(); + return; + case 2: + // Check if the first two bytes are the same as the first two bytes + // of the BOM + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) { + // If it is, we need to wait for more data, because the third byte + // is needed to determine if it is the BOM or not + callback(); + return; + } + // Set the checkBOM flag to false as we don't need to check for the + // BOM anymore + this.checkBOM = false; + break; + case 3: + // Check if the first three bytes are the same as the first three + // bytes of the BOM + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) { + // If it is, we can drop the buffered data, as it is only the BOM + this.buffer = Buffer.alloc(0); + // Set the checkBOM flag to false as we don't need to check for the + // BOM anymore + this.checkBOM = false; + + // Await more data + callback(); + return; + } + // If it is not the BOM, we can start processing the data + this.checkBOM = false; + break; + default: + // The buffer is longer than 3 bytes, so we can drop the BOM if it is + // present + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) { + // Remove the BOM from the buffer + this.buffer = this.buffer.subarray(3); + } -/** - * Makes a shallow clone of an object, applying the given fn to the specified - * property with the given value. Note that this copies and flattens prototype - * properties onto the new object as well. All non-primitive properties are - * copied by reference. - * - * @private - * @param {String|Number} prop The property name to set - * @param {Function} fn The function to apply to the property - * @param {Object|Array} obj The object to clone - * @return {Object|Array} A new object equivalent to the original except for the changed property. - */ + // Set the checkBOM flag to false as we don't need to check for the + this.checkBOM = false; + break; + } + } + while (this.pos < this.buffer.length) { + // If the previous line ended with an end-of-line, we need to check + // if the next character is also an end-of-line. + if (this.eventEndCheck) { + // If the the current character is an end-of-line, then the event + // is finished and we can process it + + // If the previous line ended with a carriage return, we need to + // check if the current character is a line feed and remove it + // from the buffer. + if (this.crlfCheck) { + // If the current character is a line feed, we can remove it + // from the buffer and reset the crlfCheck flag + if (this.buffer[this.pos] === LF) { + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + this.crlfCheck = false; + + // It is possible that the line feed is not the end of the + // event. We need to check if the next character is an + // end-of-line character to determine if the event is + // finished. We simply continue the loop to check the next + // character. + + // As we removed the line feed from the buffer and set the + // crlfCheck flag to false, we basically don't make any + // distinction between a line feed and a carriage return. + continue; + } + this.crlfCheck = false; + } + if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) { + // If the current character is a carriage return, we need to + // set the crlfCheck flag to true, as we need to check if the + // next character is a line feed so we can remove it from the + // buffer + if (this.buffer[this.pos] === CR) { + this.crlfCheck = true; + } + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + if (this.event.data !== undefined || this.event.event || this.event.id || this.event.retry) { + this.processEvent(this.event); + } + this.clearEvent(); + continue; + } + // If the current character is not an end-of-line, then the event + // is not finished and we have to reset the eventEndCheck flag + this.eventEndCheck = false; + continue; + } -function _modify_modify(prop, fn, obj) { - if (_isInteger(prop) && _isArray(obj)) { - var arr = [].concat(obj); - arr[prop] = fn(arr[prop]); - return arr; - } - var result = {}; - for (var p in obj) { - result[p] = obj[p]; - } - result[prop] = fn(result[prop]); - return result; -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/modifyPath.js + // If the current character is an end-of-line, we can process the + // line + if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) { + // If the current character is a carriage return, we need to + // set the crlfCheck flag to true, as we need to check if the + // next character is a line feed + if (this.buffer[this.pos] === CR) { + this.crlfCheck = true; + } + + // In any case, we can process the line as we reached an + // end-of-line character + this.parseLine(this.buffer.subarray(0, this.pos), this.event); + + // Remove the processed line from the buffer + this.buffer = this.buffer.subarray(this.pos + 1); + // Reset the position as we removed the processed line from the buffer + this.pos = 0; + // A line was processed and this could be the end of the event. We need + // to check if the next line is empty to determine if the event is + // finished. + this.eventEndCheck = true; + continue; + } + this.pos++; + } + callback(); + } + + /** + * @param {Buffer} line + * @param {EventStreamEvent} event + */ + }, { + key: "parseLine", + value: function parseLine(line, event) { + // If the line is empty (a blank line) + // Dispatch the event, as defined below. + // This will be handled in the _transform method + if (line.length === 0) { + return; + } + // If the line starts with a U+003A COLON character (:) + // Ignore the line. + var colonPosition = line.indexOf(COLON); + if (colonPosition === 0) { + return; + } + var field = ''; + var value = ''; + + // If the line contains a U+003A COLON character (:) + if (colonPosition !== -1) { + // Collect the characters on the line before the first U+003A COLON + // character (:), and let field be that string. + // TODO: Investigate if there is a more performant way to extract the + // field + // see: https://github.com/nodejs/undici/issues/2630 + field = line.subarray(0, colonPosition).toString('utf8'); + + // Collect the characters on the line after the first U+003A COLON + // character (:), and let value be that string. + // If value starts with a U+0020 SPACE character, remove it from value. + var valueStart = colonPosition + 1; + if (line[valueStart] === SPACE) { + ++valueStart; + } + // TODO: Investigate if there is a more performant way to extract the + // value + // see: https://github.com/nodejs/undici/issues/2630 + value = line.subarray(valueStart).toString('utf8'); + + // Otherwise, the string is not empty but does not contain a U+003A COLON + // character (:) + } else { + // Process the field using the steps described below, using the whole + // line as the field name, and the empty string as the field value. + field = line.toString('utf8'); + value = ''; + } + + // Modify the event with the field name and value. The value is also + // decoded as UTF-8 + switch (field) { + case 'data': + if (event[field] === undefined) { + event[field] = value; + } else { + event[field] += "\n".concat(value); + } + break; + case 'retry': + if (isASCIINumber(value)) { + event[field] = value; + } + break; + case 'id': + if (isValidLastEventId(value)) { + event[field] = value; + } + break; + case 'event': + if (value.length > 0) { + event[field] = value; + } + break; + } + } + /** + * @param {EventSourceStreamEvent} event + */ + }, { + key: "processEvent", + value: function processEvent(event) { + if (event.retry && isASCIINumber(event.retry)) { + this.state.reconnectionTime = parseInt(event.retry, 10); + } + if (event.id && isValidLastEventId(event.id)) { + this.state.lastEventId = event.id; + } + // only dispatch event, when data is provided + if (event.data !== undefined) { + this.push({ + type: event.event || 'message', + options: { + data: event.data, + lastEventId: this.state.lastEventId, + origin: this.state.origin + } + }); + } + } + }, { + key: "clearEvent", + value: function clearEvent() { + this.event = { + data: undefined, + event: undefined, + id: undefined, + retry: undefined + }; + } + }]); +}(Transform); +module.exports = { + EventSourceStream: EventSourceStream +}; +/***/ }, +/***/ 1054 +(module, __unused_webpack_exports, __webpack_require__) { -/** - * Creates a shallow clone of the passed object by applying an `fn` function - * to the value at the given path. - * - * The function will not be invoked, and the object will not change - * if its corresponding path does not exist in the object. - * All non-primitive properties are copied to the new object by reference. - * - * @func - * @memberOf R - * @since v0.28.0 - * @category Object - * @sig [Idx] -> (v -> v) -> {k: v} -> {k: v} - * @param {Array} path The path to be modified. - * @param {Function} fn The function to apply to the path. - * @param {Object} object The object to be transformed. - * @return {Object} The transformed object. - * @example - * - * const person = {name: 'James', address: { zipCode: '90216' }}; - * R.modifyPath(['address', 'zipCode'], R.reverse, person); //=> {name: 'James', address: { zipCode: '61209' }} - * - * // Can handle arrays too - * const person = {name: 'James', addresses: [{ zipCode: '90216' }]}; - * R.modifyPath(['addresses', 0, 'zipCode'], R.reverse, person); //=> {name: 'James', addresses: [{ zipCode: '61209' }]} - */ +"use strict"; -var modifyPath_modifyPath = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function modifyPath(path, fn, object) { - if (!_isObject(object) && !_isArray(object) || path.length === 0) { - return object; - } - var idx = path[0]; - if (!_has(idx, object)) { - return object; - } - if (path.length === 1) { - return _modify(idx, fn, object); - } - var val = modifyPath(Array.prototype.slice.call(path, 1), fn, object[idx]); - if (val === object[idx]) { - return object; - } - return _assoc(idx, val, object); -}))); -/* harmony default export */ const es_modifyPath = ((/* unused pure expression or super */ null && (modifyPath_modifyPath))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/modify.js +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _wrapNativeSuper = (__webpack_require__(1837)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(7075), + pipeline = _require.pipeline; +var _require2 = __webpack_require__(1574), + fetching = _require2.fetching; +var _require3 = __webpack_require__(1447), + makeRequest = _require3.makeRequest; +var _require4 = __webpack_require__(2861), + webidl = _require4.webidl; +var _require5 = __webpack_require__(8183), + EventSourceStream = _require5.EventSourceStream; +var _require6 = __webpack_require__(8388), + parseMIMEType = _require6.parseMIMEType; +var _require7 = __webpack_require__(8028), + createFastMessageEvent = _require7.createFastMessageEvent; +var _require8 = __webpack_require__(6803), + isNetworkError = _require8.isNetworkError; +var _require9 = __webpack_require__(403), + delay = _require9.delay; +var _require0 = __webpack_require__(6632), + kEnumerableProperty = _require0.kEnumerableProperty; +var _require1 = __webpack_require__(8440), + environmentSettingsObject = _require1.environmentSettingsObject; +var experimentalWarned = false; /** - * Creates a copy of the passed object by applying an `fn` function to the given `prop` property. - * - * The function will not be invoked, and the object will not change - * if its corresponding property does not exist in the object. - * All non-primitive properties are copied to the new object by reference. + * A reconnection time, in milliseconds. This must initially be an implementation-defined value, + * probably in the region of a few seconds. * - * @func - * @memberOf R - * @since v0.28.0 - * @category Object - * @sig Idx -> (v -> v) -> {k: v} -> {k: v} - * @param {String|Number} prop The property to be modified. - * @param {Function} fn The function to apply to the property. - * @param {Object} object The object to be transformed. - * @return {Object} The transformed object. - * @example + * In Comparison: + * - Chrome uses 3000ms. + * - Deno uses 5000ms. * - * const person = {name: 'James', age: 20, pets: ['dog', 'cat']}; - * R.modify('age', R.add(1), person); //=> {name: 'James', age: 21, pets: ['dog', 'cat']} - * R.modify('pets', R.append('turtle'), person); //=> {name: 'James', age: 20, pets: ['dog', 'cat', 'turtle']} + * @type {3000} */ +var defaultReconnectionTime = 3000; -var modify = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function modify(prop, fn, object) { - return modifyPath([prop], fn, object); -}))); -/* harmony default export */ const es_modify = ((/* unused pure expression or super */ null && (modify))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/partialObject.js -var _this = undefined; +/** + * The readyState attribute represents the state of the connection. + * @enum + * @readonly + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#dom-eventsource-readystate-dev + */ +/** + * The connection has not yet been established, or it was closed and the user + * agent is reconnecting. + * @type {0} + */ +var CONNECTING = 0; /** - * Takes a function `f` and an object, and returns a function `g`. - * When applied, `g` returns the result of applying `f` to the object - * provided initially merged deeply (right) with the object provided as an argument to `g`. - * - * @func - * @memberOf R - * @since v0.28.0 - * @category Function - * @sig (({ a, b, c, ..., n }) -> x) -> { a, b, c, ...} -> ({ d, e, f, ..., n } -> x) - * @param {Function} f - * @param {Object} props - * @return {Function} - * @see R.partial, R.partialRight, R.curry, R.mergeDeepRight - * @example - * - * const multiply2 = ({ a, b }) => a * b; - * const double = R.partialObject(multiply2, { a: 2 }); - * double({ b: 2 }); //=> 4 - * - * const greet = ({ salutation, title, firstName, lastName }) => - * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; - * - * const sayHello = R.partialObject(greet, { salutation: 'Hello' }); - * const sayHelloToMs = R.partialObject(sayHello, { title: 'Ms.' }); - * sayHelloToMs({ firstName: 'Jane', lastName: 'Jones' }); //=> 'Hello, Ms. Jane Jones!' - * @symb R.partialObject(f, { a, b })({ c, d }) = f({ a, b, c, d }) + * The user agent has an open connection and is dispatching events as it + * receives them. + * @type {1} */ +var OPEN = 1; -/* harmony default export */ const partialObject = (/*#__PURE__*/(/* unused pure expression or super */ null && (_curry2(function (f, o) { - return function (props) { - return f.call(_this, mergeDeepRight(o, props)); - }; -})))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/none.js +/** + * The connection is not open, and the user agent is not trying to reconnect. + * @type {2} + */ +var CLOSED = 2; +/** + * Requests for the element will have their mode set to "cors" and their credentials mode set to "same-origin". + * @type {'anonymous'} + */ +var ANONYMOUS = 'anonymous'; +/** + * Requests for the element will have their mode set to "cors" and their credentials mode set to "include". + * @type {'use-credentials'} + */ +var USE_CREDENTIALS = 'use-credentials'; /** - * Returns `true` if no elements of the list match the predicate, `false` - * otherwise. - * - * Dispatches to the `all` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise. - * @see R.all, R.any - * @example - * - * const isEven = n => n % 2 === 0; - * const isOdd = n => n % 2 !== 0; - * - * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true - * R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false + * The EventSource interface is used to receive server-sent events. It + * connects to a server over HTTP and receives events in text/event-stream + * format without closing the connection. + * @extends {EventTarget} + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events + * @api public */ +var _events = /*#__PURE__*/new WeakMap(); +var _url = /*#__PURE__*/new WeakMap(); +var _withCredentials = /*#__PURE__*/new WeakMap(); +var _readyState = /*#__PURE__*/new WeakMap(); +var _request = /*#__PURE__*/new WeakMap(); +var _controller = /*#__PURE__*/new WeakMap(); +var _dispatcher = /*#__PURE__*/new WeakMap(); +var _state = /*#__PURE__*/new WeakMap(); +var _EventSource_brand = /*#__PURE__*/new WeakSet(); +var EventSource = /*#__PURE__*/function (_EventTarget) { + /** + * Creates a new EventSource object. + * @param {string} url + * @param {EventSourceInit} [eventSourceInitDict] + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface + */ + function EventSource(url) { + var _this; + var eventSourceInitDict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, EventSource); + // 1. Let ev be a new EventSource object. + _this = _callSuper(this, EventSource); + _classPrivateMethodInitSpec(_this, _EventSource_brand); + _classPrivateFieldInitSpec(_this, _events, { + open: null, + error: null, + message: null + }); + _classPrivateFieldInitSpec(_this, _url, null); + _classPrivateFieldInitSpec(_this, _withCredentials, false); + _classPrivateFieldInitSpec(_this, _readyState, CONNECTING); + _classPrivateFieldInitSpec(_this, _request, null); + _classPrivateFieldInitSpec(_this, _controller, null); + _classPrivateFieldInitSpec(_this, _dispatcher, void 0); + /** + * @type {import('./eventsource-stream').eventSourceSettings} + */ + _classPrivateFieldInitSpec(_this, _state, void 0); + webidl.util.markAsUncloneable(_this); + var prefix = 'EventSource constructor'; + webidl.argumentLengthCheck(arguments, 1, prefix); + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning('EventSource is experimental, expect them to change at any time.', { + code: 'UNDICI-ES' + }); + } + url = webidl.converters.USVString(url, prefix, 'url'); + eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, 'eventSourceInitDict'); + _classPrivateFieldSet(_dispatcher, _this, eventSourceInitDict.dispatcher); + _classPrivateFieldSet(_state, _this, { + lastEventId: '', + reconnectionTime: defaultReconnectionTime + }); -var none = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function none(fn, input) { - return all(_complement(fn), input); -}))); -/* harmony default export */ const es_none = ((/* unused pure expression or super */ null && (none))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_assertPromise.js + // 2. Let settings be ev's relevant settings object. + // https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object + var settings = environmentSettingsObject; + var urlRecord; + try { + // 3. Let urlRecord be the result of encoding-parsing a URL given url, relative to settings. + urlRecord = new URL(url, settings.settingsObject.baseUrl); + _classPrivateFieldGet(_state, _this).origin = urlRecord.origin; + } catch (e) { + // 4. If urlRecord is failure, then throw a "SyntaxError" DOMException. + throw new DOMException(e, 'SyntaxError'); + } + // 5. Set ev's url to urlRecord. + _classPrivateFieldSet(_url, _this, urlRecord.href); -function _assertPromise_assertPromise(name, p) { - if (p == null || !_isFunction(p.then)) { - throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, [])); - } -} -;// CONCATENATED MODULE: ./node_modules/ramda/es/otherwise.js + // 6. Let corsAttributeState be Anonymous. + var corsAttributeState = ANONYMOUS; + // 7. If the value of eventSourceInitDict's withCredentials member is true, + // then set corsAttributeState to Use Credentials and set ev's + // withCredentials attribute to true. + if (eventSourceInitDict.withCredentials) { + corsAttributeState = USE_CREDENTIALS; + _classPrivateFieldSet(_withCredentials, _this, true); + } -/** - * Returns the result of applying the onFailure function to the value inside - * a failed promise. This is useful for handling rejected promises - * inside function compositions. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Function - * @sig (e -> b) -> (Promise e a) -> (Promise e b) - * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b) - * @param {Function} onFailure The function to apply. Can return a value or a promise of a value. - * @param {Promise} p - * @return {Promise} The result of calling `p.then(null, onFailure)` - * @see R.andThen - * @example - * - * const failedFetch = id => Promise.reject('bad ID'); - * const useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' }); - * - * //recoverFromFailure :: String -> Promise ({ firstName, lastName }) - * const recoverFromFailure = R.pipe( - * failedFetch, - * R.otherwise(useDefault), - * R.andThen(R.pick(['firstName', 'lastName'])), - * ); - * recoverFromFailure(12345).then(console.log); - */ + // 8. Let request be the result of creating a potential-CORS request given + // urlRecord, the empty string, and corsAttributeState. + var initRequest = { + redirect: 'follow', + keepalive: true, + // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes + mode: 'cors', + credentials: corsAttributeState === 'anonymous' ? 'same-origin' : 'omit', + referrer: 'no-referrer' + }; -var otherwise = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function otherwise(f, p) { - _assertPromise('otherwise', p); - return p.then(null, f); -}))); -/* harmony default export */ const es_otherwise = ((/* unused pure expression or super */ null && (otherwise))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/partition.js + // 9. Set request's client to settings. + initRequest.client = environmentSettingsObject.settingsObject; + // 10. User agents may set (`Accept`, `text/event-stream`) in request's header list. + initRequest.headersList = [['accept', { + name: 'accept', + value: 'text/event-stream' + }]]; + // 11. Set request's cache mode to "no-store". + initRequest.cache = 'no-store'; -/** - * Takes a predicate and a list or other `Filterable` object and returns the - * pair of filterable objects of the same type of elements which do and do not - * satisfy, the predicate, respectively. Filterable objects include plain objects or any object - * that has a filter method such as `Array`. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a] - * @param {Function} pred A predicate to determine which side the element belongs to. - * @param {Array} filterable the list (or other filterable) to partition. - * @return {Array} An array, containing first the subset of elements that satisfy the - * predicate, and second the subset of elements that do not satisfy. - * @see R.filter, R.reject - * @example - * - * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']); - * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ] - * - * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' }); - * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ] - */ + // 12. Set request's initiator type to "other". + initRequest.initiator = 'other'; + initRequest.urlList = [new URL(_classPrivateFieldGet(_url, _this))]; -var partition = /*#__PURE__*/ -es_juxt([es_filter, es_reject]); -/* harmony default export */ const es_partition = ((/* unused pure expression or super */ null && (partition))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/pathEq.js + // 13. Set ev's request to request. + _classPrivateFieldSet(_request, _this, makeRequest(initRequest)); + _assertClassBrand(_EventSource_brand, _this, _connect).call(_this); + return _this; + } + /** + * Returns the state of this EventSource object's connection. It can have the + * values described below. + * @returns {0|1|2} + * @readonly + */ + _inherits(EventSource, _EventTarget); + return _createClass(EventSource, [{ + key: "readyState", + get: function get() { + return _classPrivateFieldGet(_readyState, this); + } + /** + * Returns the URL providing the event stream. + * @readonly + * @returns {string} + */ + }, { + key: "url", + get: function get() { + return _classPrivateFieldGet(_url, this); + } -/** - * Determines whether a nested path on an object has a specific value, in - * [`R.equals`](#equals) terms. Most likely used to filter a list. - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Relation - * @typedefn Idx = String | Int | Symbol - * @sig [Idx] -> a -> {a} -> Boolean - * @param {Array} path The path of the nested property to use - * @param {*} val The value to compare the nested property with - * @param {Object} obj The object to check the nested property in - * @return {Boolean} `true` if the value equals the nested object property, - * `false` otherwise. - * @example - * - * const user1 = { address: { zipCode: 90210 } }; - * const user2 = { address: { zipCode: 55555 } }; - * const user3 = { name: 'Bob' }; - * const users = [ user1, user2, user3 ]; - * const isFamous = R.pathEq(['address', 'zipCode'], 90210); - * R.filter(isFamous, users); //=> [ user1 ] - */ + /** + * Returns a boolean indicating whether the EventSource object was + * instantiated with CORS credentials set (true), or not (false, the default). + */ + }, { + key: "withCredentials", + get: function get() { + return _classPrivateFieldGet(_withCredentials, this); + } + }, { + key: "close", + value: + /** + * Closes the connection, if any, and sets the readyState attribute to + * CLOSED. + */ + function close() { + webidl.brandCheck(this, EventSource); + if (_classPrivateFieldGet(_readyState, this) === CLOSED) return; + _classPrivateFieldSet(_readyState, this, CLOSED); + _classPrivateFieldGet(_controller, this).abort(); + _classPrivateFieldSet(_request, this, null); + } + }, { + key: "onopen", + get: function get() { + return _classPrivateFieldGet(_events, this).open; + }, + set: function set(fn) { + if (_classPrivateFieldGet(_events, this).open) { + this.removeEventListener('open', _classPrivateFieldGet(_events, this).open); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).open = fn; + this.addEventListener('open', fn); + } else { + _classPrivateFieldGet(_events, this).open = null; + } + } + }, { + key: "onmessage", + get: function get() { + return _classPrivateFieldGet(_events, this).message; + }, + set: function set(fn) { + if (_classPrivateFieldGet(_events, this).message) { + this.removeEventListener('message', _classPrivateFieldGet(_events, this).message); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).message = fn; + this.addEventListener('message', fn); + } else { + _classPrivateFieldGet(_events, this).message = null; + } + } + }, { + key: "onerror", + get: function get() { + return _classPrivateFieldGet(_events, this).error; + }, + set: function set(fn) { + if (_classPrivateFieldGet(_events, this).error) { + this.removeEventListener('error', _classPrivateFieldGet(_events, this).error); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).error = fn; + this.addEventListener('error', fn); + } else { + _classPrivateFieldGet(_events, this).error = null; + } + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(EventTarget)); +function _connect() { + var _this2 = this; + if (_classPrivateFieldGet(_readyState, this) === CLOSED) return; + _classPrivateFieldSet(_readyState, this, CONNECTING); + var fetchParams = { + request: _classPrivateFieldGet(_request, this), + dispatcher: _classPrivateFieldGet(_dispatcher, this) + }; -var pathEq = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function pathEq(_path, val, obj) { - return equals(path(_path, obj), val); -}))); -/* harmony default export */ const es_pathEq = ((/* unused pure expression or super */ null && (pathEq))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/pathOr.js + // 14. Let processEventSourceEndOfBody given response res be the following step: if res is not a network error, then reestablish the connection. + var processEventSourceEndOfBody = function processEventSourceEndOfBody(response) { + if (isNetworkError(response)) { + _this2.dispatchEvent(new Event('error')); + _this2.close(); + } + _assertClassBrand(_EventSource_brand, _this2, _reconnect).call(_this2); + }; + // 15. Fetch request, with processResponseEndOfBody set to processEventSourceEndOfBody... + fetchParams.processResponseEndOfBody = processEventSourceEndOfBody; + + // and processResponse set to the following steps given response res: + fetchParams.processResponse = function (response) { + // 1. If res is an aborted network error, then fail the connection. + + if (isNetworkError(response)) { + // 1. When a user agent is to fail the connection, the user agent + // must queue a task which, if the readyState attribute is set to a + // value other than CLOSED, sets the readyState attribute to CLOSED + // and fires an event named error at the EventSource object. Once the + // user agent has failed the connection, it does not attempt to + // reconnect. + if (response.aborted) { + _this2.close(); + _this2.dispatchEvent(new Event('error')); + return; + // 2. Otherwise, if res is a network error, then reestablish the + // connection, unless the user agent knows that to be futile, in + // which case the user agent may fail the connection. + } else { + _assertClassBrand(_EventSource_brand, _this2, _reconnect).call(_this2); + return; + } + } + // 3. Otherwise, if res's status is not 200, or if res's `Content-Type` + // is not `text/event-stream`, then fail the connection. + var contentType = response.headersList.get('content-type', true); + var mimeType = contentType !== null ? parseMIMEType(contentType) : 'failure'; + var contentTypeValid = mimeType !== 'failure' && mimeType.essence === 'text/event-stream'; + if (response.status !== 200 || contentTypeValid === false) { + _this2.close(); + _this2.dispatchEvent(new Event('error')); + return; + } + // 4. Otherwise, announce the connection and interpret res's body + // line by line. + + // When a user agent is to announce the connection, the user agent + // must queue a task which, if the readyState attribute is set to a + // value other than CLOSED, sets the readyState attribute to OPEN + // and fires an event named open at the EventSource object. + // @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model + _classPrivateFieldSet(_readyState, _this2, OPEN); + _this2.dispatchEvent(new Event('open')); + + // If redirected to a different origin, set the origin to the new origin. + _classPrivateFieldGet(_state, _this2).origin = response.urlList[response.urlList.length - 1].origin; + var eventSourceStream = new EventSourceStream({ + eventSourceSettings: _classPrivateFieldGet(_state, _this2), + push: function push(event) { + _this2.dispatchEvent(createFastMessageEvent(event.type, event.options)); + } + }); + pipeline(response.body.stream, eventSourceStream, function (error) { + if ((error === null || error === void 0 ? void 0 : error.aborted) === false) { + _this2.close(); + _this2.dispatchEvent(new Event('error')); + } + }); + }; + _classPrivateFieldSet(_controller, this, fetching(fetchParams)); +} /** - * If the given, non-null object has a value at the given path, returns the - * value at that path. Otherwise returns the provided default value. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Object - * @typedefn Idx = String | Int | Symbol - * @sig a -> [Idx] -> {a} -> a - * @param {*} d The default value. - * @param {Array} p The path to use. - * @param {Object} obj The object to retrieve the nested property from. - * @return {*} The data at `path` of the supplied object or the default value. - * @example - * - * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2 - * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A" + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model + * @returns {Promise} */ +function _reconnect() { + return _reconnect2.apply(this, arguments); +} +function _reconnect2() { + _reconnect2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + if (!(_classPrivateFieldGet(_readyState, this) === CLOSED)) { + _context.n = 1; + break; + } + return _context.a(2); + case 1: + // 2. Set the readyState attribute to CONNECTING. + _classPrivateFieldSet(_readyState, this, CONNECTING); + + // 3. Fire an event named error at the EventSource object. + this.dispatchEvent(new Event('error')); + + // 2. Wait a delay equal to the reconnection time of the event source. + _context.n = 2; + return delay(_classPrivateFieldGet(_state, this).reconnectionTime); + case 2: + if (!(_classPrivateFieldGet(_readyState, this) !== CONNECTING)) { + _context.n = 3; + break; + } + return _context.a(2); + case 3: + // 2. Let request be the EventSource object's request. + // 3. If the EventSource object's last event ID string is not the empty + // string, then: + // 1. Let lastEventIDValue be the EventSource object's last event ID + // string, encoded as UTF-8. + // 2. Set (`Last-Event-ID`, lastEventIDValue) in request's header + // list. + if (_classPrivateFieldGet(_state, this).lastEventId.length) { + _classPrivateFieldGet(_request, this).headersList.set('last-event-id', _classPrivateFieldGet(_state, this).lastEventId, true); + } -var pathOr = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function pathOr(d, p, obj) { - return defaultTo(d, path(p, obj)); -}))); -/* harmony default export */ const es_pathOr = ((/* unused pure expression or super */ null && (pathOr))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/pathSatisfies.js - - -/** - * Returns `true` if the specified object property at given path satisfies the - * given predicate; `false` otherwise. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Logic - * @typedefn Idx = String | Int | Symbol - * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean - * @param {Function} pred - * @param {Array} propPath - * @param {*} obj - * @return {Boolean} - * @see R.propSatisfies, R.path - * @example - * - * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true - * R.pathSatisfies(R.is(Object), [], {x: {y: 2}}); //=> true - */ + // 4. Fetch request and process the response obtained in this fashion, if any, as described earlier in this section. + _assertClassBrand(_EventSource_brand, this, _connect).call(this); + case 4: + return _context.a(2); + } + }, _callee, this); + })); + return _reconnect2.apply(this, arguments); +} +var constantsPropertyDescriptors = { + CONNECTING: { + __proto__: null, + configurable: false, + enumerable: true, + value: CONNECTING, + writable: false + }, + OPEN: { + __proto__: null, + configurable: false, + enumerable: true, + value: OPEN, + writable: false + }, + CLOSED: { + __proto__: null, + configurable: false, + enumerable: true, + value: CLOSED, + writable: false + } +}; +Object.defineProperties(EventSource, constantsPropertyDescriptors); +Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors); +Object.defineProperties(EventSource.prototype, { + close: kEnumerableProperty, + onerror: kEnumerableProperty, + onmessage: kEnumerableProperty, + onopen: kEnumerableProperty, + readyState: kEnumerableProperty, + url: kEnumerableProperty, + withCredentials: kEnumerableProperty +}); +webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([{ + key: 'withCredentials', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'dispatcher', + // undici only + converter: webidl.converters.any +}]); +module.exports = { + EventSource: EventSource, + defaultReconnectionTime: defaultReconnectionTime +}; -var pathSatisfies = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function pathSatisfies(pred, propPath, obj) { - return pred(path(propPath, obj)); -}))); -/* harmony default export */ const es_pathSatisfies = ((/* unused pure expression or super */ null && (pathSatisfies))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/multiply.js +/***/ }, -/** - * Multiplies two numbers. Equivalent to `a * b` but curried. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a The first value. - * @param {Number} b The second value. - * @return {Number} The result of `a * b`. - * @see R.divide - * @example - * - * const double = R.multiply(2); - * const triple = R.multiply(3); - * double(3); //=> 6 - * triple(4); //=> 12 - * R.multiply(2, 5); //=> 10 - */ +/***/ 403 +(module) { -var multiply = /*#__PURE__*/ -_curry2_curry2(function multiply(a, b) { - return a * b; -}); -/* harmony default export */ const es_multiply = (multiply); -;// CONCATENATED MODULE: ./node_modules/ramda/es/product.js +"use strict"; /** - * Multiplies together all the elements of a list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list An array of numbers - * @return {Number} The product of all the numbers in the list. - * @see R.reduce - * @example - * - * R.product([2,4,6,8,100,1]); //=> 38400 + * Checks if the given value is a valid LastEventId. + * @param {string} value + * @returns {boolean} */ - -var product = /*#__PURE__*/ -es_reduce(es_multiply, 1); -/* harmony default export */ const es_product = ((/* unused pure expression or super */ null && (product))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/pickAll.js +function isValidLastEventId(value) { + // LastEventId should not contain U+0000 NULL + return value.indexOf("\0") === -1; +} /** - * Similar to `pick` except that this one includes a `key: undefined` pair for - * properties that don't exist. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> {k: v} - * @param {Array} names an array of String property names to copy onto a new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with only properties from `names` on it. - * @see R.pick - * @example - * - * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} - * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined} + * Checks if the given value is a base 10 digit. + * @param {string} value + * @returns {boolean} */ - -var pickAll = /*#__PURE__*/ -_curry2_curry2(function pickAll(names, obj) { - var result = {}; - var idx = 0; - var len = names.length; - while (idx < len) { - var name = names[idx]; - result[name] = obj[name]; - idx += 1; +function isASCIINumber(value) { + if (value.length === 0) return false; + for (var i = 0; i < value.length; i++) { + if (value.charCodeAt(i) < 0x30 || value.charCodeAt(i) > 0x39) return false; } - return result; -}); -/* harmony default export */ const es_pickAll = (pickAll); -;// CONCATENATED MODULE: ./node_modules/ramda/es/useWith.js - + return true; +} -/** - * Accepts a function `fn` and a list of transformer functions and returns a - * new curried function. When the new function is invoked, it calls the - * function `fn` with parameters consisting of the result of calling each - * supplied handler on successive arguments to the new function. - * - * If more arguments are passed to the returned function than transformer - * functions, those arguments are passed directly to `fn` as additional - * parameters. If you expect additional arguments that don't need to be - * transformed, although you can ignore them, it's best to pass an identity - * function so that the new function reports the correct arity. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z) - * @param {Function} fn The function to wrap. - * @param {Array} transformers A list of transformer functions - * @return {Function} The wrapped function. - * @see R.converge - * @example - * - * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81 - * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81 - * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32 - * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32 - * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b)) - */ - -var useWith = /*#__PURE__*/ -_curry2_curry2(function useWith(fn, transformers) { - return es_curryN(transformers.length, function () { - var args = []; - var idx = 0; - while (idx < transformers.length) { - args.push(transformers[idx].call(this, arguments[idx])); - idx += 1; - } - return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); +// https://github.com/nodejs/undici/issues/2664 +function delay(ms) { + return new Promise(function (resolve) { + setTimeout(resolve, ms).unref(); }); -}); -/* harmony default export */ const es_useWith = (useWith); -;// CONCATENATED MODULE: ./node_modules/ramda/es/project.js - +} +module.exports = { + isValidLastEventId: isValidLastEventId, + isASCIINumber: isASCIINumber, + delay: delay +}; +/***/ }, +/***/ 3476 +(module, __unused_webpack_exports, __webpack_require__) { -/** - * Reasonable analog to SQL `select` statement. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @category Relation - * @sig [k] -> [{k: v}] -> [{k: v}] - * @param {Array} props The property names to project - * @param {Array} objs The objects to query - * @return {Array} An array of objects with just the `props` properties. - * @see R.pluck, R.props, R.prop - * @example - * - * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2}; - * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7}; - * const kids = [abby, fred]; - * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}] - */ +"use strict"; -var project = /*#__PURE__*/ -es_useWith(_map_map, [es_pickAll, es_identity]); // passing `identity` gives correct arity -/* harmony default export */ const es_project = ((/* unused pure expression or super */ null && (project))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_promap.js -function _promap(f, g, profunctor) { - return function (x) { - return g(profunctor(f(x))); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _regeneratorValues = (__webpack_require__(579)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _wrapAsyncGenerator = (__webpack_require__(2958)["default"]); +var _awaitAsyncGenerator = (__webpack_require__(3344)["default"]); +var _asyncGeneratorDelegate = (__webpack_require__(3513)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var util = __webpack_require__(6632); +var _require = __webpack_require__(8440), + ReadableStreamFrom = _require.ReadableStreamFrom, + isBlobLike = _require.isBlobLike, + isReadableStreamLike = _require.isReadableStreamLike, + readableStreamClose = _require.readableStreamClose, + createDeferredPromise = _require.createDeferredPromise, + fullyReadBody = _require.fullyReadBody, + extractMimeType = _require.extractMimeType, + utf8DecodeBytes = _require.utf8DecodeBytes; +var _require2 = __webpack_require__(7662), + FormData = _require2.FormData; +var _require3 = __webpack_require__(4003), + kState = _require3.kState; +var _require4 = __webpack_require__(2861), + webidl = _require4.webidl; +var _require5 = __webpack_require__(4573), + Blob = _require5.Blob; +var assert = __webpack_require__(4589); +var _require6 = __webpack_require__(7075), + isErrored = _require6.isErrored, + isDisturbed = _require6.isDisturbed; +var _require7 = __webpack_require__(3429), + isArrayBuffer = _require7.isArrayBuffer; +var _require8 = __webpack_require__(8388), + serializeAMimeType = _require8.serializeAMimeType; +var _require9 = __webpack_require__(4188), + multipartFormDataParser = _require9.multipartFormDataParser; +var random; +try { + var crypto = __webpack_require__(7598); + random = function random(max) { + return crypto.randomInt(0, max); + }; +} catch (_unused) { + random = function random(max) { + return Math.floor(Math.random(max)); }; } -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xpromap.js - - +var textEncoder = new TextEncoder(); +function noop() {} +var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf('v18') !== 0; +var streamRegistry; +if (hasFinalizationRegistry) { + streamRegistry = new FinalizationRegistry(function (weakRef) { + var stream = weakRef.deref(); + if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) { + stream.cancel('Response object has been garbage collected')["catch"](noop); + } + }); +} -var XPromap = /*#__PURE__*/ -function () { - function XPromap(f, g, xf) { - this.xf = xf; - this.f = f; - this.g = g; +// https://fetch.spec.whatwg.org/#concept-bodyinit-extract +function extractBody(object) { + var keepalive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + // 1. Let stream be null. + var stream = null; + + // 2. If object is a ReadableStream object, then set stream to object. + if (object instanceof ReadableStream) { + stream = object; + } else if (isBlobLike(object)) { + // 3. Otherwise, if object is a Blob object, set stream to the + // result of running object’s get stream. + stream = object.stream(); + } else { + // 4. Otherwise, set stream to a new ReadableStream object, and set + // up stream with byte reading support. + stream = new ReadableStream({ + pull: function pull(controller) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var buffer; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + buffer = typeof source === 'string' ? textEncoder.encode(source) : source; + if (buffer.byteLength) { + controller.enqueue(buffer); + } + queueMicrotask(function () { + return readableStreamClose(controller); + }); + case 1: + return _context.a(2); + } + }, _callee); + }))(); + }, + start: function start() {}, + type: 'bytes' + }); } - XPromap.prototype['@@transducer/init'] = _xfBase.init; - XPromap.prototype['@@transducer/result'] = _xfBase.result; - XPromap.prototype['@@transducer/step'] = function (result, input) { - return this.xf['@@transducer/step'](result, _promap(this.f, this.g, input)); - }; - return XPromap; -}(); -var _xpromap = /*#__PURE__*/ -_curry3_curry3(function _xpromap(f, g, xf) { - return new XPromap(f, g, xf); -}); -/* harmony default export */ const internal_xpromap = (_xpromap); -;// CONCATENATED MODULE: ./node_modules/ramda/es/promap.js + // 5. Assert: stream is a ReadableStream object. + assert(isReadableStreamLike(stream)); + // 6. Let action be null. + var action = null; + // 7. Let source be null. + var source = null; -/** - * Takes two functions as pre- and post- processors respectively for a third function, - * i.e. `promap(f, g, h)(x) === g(h(f(x)))`. - * - * Dispatches to the `promap` method of the third argument, if present, - * according to the [FantasyLand Profunctor spec](https://github.com/fantasyland/fantasy-land#profunctor). - * - * Acts as a transducer if a transformer is given in profunctor position. - * - * @func - * @memberOf R - * @since v0.28.0 - * @category Function - * @sig (a -> b) -> (c -> d) -> (b -> c) -> (a -> d) - * @sig Profunctor p => (a -> b) -> (c -> d) -> p b c -> p a d - * @param {Function} f The preprocessor function, a -> b - * @param {Function} g The postprocessor function, c -> d - * @param {Profunctor} profunctor The profunctor instance to be promapped, e.g. b -> c - * @return {Profunctor} The new profunctor instance, e.g. a -> d - * @see R.transduce - * @example - * - * const decodeChar = R.promap(s => s.charCodeAt(), String.fromCharCode, R.add(-8)) - * const decodeString = R.promap(R.split(''), R.join(''), R.map(decodeChar)) - * decodeString("ziuli") //=> "ramda" - * - * @symb R.promap(f, g, h) = x => g(h(f(x))) - * @symb R.promap(f, g, profunctor) = profunctor.promap(f, g) - */ - -var promap = /*#__PURE__*/ -_curry3_curry3( /*#__PURE__*/ -_dispatchable(['fantasy-land/promap', 'promap'], internal_xpromap, _promap)); -/* harmony default export */ const es_promap = ((/* unused pure expression or super */ null && (promap))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/propEq.js - + // 8. Let length be null. + var length = null; + // 9. Let type be null. + var type = null; -/** - * Returns `true` if the specified object property is equal, in - * [`R.equals`](#equals) terms, to the given value; `false` otherwise. - * You can test multiple properties with [`R.whereEq`](#whereEq). - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig String -> a -> Object -> Boolean - * @param {String} name - * @param {*} val - * @param {*} obj - * @return {Boolean} - * @see R.whereEq, R.propSatisfies, R.equals - * @example - * - * const abby = {name: 'Abby', age: 7, hair: 'blond'}; - * const fred = {name: 'Fred', age: 12, hair: 'brown'}; - * const rusty = {name: 'Rusty', age: 10, hair: 'brown'}; - * const alois = {name: 'Alois', age: 15, disposition: 'surly'}; - * const kids = [abby, fred, rusty, alois]; - * const hasBrownHair = R.propEq('hair', 'brown'); - * R.filter(hasBrownHair, kids); //=> [fred, rusty] - */ + // 10. Switch on object: + if (typeof object === 'string') { + // Set source to the UTF-8 encoding of object. + // Note: setting source to a Uint8Array here breaks some mocking assumptions. + source = object; -var propEq = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function propEq(name, val, obj) { - return equals(val, prop(name, obj)); -}))); -/* harmony default export */ const es_propEq = ((/* unused pure expression or super */ null && (propEq))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/propIs.js + // Set type to `text/plain;charset=UTF-8`. + type = 'text/plain;charset=UTF-8'; + } else if (object instanceof URLSearchParams) { + // URLSearchParams + // spec says to run application/x-www-form-urlencoded on body.list + // this is implemented in Node.js as apart of an URLSearchParams instance toString method + // See: https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L490 + // and https://github.com/nodejs/node/blob/e46c680bf2b211bbd52cf959ca17ee98c7f657f5/lib/internal/url.js#L1100 + // Set source to the result of running the application/x-www-form-urlencoded serializer with object’s list. + source = object.toString(); -/** - * Returns `true` if the specified object property is of the given type; - * `false` otherwise. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Type - * @sig Type -> String -> Object -> Boolean - * @param {Function} type - * @param {String} name - * @param {*} obj - * @return {Boolean} - * @see R.is, R.propSatisfies - * @example - * - * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true - * R.propIs(Number, 'x', {x: 'foo'}); //=> false - * R.propIs(Number, 'x', {}); //=> false - */ + // Set type to `application/x-www-form-urlencoded;charset=UTF-8`. + type = 'application/x-www-form-urlencoded;charset=UTF-8'; + } else if (isArrayBuffer(object)) { + // BufferSource/ArrayBuffer -var propIs = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function propIs(type, name, obj) { - return is(type, prop(name, obj)); -}))); -/* harmony default export */ const es_propIs = ((/* unused pure expression or super */ null && (propIs))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/propOr.js + // Set source to a copy of the bytes held by object. + source = new Uint8Array(object.slice()); + } else if (ArrayBuffer.isView(object)) { + // BufferSource/ArrayBufferView + // Set source to a copy of the bytes held by object. + source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + } else if (util.isFormDataLike(object)) { + var boundary = "----formdata-undici-0".concat("".concat(random(1e11)).padStart(11, '0')); + var prefix = "--".concat(boundary, "\r\nContent-Disposition: form-data"); + /*! formdata-polyfill. MIT License. Jimmy Wärting */ + var _escape = function _escape(str) { + return str.replace(/\n/g, '%0A').replace(/\r/g, '%0D').replace(/"/g, '%22'); + }; + var normalizeLinefeeds = function normalizeLinefeeds(value) { + return value.replace(/\r?\n|\r/g, '\r\n'); + }; -/** - * Return the specified property of the given non-null object if the property - * is present and it's value is not `null`, `undefined` or `NaN`. - * - * Otherwise the first argument is returned. - * - * @func - * @memberOf R - * @since v0.6.0 - * @category Object - * @sig a -> String -> Object -> a - * @param {*} val The default value. - * @param {String} p The name of the property to return. - * @param {Object} obj The object to query. - * @return {*} The value of given property of the supplied object or the default value. - * @example - * - * const alice = { - * name: 'ALICE', - * age: 101 - * }; - * const favorite = R.prop('favoriteLibrary'); - * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary'); - * - * favorite(alice); //=> undefined - * favoriteWithDefault(alice); //=> 'Ramda' - */ - -var propOr = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function propOr(val, p, obj) { - return defaultTo(val, prop(p, obj)); -}))); -/* harmony default export */ const es_propOr = ((/* unused pure expression or super */ null && (propOr))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/propSatisfies.js + // Set action to this step: run the multipart/form-data + // encoding algorithm, with object’s entry list and UTF-8. + // - This ensures that the body is immutable and can't be changed afterwords + // - That the content-length is calculated in advance. + // - And that all parts are pre-encoded and ready to be sent. + + var blobParts = []; + var rn = new Uint8Array([13, 10]); // '\r\n' + length = 0; + var hasUnknownSizeValue = false; + var _iterator = _createForOfIteratorHelper(object), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + name = _step$value[0], + value = _step$value[1]; + if (typeof value === 'string') { + var _chunk = textEncoder.encode(prefix + "; name=\"".concat(_escape(normalizeLinefeeds(name)), "\"") + "\r\n\r\n".concat(normalizeLinefeeds(value), "\r\n")); + blobParts.push(_chunk); + length += _chunk.byteLength; + } else { + var _chunk2 = textEncoder.encode("".concat(prefix, "; name=\"").concat(_escape(normalizeLinefeeds(name)), "\"") + (value.name ? "; filename=\"".concat(_escape(value.name), "\"") : '') + '\r\n' + "Content-Type: ".concat(value.type || 'application/octet-stream', "\r\n\r\n")); + blobParts.push(_chunk2, value, rn); + if (typeof value.size === 'number') { + length += _chunk2.byteLength + value.size + rn.byteLength; + } else { + hasUnknownSizeValue = true; + } + } + } + // CRLF is appended to the body to function with legacy servers and match other implementations. + // https://github.com/curl/curl/blob/3434c6b46e682452973972e8313613dfa58cd690/lib/mime.c#L1029-L1030 + // https://github.com/form-data/form-data/issues/63 + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + var chunk = textEncoder.encode("--".concat(boundary, "--\r\n")); + blobParts.push(chunk); + length += chunk.byteLength; + if (hasUnknownSizeValue) { + length = null; + } -/** - * Returns `true` if the specified object property satisfies the given - * predicate; `false` otherwise. You can test multiple properties with - * [`R.where`](#where). - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Logic - * @sig (a -> Boolean) -> String -> {String: a} -> Boolean - * @param {Function} pred - * @param {String} name - * @param {*} obj - * @return {Boolean} - * @see R.where, R.propEq, R.propIs - * @example - * - * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true - */ + // Set source to object. + source = object; + action = /*#__PURE__*/function () { + var _ref = _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee2() { + var _i, _blobParts, part; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + _i = 0, _blobParts = blobParts; + case 1: + if (!(_i < _blobParts.length)) { + _context2.n = 5; + break; + } + part = _blobParts[_i]; + if (!part.stream) { + _context2.n = 3; + break; + } + return _context2.d(_regeneratorValues(_asyncGeneratorDelegate(_asyncIterator(part.stream()), _awaitAsyncGenerator)), 2); + case 2: + _context2.n = 4; + break; + case 3: + _context2.n = 4; + return part; + case 4: + _i++; + _context2.n = 1; + break; + case 5: + return _context2.a(2); + } + }, _callee2); + })); + return function action() { + return _ref.apply(this, arguments); + }; + }(); -var propSatisfies = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function propSatisfies(pred, name, obj) { - return pred(prop(name, obj)); -}))); -/* harmony default export */ const es_propSatisfies = ((/* unused pure expression or super */ null && (propSatisfies))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/props.js + // Set type to `multipart/form-data; boundary=`, + // followed by the multipart/form-data boundary string generated + // by the multipart/form-data encoding algorithm. + type = "multipart/form-data; boundary=".concat(boundary); + } else if (isBlobLike(object)) { + // Blob + // Set source to object. + source = object; -/** - * Acts as multiple `prop`: array of keys in, array of values out. Preserves - * order. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> [v] - * @param {Array} ps The property names to fetch - * @param {Object} obj The object to query - * @return {Array} The corresponding values or partially applied function. - * @see R.prop, R.pluck, R.project - * @example - * - * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2] - * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2] - * - * const fullName = R.compose(R.join(' '), R.props(['first', 'last'])); - * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth' - */ + // Set length to object’s size. + length = object.size; -var props = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function props(ps, obj) { - return ps.map(function (p) { - return path([p], obj); - }); -}))); -/* harmony default export */ const es_props = ((/* unused pure expression or super */ null && (props))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/reduceWhile.js + // If object’s type attribute is not the empty byte sequence, set + // type to its value. + if (object.type) { + type = object.type; + } + } else if (typeof object[Symbol.asyncIterator] === 'function') { + // If keepalive is true, then throw a TypeError. + if (keepalive) { + throw new TypeError('keepalive'); + } + // If object is disturbed or locked, then throw a TypeError. + if (util.isDisturbed(object) || object.locked) { + throw new TypeError('Response body object should not be disturbed or locked'); + } + stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); + } + // 11. If source is a byte sequence, then set action to a + // step that returns source and length to source’s length. + if (typeof source === 'string' || util.isBuffer(source)) { + length = Buffer.byteLength(source); + } -/** - * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating - * through the list, successively calling the iterator function. `reduceWhile` - * also takes a predicate that is evaluated before each step. If the predicate - * returns `false`, it "short-circuits" the iteration and returns the current - * value of the accumulator. `reduceWhile` may alternatively be short-circuited - * via [`reduced`](#reduced). - * - * @func - * @memberOf R - * @since v0.22.0 - * @category List - * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a - * @param {Function} pred The predicate. It is passed the accumulator and the - * current element. - * @param {Function} fn The iterator function. Receives two values, the - * accumulator and the current element. - * @param {*} a The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.reduced - * @example - * - * const isOdd = (acc, x) => x % 2 !== 0; - * const xs = [1, 3, 5, 60, 777, 800]; - * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9 - * - * const ys = [2, 4, 6] - * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111 - */ + // 12. If action is non-null, then run these steps in in parallel: + if (action != null) { + // Run action. + var iterator; + stream = new ReadableStream({ + start: function start() { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + iterator = action(object)[Symbol.asyncIterator](); + case 1: + return _context3.a(2); + } + }, _callee3); + }))(); + }, + pull: function pull(controller) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() { + var _yield$iterator$next, value, done, buffer; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + _context4.n = 1; + return iterator.next(); + case 1: + _yield$iterator$next = _context4.v; + value = _yield$iterator$next.value; + done = _yield$iterator$next.done; + if (done) { + // When running action is done, close stream. + queueMicrotask(function () { + var _controller$byobReque; + controller.close(); + (_controller$byobReque = controller.byobRequest) === null || _controller$byobReque === void 0 || _controller$byobReque.respond(0); + }); + } else { + // Whenever one or more bytes are available and stream is not errored, + // enqueue a Uint8Array wrapping an ArrayBuffer containing the available + // bytes into stream. + if (!isErrored(stream)) { + buffer = new Uint8Array(value); + if (buffer.byteLength) { + controller.enqueue(buffer); + } + } + } + return _context4.a(2, controller.desiredSize > 0); + } + }, _callee4); + }))(); + }, + cancel: function cancel(reason) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() { + return _regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + _context5.n = 1; + return iterator["return"](); + case 1: + return _context5.a(2); + } + }, _callee5); + }))(); + }, + type: 'bytes' + }); + } -var reduceWhile = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curryN(4, [], function _reduceWhile(pred, fn, a, list) { - return _reduce(function (acc, x) { - return pred(acc, x) ? fn(acc, x) : _reduced(acc); - }, a, list); -}))); -/* harmony default export */ const es_reduceWhile = ((/* unused pure expression or super */ null && (reduceWhile))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/sequence.js + // 13. Let body be a body whose stream is stream, source is source, + // and length is length. + var body = { + stream: stream, + source: source, + length: length + }; + // 14. Return (body, type). + return [body, type]; +} +// https://fetch.spec.whatwg.org/#bodyinit-safely-extract +function safelyExtractBody(object) { + var keepalive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + // To safely extract a body and a `Content-Type` value from + // a byte sequence or BodyInit object object, run these steps: + + // 1. If object is a ReadableStream object, then: + if (object instanceof ReadableStream) { + // Assert: object is neither disturbed nor locked. + // istanbul ignore next + assert(!util.isDisturbed(object), 'The body has already been consumed.'); + // istanbul ignore next + assert(!object.locked, 'The stream is locked.'); + } + // 2. Return the results of extracting object. + return extractBody(object, keepalive); +} +function cloneBody(instance, body) { + // To clone a body body, run these steps: + // https://fetch.spec.whatwg.org/#concept-body-clone -/** - * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable) - * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an - * Applicative of Traversable. - * - * Dispatches to the `sequence` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a) - * @param {Function} of - * @param {*} traversable - * @return {*} - * @see R.traverse - * @example - * - * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3]) - * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing() - * - * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)] - * R.sequence(R.of, Nothing()); //=> [Nothing()] - */ + // 1. Let « out1, out2 » be the result of teeing body’s stream. + var _body$stream$tee = body.stream.tee(), + _body$stream$tee2 = _slicedToArray(_body$stream$tee, 2), + out1 = _body$stream$tee2[0], + out2 = _body$stream$tee2[1]; -var sequence_sequence = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function sequence(of, traversable) { - return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) { - return ap(map(prepend, x), acc); - }, of([]), traversable); -}))); -/* harmony default export */ const es_sequence = ((/* unused pure expression or super */ null && (sequence_sequence))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/split.js + // 2. Set body’s stream to out1. + body.stream = out1; -/** - * Splits a string into an array of strings based on the given - * separator. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category String - * @sig (String | RegExp) -> String -> [String] - * @param {String|RegExp} sep The pattern. - * @param {String} str The string to separate into an array. - * @return {Array} The array of strings from `str` separated by `sep`. - * @see R.join - * @example - * - * const pathComponents = R.split('/'); - * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node'] - * - * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd'] - */ + // 3. Return a body whose stream is out2 and other members are copied from body. + return { + stream: out2, + length: body.length, + source: body.source + }; +} +function throwIfAborted(state) { + if (state.aborted) { + throw new DOMException('The operation was aborted.', 'AbortError'); + } +} +function bodyMixinMethods(instance) { + var methods = { + blob: function blob() { + var _this = this; + // The blob() method steps are to return the result of + // running consume body with this and the following step + // given a byte sequence bytes: return a Blob whose + // contents are bytes and whose type attribute is this’s + // MIME type. + return consumeBody(this, function (bytes) { + var mimeType = bodyMimeType(_this); + if (mimeType === null) { + mimeType = ''; + } else if (mimeType) { + mimeType = serializeAMimeType(mimeType); + } -var split = /*#__PURE__*/ -(/* unused pure expression or super */ null && (invoker(1, 'split'))); -/* harmony default export */ const es_split = ((/* unused pure expression or super */ null && (split))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/splitAt.js + // Return a Blob whose contents are bytes and type attribute + // is mimeType. + return new Blob([bytes], { + type: mimeType + }); + }, instance); + }, + arrayBuffer: function arrayBuffer() { + // The arrayBuffer() method steps are to return the result + // of running consume body with this and the following step + // given a byte sequence bytes: return a new ArrayBuffer + // whose contents are bytes. + return consumeBody(this, function (bytes) { + return new Uint8Array(bytes).buffer; + }, instance); + }, + text: function text() { + // The text() method steps are to return the result of running + // consume body with this and UTF-8 decode. + return consumeBody(this, utf8DecodeBytes, instance); + }, + json: function json() { + // The json() method steps are to return the result of running + // consume body with this and parse JSON from bytes. + return consumeBody(this, parseJSONFromBytes, instance); + }, + formData: function formData() { + var _this2 = this; + // The formData() method steps are to return the result of running + // consume body with this and the following step given a byte sequence bytes: + return consumeBody(this, function (value) { + // 1. Let mimeType be the result of get the MIME type with this. + var mimeType = bodyMimeType(_this2); + + // 2. If mimeType is non-null, then switch on mimeType’s essence and run + // the corresponding steps: + if (mimeType !== null) { + switch (mimeType.essence) { + case 'multipart/form-data': + { + // 1. ... [long step] + var parsed = multipartFormDataParser(value, mimeType); + + // 2. If that fails for some reason, then throw a TypeError. + if (parsed === 'failure') { + throw new TypeError('Failed to parse body as FormData.'); + } + // 3. Return a new FormData object, appending each entry, + // resulting from the parsing operation, to its entry list. + var fd = new FormData(); + fd[kState] = parsed; + return fd; + } + case 'application/x-www-form-urlencoded': + { + // 1. Let entries be the result of parsing bytes. + var entries = new URLSearchParams(value.toString()); + + // 2. If entries is failure, then throw a TypeError. + + // 3. Return a new FormData object whose entry list is entries. + var _fd = new FormData(); + var _iterator2 = _createForOfIteratorHelper(entries), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _step2$value = _slicedToArray(_step2.value, 2), + name = _step2$value[0], + _value = _step2$value[1]; + _fd.append(name, _value); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + return _fd; + } + } + } + // 3. Throw a TypeError. + throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'); + }, instance); + }, + bytes: function bytes() { + // The bytes() method steps are to return the result of running consume body + // with this and the following step given a byte sequence bytes: return the + // result of creating a Uint8Array from bytes in this’s relevant realm. + return consumeBody(this, function (bytes) { + return new Uint8Array(bytes); + }, instance); + } + }; + return methods; +} +function mixinBody(prototype) { + Object.assign(prototype.prototype, bodyMixinMethods(prototype)); +} /** - * Splits a given list or string at a given index. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig Number -> [a] -> [[a], [a]] - * @sig Number -> String -> [String, String] - * @param {Number} index The index where the array/string is split. - * @param {Array|String} array The array/string to be split. - * @return {Array} - * @example - * - * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]] - * R.splitAt(5, 'hello world'); //=> ['hello', ' world'] - * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r'] + * @see https://fetch.spec.whatwg.org/#concept-body-consume-body + * @param {Response|Request} object + * @param {(value: unknown) => unknown} convertBytesToJSValue + * @param {Response|Request} instance */ +function consumeBody(_x, _x2, _x3) { + return _consumeBody.apply(this, arguments); +} // https://fetch.spec.whatwg.org/#body-unusable +function _consumeBody() { + _consumeBody = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(object, convertBytesToJSValue, instance) { + var promise, errorSteps, successSteps; + return _regenerator().w(function (_context6) { + while (1) switch (_context6.n) { + case 0: + webidl.brandCheck(object, instance); + + // 1. If object is unusable, then return a promise rejected + // with a TypeError. + if (!bodyUnusable(object)) { + _context6.n = 1; + break; + } + throw new TypeError('Body is unusable: Body has already been read'); + case 1: + throwIfAborted(object[kState]); + + // 2. Let promise be a new promise. + promise = createDeferredPromise(); // 3. Let errorSteps given error be to reject promise with error. + errorSteps = function errorSteps(error) { + return promise.reject(error); + }; // 4. Let successSteps given a byte sequence data be to resolve + // promise with the result of running convertBytesToJSValue + // with data. If that threw an exception, then run errorSteps + // with that exception. + successSteps = function successSteps(data) { + try { + promise.resolve(convertBytesToJSValue(data)); + } catch (e) { + errorSteps(e); + } + }; // 5. If object’s body is null, then run successSteps with an + // empty byte sequence. + if (!(object[kState].body == null)) { + _context6.n = 2; + break; + } + successSteps(Buffer.allocUnsafe(0)); + return _context6.a(2, promise.promise); + case 2: + _context6.n = 3; + return fullyReadBody(object[kState].body, successSteps, errorSteps); + case 3: + return _context6.a(2, promise.promise); + } + }, _callee6); + })); + return _consumeBody.apply(this, arguments); +} +function bodyUnusable(object) { + var body = object[kState].body; -var splitAt = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function splitAt(index, array) { - return [slice(0, index, array), slice(index, length(array), array)]; -}))); -/* harmony default export */ const es_splitAt = ((/* unused pure expression or super */ null && (splitAt))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/splitEvery.js - + // An object including the Body interface mixin is + // said to be unusable if its body is non-null and + // its body’s stream is disturbed or locked. + return body != null && (body.stream.locked || util.isDisturbed(body.stream)); +} /** - * Splits a collection into slices of the specified length. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [[a]] - * @sig Number -> String -> [String] - * @param {Number} n - * @param {Array} list - * @return {Array} - * @example - * - * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]] - * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz'] + * @see https://infra.spec.whatwg.org/#parse-json-bytes-to-a-javascript-value + * @param {Uint8Array} bytes */ +function parseJSONFromBytes(bytes) { + return JSON.parse(utf8DecodeBytes(bytes)); +} -var splitEvery = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function splitEvery(n, list) { - if (n <= 0) { - throw new Error('First argument to splitEvery must be a positive integer'); - } - var result = []; - var idx = 0; - while (idx < list.length) { - result.push(slice(idx, idx += n, list)); +/** + * @see https://fetch.spec.whatwg.org/#concept-body-mime-type + * @param {import('./response').Response|import('./request').Request} requestOrResponse + */ +function bodyMimeType(requestOrResponse) { + // 1. Let headers be null. + // 2. If requestOrResponse is a Request object, then set headers to requestOrResponse’s request’s header list. + // 3. Otherwise, set headers to requestOrResponse’s response’s header list. + /** @type {import('./headers').HeadersList} */ + var headers = requestOrResponse[kState].headersList; + + // 4. Let mimeType be the result of extracting a MIME type from headers. + var mimeType = extractMimeType(headers); + + // 5. If mimeType is failure, then return null. + if (mimeType === 'failure') { + return null; } - return result; -}))); -/* harmony default export */ const es_splitEvery = ((/* unused pure expression or super */ null && (splitEvery))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/startsWith.js + // 6. Return mimeType. + return mimeType; +} +module.exports = { + extractBody: extractBody, + safelyExtractBody: safelyExtractBody, + cloneBody: cloneBody, + mixinBody: mixinBody, + streamRegistry: streamRegistry, + hasFinalizationRegistry: hasFinalizationRegistry, + bodyUnusable: bodyUnusable +}; +/***/ }, -/** - * Checks if a list starts with the provided sublist. - * - * Similarly, checks if a string starts with the provided substring. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category List - * @sig [a] -> [a] -> Boolean - * @sig String -> String -> Boolean - * @param {*} prefix - * @param {*} list - * @return {Boolean} - * @see R.endsWith - * @example - * - * R.startsWith('a', 'abc') //=> true - * R.startsWith('b', 'abc') //=> false - * R.startsWith(['a'], ['a', 'b', 'c']) //=> true - * R.startsWith(['b'], ['a', 'b', 'c']) //=> false - */ +/***/ 1319 +(module) { -var startsWith = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function (prefix, list) { - return equals(take(prefix.length, list), prefix); -}))); -/* harmony default export */ const es_startsWith = ((/* unused pure expression or super */ null && (startsWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/symmetricDifference.js +"use strict"; +var corsSafeListedMethods = /** @type {const} */['GET', 'HEAD', 'POST']; +var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); +var nullBodyStatus = /** @type {const} */[101, 204, 205, 304]; +var redirectStatus = /** @type {const} */[301, 302, 303, 307, 308]; +var redirectStatusSet = new Set(redirectStatus); /** - * Finds the set (i.e. no duplicates) of all elements contained in the first or - * second list, but not both. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` or `list2`, but not both. - * @see R.symmetricDifferenceWith, R.difference, R.differenceWith - * @example - * - * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] - * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] + * @see https://fetch.spec.whatwg.org/#block-bad-port */ +var badPorts = /** @type {const} */['1', '7', '9', '11', '13', '15', '17', '19', '20', '21', '22', '23', '25', '37', '42', '43', '53', '69', '77', '79', '87', '95', '101', '102', '103', '104', '109', '110', '111', '113', '115', '117', '119', '123', '135', '137', '139', '143', '161', '179', '389', '427', '465', '512', '513', '514', '515', '526', '530', '531', '532', '540', '548', '554', '556', '563', '587', '601', '636', '989', '990', '993', '995', '1719', '1720', '1723', '2049', '3659', '4045', '4190', '5060', '5061', '6000', '6566', '6665', '6666', '6667', '6668', '6669', '6679', '6697', '10080']; +var badPortsSet = new Set(badPorts); -var symmetricDifference = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function symmetricDifference(list1, list2) { - return concat(difference(list1, list2), difference(list2, list1)); -}))); -/* harmony default export */ const es_symmetricDifference = ((/* unused pure expression or super */ null && (symmetricDifference))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/symmetricDifferenceWith.js +/** + * @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policies + */ +var referrerPolicy = /** @type {const} */['', 'no-referrer', 'no-referrer-when-downgrade', 'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin', 'strict-origin-when-cross-origin', 'unsafe-url']; +var referrerPolicySet = new Set(referrerPolicy); +var requestRedirect = /** @type {const} */['follow', 'manual', 'error']; +var safeMethods = /** @type {const} */['GET', 'HEAD', 'OPTIONS', 'TRACE']; +var safeMethodsSet = new Set(safeMethods); +var requestMode = /** @type {const} */['navigate', 'same-origin', 'no-cors', 'cors']; +var requestCredentials = /** @type {const} */['omit', 'same-origin', 'include']; +var requestCache = /** @type {const} */['default', 'no-store', 'reload', 'no-cache', 'force-cache', 'only-if-cached']; +/** + * @see https://fetch.spec.whatwg.org/#request-body-header-name + */ +var requestBodyHeader = /** @type {const} */['content-encoding', 'content-language', 'content-location', 'content-type', +// See https://github.com/nodejs/undici/issues/2021 +// 'Content-Length' is a forbidden header name, which is typically +// removed in the Headers implementation. However, undici doesn't +// filter out headers, so we add it here. +'content-length']; +/** + * @see https://fetch.spec.whatwg.org/#enumdef-requestduplex + */ +var requestDuplex = /** @type {const} */['half']; /** - * Finds the set (i.e. no duplicates) of all elements contained in the first or - * second list, but not both. Duplication is determined according to the value - * returned by applying the supplied predicate to two list elements. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Relation - * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` or `list2`, but not both. - * @see R.symmetricDifference, R.difference, R.differenceWith - * @example - * - * const eqA = R.eqBy(R.prop('a')); - * const l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}]; - * const l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}]; - * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}] + * @see http://fetch.spec.whatwg.org/#forbidden-method */ +var forbiddenMethods = /** @type {const} */['CONNECT', 'TRACE', 'TRACK']; +var forbiddenMethodsSet = new Set(forbiddenMethods); +var subresource = /** @type {const} */['audio', 'audioworklet', 'font', 'image', 'manifest', 'paintworklet', 'script', 'style', 'track', 'video', 'xslt', '']; +var subresourceSet = new Set(subresource); +module.exports = { + subresource: subresource, + forbiddenMethods: forbiddenMethods, + requestBodyHeader: requestBodyHeader, + referrerPolicy: referrerPolicy, + requestRedirect: requestRedirect, + requestMode: requestMode, + requestCredentials: requestCredentials, + requestCache: requestCache, + redirectStatus: redirectStatus, + corsSafeListedMethods: corsSafeListedMethods, + nullBodyStatus: nullBodyStatus, + safeMethods: safeMethods, + badPorts: badPorts, + requestDuplex: requestDuplex, + subresourceSet: subresourceSet, + badPortsSet: badPortsSet, + redirectStatusSet: redirectStatusSet, + corsSafeListedMethodsSet: corsSafeListedMethodsSet, + safeMethodsSet: safeMethodsSet, + forbiddenMethodsSet: forbiddenMethodsSet, + referrerPolicySet: referrerPolicySet +}; + +/***/ }, + +/***/ 8388 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; -var symmetricDifferenceWith = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function symmetricDifferenceWith(pred, list1, list2) { - return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1)); -}))); -/* harmony default export */ const es_symmetricDifferenceWith = ((/* unused pure expression or super */ null && (symmetricDifferenceWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/takeLastWhile.js +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var assert = __webpack_require__(4589); +var encoder = new TextEncoder(); /** - * Returns a new list containing the last `n` elements of a given list, passing - * each value to the supplied predicate function, and terminating when the - * predicate function returns `false`. Excludes the element that caused the - * predicate function to fail. The predicate function is passed one argument: - * *(value)*. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.dropLastWhile, R.addIndex - * @example - * - * const isNotOne = x => x !== 1; - * - * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4] - * - * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda' + * @see https://mimesniff.spec.whatwg.org/#http-token-code-point */ +var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; +var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; // eslint-disable-line +var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; // eslint-disable-line +/** + * @see https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point + */ +var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; // eslint-disable-line -var takeLastWhile = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function takeLastWhile(fn, xs) { - var idx = xs.length - 1; - while (idx >= 0 && fn(xs[idx])) { - idx -= 1; - } - return slice(idx + 1, Infinity, xs); -}))); -/* harmony default export */ const es_takeLastWhile = ((/* unused pure expression or super */ null && (takeLastWhile))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xtakeWhile.js +// https://fetch.spec.whatwg.org/#data-url-processor +/** @param {URL} dataURL */ +function dataURLProcessor(dataURL) { + // 1. Assert: dataURL’s scheme is "data". + assert(dataURL.protocol === 'data:'); + // 2. Let input be the result of running the URL + // serializer on dataURL with exclude fragment + // set to true. + var input = URLSerializer(dataURL, true); + // 3. Remove the leading "data:" string from input. + input = input.slice(5); -var XTakeWhile = /*#__PURE__*/ -function () { - function XTakeWhile(f, xf) { - this.xf = xf; - this.f = f; - } - XTakeWhile.prototype['@@transducer/init'] = _xfBase.init; - XTakeWhile.prototype['@@transducer/result'] = _xfBase.result; - XTakeWhile.prototype['@@transducer/step'] = function (result, input) { - return this.f(input) ? this.xf['@@transducer/step'](result, input) : _reduced_reduced(result); + // 4. Let position point at the start of input. + var position = { + position: 0 }; - return XTakeWhile; -}(); -var _xtakeWhile = /*#__PURE__*/ -_curry2_curry2(function _xtakeWhile(f, xf) { - return new XTakeWhile(f, xf); -}); -/* harmony default export */ const internal_xtakeWhile = (_xtakeWhile); -;// CONCATENATED MODULE: ./node_modules/ramda/es/takeWhile.js + // 5. Let mimeType be the result of collecting a + // sequence of code points that are not equal + // to U+002C (,), given position. + var mimeType = collectASequenceOfCodePointsFast(',', input, position); + + // 6. Strip leading and trailing ASCII whitespace + // from mimeType. + // Undici implementation note: we need to store the + // length because if the mimetype has spaces removed, + // the wrong amount will be sliced from the input in + // step #9 + var mimeTypeLength = mimeType.length; + mimeType = removeASCIIWhitespace(mimeType, true, true); + + // 7. If position is past the end of input, then + // return failure + if (position.position >= input.length) { + return 'failure'; + } + // 8. Advance position by 1. + position.position++; + // 9. Let encodedBody be the remainder of input. + var encodedBody = input.slice(mimeTypeLength + 1); -/** - * Returns a new list containing the first `n` elements of a given list, - * passing each value to the supplied predicate function, and terminating when - * the predicate function returns `false`. Excludes the element that caused the - * predicate function to fail. The predicate function is passed one argument: - * *(value)*. - * - * Dispatches to the `takeWhile` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.dropWhile, R.transduce, R.addIndex - * @example - * - * const isNotFour = x => x !== 4; - * - * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3] - * - * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram' - */ + // 10. Let body be the percent-decoding of encodedBody. + var body = stringPercentDecode(encodedBody); -var takeWhile = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable(['takeWhile'], internal_xtakeWhile, function takeWhile(fn, xs) { - var idx = 0; - var len = xs.length; - while (idx < len && fn(xs[idx])) { - idx += 1; - } - return es_slice(0, idx, xs); -})); -/* harmony default export */ const es_takeWhile = ((/* unused pure expression or super */ null && (takeWhile))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xtap.js + // 11. If mimeType ends with U+003B (;), followed by + // zero or more U+0020 SPACE, followed by an ASCII + // case-insensitive match for "base64", then: + if (/;(\u0020){0,}base64$/i.test(mimeType)) { + // 1. Let stringBody be the isomorphic decode of body. + var stringBody = isomorphicDecode(body); + // 2. Set body to the forgiving-base64 decode of + // stringBody. + body = forgivingBase64(stringBody); -var XTap = /*#__PURE__*/ -function () { - function XTap(f, xf) { - this.xf = xf; - this.f = f; - } - XTap.prototype['@@transducer/init'] = _xfBase.init; - XTap.prototype['@@transducer/result'] = _xfBase.result; - XTap.prototype['@@transducer/step'] = function (result, input) { - this.f(input); - return this.xf['@@transducer/step'](result, input); - }; - return XTap; -}(); -var _xtap = /*#__PURE__*/ -_curry2_curry2(function _xtap(f, xf) { - return new XTap(f, xf); -}); -/* harmony default export */ const internal_xtap = (_xtap); -;// CONCATENATED MODULE: ./node_modules/ramda/es/tap.js + // 3. If body is failure, then return failure. + if (body === 'failure') { + return 'failure'; + } + // 4. Remove the last 6 code points from mimeType. + mimeType = mimeType.slice(0, -6); + // 5. Remove trailing U+0020 SPACE code points from mimeType, + // if any. + mimeType = mimeType.replace(/(\u0020)+$/, ''); -/** - * Runs the given function with the supplied object, then returns the object. - * - * Acts as a transducer if a transformer is given as second parameter. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (a -> *) -> a -> a - * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away. - * @param {*} x - * @return {*} `x`. - * @example - * - * const sayX = x => console.log('x is ' + x); - * R.tap(sayX, 100); //=> 100 - * // logs 'x is 100' - * @symb R.tap(f, a) = a - */ + // 6. Remove the last U+003B (;) code point from mimeType. + mimeType = mimeType.slice(0, -1); + } -var tap = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xtap, function tap(fn, x) { - fn(x); - return x; -})); -/* harmony default export */ const es_tap = ((/* unused pure expression or super */ null && (tap))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/test.js + // 12. If mimeType starts with U+003B (;), then prepend + // "text/plain" to mimeType. + if (mimeType.startsWith(';')) { + mimeType = 'text/plain' + mimeType; + } + // 13. Let mimeTypeRecord be the result of parsing + // mimeType. + var mimeTypeRecord = parseMIMEType(mimeType); + // 14. If mimeTypeRecord is failure, then set + // mimeTypeRecord to text/plain;charset=US-ASCII. + if (mimeTypeRecord === 'failure') { + mimeTypeRecord = parseMIMEType('text/plain;charset=US-ASCII'); + } + // 15. Return a new data: URL struct whose MIME + // type is mimeTypeRecord and body is body. + // https://fetch.spec.whatwg.org/#data-url-struct + return { + mimeType: mimeTypeRecord, + body: body + }; +} +// https://url.spec.whatwg.org/#concept-url-serializer /** - * Determines whether a given string matches a given regular expression. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category String - * @sig RegExp -> String -> Boolean - * @param {RegExp} pattern - * @param {String} str - * @return {Boolean} - * @see R.match - * @example - * - * R.test(/^x/, 'xyz'); //=> true - * R.test(/^y/, 'xyz'); //=> false + * @param {URL} url + * @param {boolean} excludeFragment */ - -var test = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function test(pattern, str) { - if (!_isRegExp(pattern)) { - throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern)); +function URLSerializer(url) { + var excludeFragment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!excludeFragment) { + return url.href; } - return _cloneRegExp(pattern).test(str); -}))); -/* harmony default export */ const es_test = ((/* unused pure expression or super */ null && (test))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/andThen.js - + var href = url.href; + var hashLength = url.hash.length; + var serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength); + if (!hashLength && href.endsWith('#')) { + return serialized.slice(0, -1); + } + return serialized; +} +// https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points /** - * Returns the result of applying the onSuccess function to the value inside - * a successfully resolved promise. This is useful for working with promises - * inside function compositions. - * - * @func - * @memberOf R - * @since v0.27.1 - * @category Function - * @sig (a -> b) -> (Promise e a) -> (Promise e b) - * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b) - * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value. - * @param {Promise} p - * @return {Promise} The result of calling `p.then(onSuccess)` - * @see R.otherwise - * @example - * - * const makeQuery = email => ({ query: { email }}); - * const fetchMember = request => - * Promise.resolve({ firstName: 'Bob', lastName: 'Loblaw', id: 42 }); - * - * //getMemberName :: String -> Promise ({ firstName, lastName }) - * const getMemberName = R.pipe( - * makeQuery, - * fetchMember, - * R.andThen(R.pick(['firstName', 'lastName'])) - * ); - * - * getMemberName('bob@gmail.com').then(console.log); + * @param {(char: string) => boolean} condition + * @param {string} input + * @param {{ position: number }} position */ +function collectASequenceOfCodePoints(condition, input, position) { + // 1. Let result be the empty string. + var result = ''; + + // 2. While position doesn’t point past the end of input and the + // code point at position within input meets the condition condition: + while (position.position < input.length && condition(input[position.position])) { + // 1. Append that code point to the end of result. + result += input[position.position]; + + // 2. Advance position by 1. + position.position++; + } -var andThen = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function andThen(f, p) { - _assertPromise('andThen', p); - return p.then(f); -}))); -/* harmony default export */ const es_andThen = ((/* unused pure expression or super */ null && (andThen))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/toLower.js + // 3. Return result. + return result; +} /** - * The lower case version of a string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category String - * @sig String -> String - * @param {String} str The string to lower case. - * @return {String} The lower case version of `str`. - * @see R.toUpper - * @example - * - * R.toLower('XYZ'); //=> 'xyz' + * A faster collectASequenceOfCodePoints that only works when comparing a single character. + * @param {string} char + * @param {string} input + * @param {{ position: number }} position */ +function collectASequenceOfCodePointsFast(_char, input, position) { + var idx = input.indexOf(_char, position.position); + var start = position.position; + if (idx === -1) { + position.position = input.length; + return input.slice(start); + } + position.position = idx; + return input.slice(start, position.position); +} -var toLower = /*#__PURE__*/ -(/* unused pure expression or super */ null && (invoker(0, 'toLowerCase'))); -/* harmony default export */ const es_toLower = ((/* unused pure expression or super */ null && (toLower))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/toUpper.js +// https://url.spec.whatwg.org/#string-percent-decode +/** @param {string} input */ +function stringPercentDecode(input) { + // 1. Let bytes be the UTF-8 encoding of input. + var bytes = encoder.encode(input); + + // 2. Return the percent-decoding of bytes. + return percentDecode(bytes); +} /** - * The upper case version of a string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category String - * @sig String -> String - * @param {String} str The string to upper case. - * @return {String} The upper case version of `str`. - * @see R.toLower - * @example - * - * R.toUpper('abc'); //=> 'ABC' + * @param {number} byte */ - -var toUpper = /*#__PURE__*/ -(/* unused pure expression or super */ null && (invoker(0, 'toUpperCase'))); -/* harmony default export */ const es_toUpper = ((/* unused pure expression or super */ null && (toUpper))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/transduce.js - - +function isHexCharByte(_byte) { + // 0-9 A-F a-f + return _byte >= 0x30 && _byte <= 0x39 || _byte >= 0x41 && _byte <= 0x46 || _byte >= 0x61 && _byte <= 0x66; +} /** - * Initializes a transducer using supplied iterator function. Returns a single - * item by iterating through the list, successively calling the transformed - * iterator function and passing it an accumulator value and the current value - * from the array, and then passing the result to the next call. - * - * The iterator function receives two values: *(acc, value)*. It will be - * wrapped as a transformer to initialize the transducer. A transformer can be - * passed directly in place of an iterator function. In both cases, iteration - * may be stopped early with the [`R.reduced`](#reduced) function. - * - * A transducer is a function that accepts a transformer and returns a - * transformer and can be composed directly. - * - * A transformer is an object that provides a 2-arity reducing iterator - * function, step, 0-arity initial value function, init, and 1-arity result - * extraction function, result. The step function is used as the iterator - * function in reduce. The result function is used to convert the final - * accumulator into the return type and in most cases is - * [`R.identity`](#identity). The init function can be used to provide an - * initial accumulator, but is ignored by transduce. - * - * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a - * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. - * @param {Function} fn The iterator function. Receives two values, the accumulator and the - * current element from the array. Wrapped as transformer, if necessary, and used to - * initialize the transducer - * @param {*} acc The initial accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.reduced, R.into - * @example - * - * const numbers = [1, 2, 3, 4]; - * const transducer = R.compose(R.map(R.add(1)), R.take(2)); - * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3] - * - * const isOdd = (x) => x % 2 !== 0; - * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1)); - * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1] + * @param {number} byte */ +function hexByteToNumber(_byte2) { + return ( + // 0-9 + _byte2 >= 0x30 && _byte2 <= 0x39 ? _byte2 - 48 + // Convert to uppercase + // ((byte & 0xDF) - 65) + 10 + : (_byte2 & 0xDF) - 55 + ); +} -var transduce = /*#__PURE__*/ -(/* unused pure expression or super */ null && (curryN(4, function transduce(xf, fn, acc, list) { - return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list); -}))); -/* harmony default export */ const es_transduce = ((/* unused pure expression or super */ null && (transduce))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/traverse.js +// https://url.spec.whatwg.org/#percent-decode +/** @param {Uint8Array} input */ +function percentDecode(input) { + var length = input.length; + // 1. Let output be an empty byte sequence. + /** @type {Uint8Array} */ + var output = new Uint8Array(length); + var j = 0; + // 2. For each byte byte in input: + for (var i = 0; i < length; ++i) { + var _byte3 = input[i]; + + // 1. If byte is not 0x25 (%), then append byte to output. + if (_byte3 !== 0x25) { + output[j++] = _byte3; + + // 2. Otherwise, if byte is 0x25 (%) and the next two bytes + // after byte in input are not in the ranges + // 0x30 (0) to 0x39 (9), 0x41 (A) to 0x46 (F), + // and 0x61 (a) to 0x66 (f), all inclusive, append byte + // to output. + } else if (_byte3 === 0x25 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) { + output[j++] = 0x25; + + // 3. Otherwise: + } else { + // 1. Let bytePoint be the two bytes after byte in input, + // decoded, and then interpreted as hexadecimal number. + // 2. Append a byte whose value is bytePoint to output. + output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]); + // 3. Skip the next two bytes in input. + i += 2; + } + } + // 3. Return output. + return length === j ? output : output.subarray(0, j); +} -/** - * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning - * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), - * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative - * into an Applicative of Traversable. - * - * Dispatches to the `traverse` method of the third argument, if present. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) - * @param {Function} of - * @param {Function} f - * @param {*} traversable - * @return {*} - * @see R.sequence - * @example - * - * // Returns `Maybe.Nothing` if the given divisor is `0` - * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) - * - * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) - * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing - */ +// https://mimesniff.spec.whatwg.org/#parse-a-mime-type +/** @param {string} input */ +function parseMIMEType(input) { + // 1. Remove any leading and trailing HTTP whitespace + // from input. + input = removeHTTPWhitespace(input, true, true); + + // 2. Let position be a position variable for input, + // initially pointing at the start of input. + var position = { + position: 0 + }; -var traverse = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function traverse(of, f, traversable) { - return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : typeof traversable.traverse === 'function' ? traversable.traverse(f, of) : sequence(of, map(f, traversable)); -}))); -/* harmony default export */ const es_traverse = ((/* unused pure expression or super */ null && (traverse))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/trim.js + // 3. Let type be the result of collecting a sequence + // of code points that are not U+002F (/) from + // input, given position. + var type = collectASequenceOfCodePointsFast('/', input, position); -var ws = "\t\n\x0B\f\r \xA0\u1680\u2000\u2001\u2002\u2003" + "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" + "\u2029\uFEFF"; -var zeroWidth = "\u200B"; -var hasProtoTrim = typeof String.prototype.trim === 'function'; -/** - * Removes (strips) whitespace from both ends of the string. - * - * @func - * @memberOf R - * @since v0.6.0 - * @category String - * @sig String -> String - * @param {String} str The string to trim. - * @return {String} Trimmed version of `str`. - * @example - * - * R.trim(' xyz '); //=> 'xyz' - * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z'] - */ - -var trim = !hasProtoTrim || /*#__PURE__*/ -ws.trim() || ! /*#__PURE__*/ -zeroWidth.trim() ? /*#__PURE__*/ -_curry1_curry1(function trim(str) { - var beginRx = new RegExp('^[' + ws + '][' + ws + ']*'); - var endRx = new RegExp('[' + ws + '][' + ws + ']*$'); - return str.replace(beginRx, '').replace(endRx, ''); -}) : /*#__PURE__*/ -_curry1_curry1(function trim(str) { - return str.trim(); -}); -/* harmony default export */ const es_trim = ((/* unused pure expression or super */ null && (trim))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/union.js + // 4. If type is the empty string or does not solely + // contain HTTP token code points, then return failure. + // https://mimesniff.spec.whatwg.org/#http-token-code-point + if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { + return 'failure'; + } + // 5. If position is past the end of input, then return + // failure + if (position.position > input.length) { + return 'failure'; + } + // 6. Advance position by 1. (This skips past U+002F (/).) + position.position++; + // 7. Let subtype be the result of collecting a sequence of + // code points that are not U+003B (;) from input, given + // position. + var subtype = collectASequenceOfCodePointsFast(';', input, position); -/** - * Combines two lists into a set (i.e. no duplicates) composed of the elements - * of each list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} as The first list. - * @param {Array} bs The second list. - * @return {Array} The first and second lists concatenated, with - * duplicates removed. - * @example - * - * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] - */ + // 8. Remove any trailing HTTP whitespace from subtype. + subtype = removeHTTPWhitespace(subtype, false, true); -var union = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -compose(es_uniq, _concat_concat)); -/* harmony default export */ const es_union = ((/* unused pure expression or super */ null && (union))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/internal/_xuniqWith.js + // 9. If subtype is the empty string or does not solely + // contain HTTP token code points, then return failure. + if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { + return 'failure'; + } + var typeLowercase = type.toLowerCase(); + var subtypeLowercase = subtype.toLowerCase(); + + // 10. Let mimeType be a new MIME type record whose type + // is type, in ASCII lowercase, and subtype is subtype, + // in ASCII lowercase. + // https://mimesniff.spec.whatwg.org/#mime-type + var mimeType = { + type: typeLowercase, + subtype: subtypeLowercase, + /** @type {Map} */ + parameters: new Map(), + // https://mimesniff.spec.whatwg.org/#mime-type-essence + essence: "".concat(typeLowercase, "/").concat(subtypeLowercase) + }; + // 11. While position is not past the end of input: + while (position.position < input.length) { + // 1. Advance position by 1. (This skips past U+003B (;).) + position.position++; + + // 2. Collect a sequence of code points that are HTTP + // whitespace from input given position. + collectASequenceOfCodePoints( + // https://fetch.spec.whatwg.org/#http-whitespace + function (_char2) { + return HTTP_WHITESPACE_REGEX.test(_char2); + }, input, position); + + // 3. Let parameterName be the result of collecting a + // sequence of code points that are not U+003B (;) + // or U+003D (=) from input, given position. + var parameterName = collectASequenceOfCodePoints(function (_char3) { + return _char3 !== ';' && _char3 !== '='; + }, input, position); + + // 4. Set parameterName to parameterName, in ASCII + // lowercase. + parameterName = parameterName.toLowerCase(); + + // 5. If position is not past the end of input, then: + if (position.position < input.length) { + // 1. If the code point at position within input is + // U+003B (;), then continue. + if (input[position.position] === ';') { + continue; + } + // 2. Advance position by 1. (This skips past U+003D (=).) + position.position++; + } -var XUniqWith = /*#__PURE__*/ -function () { - function XUniqWith(pred, xf) { - this.xf = xf; - this.pred = pred; - this.items = []; - } - XUniqWith.prototype['@@transducer/init'] = _xfBase.init; - XUniqWith.prototype['@@transducer/result'] = _xfBase.result; - XUniqWith.prototype['@@transducer/step'] = function (result, input) { - if (_includesWith(this.pred, input, this.items)) { - return result; - } else { - this.items.push(input); - return this.xf['@@transducer/step'](result, input); + // 6. If position is past the end of input, then break. + if (position.position > input.length) { + break; } - }; - return XUniqWith; -}(); -var _xuniqWith = /*#__PURE__*/ -_curry2_curry2(function _xuniqWith(pred, xf) { - return new XUniqWith(pred, xf); -}); -/* harmony default export */ const internal_xuniqWith = (_xuniqWith); -;// CONCATENATED MODULE: ./node_modules/ramda/es/uniqWith.js + // 7. Let parameterValue be null. + var parameterValue = null; + // 8. If the code point at position within input is + // U+0022 ("), then: + if (input[position.position] === '"') { + // 1. Set parameterValue to the result of collecting + // an HTTP quoted string from input, given position + // and the extract-value flag. + parameterValue = collectAnHTTPQuotedString(input, position, true); + // 2. Collect a sequence of code points that are not + // U+003B (;) from input, given position. + collectASequenceOfCodePointsFast(';', input, position); -/** - * Returns a new list containing only one copy of each element in the original - * list, based upon the value returned by applying the supplied predicate to - * two list elements. Prefers the first item if two items compare equal based - * on the predicate. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category List - * @sig ((a, a) -> Boolean) -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list The array to consider. - * @return {Array} The list of unique items. - * @example - * - * const strEq = R.eqBy(String); - * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2] - * R.uniqWith(strEq)([{}, {}]); //=> [{}] - * R.uniqWith(strEq)([1, '1', 1]); //=> [1] - * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1'] - */ + // 9. Otherwise: + } else { + // 1. Set parameterValue to the result of collecting + // a sequence of code points that are not U+003B (;) + // from input, given position. + parameterValue = collectASequenceOfCodePointsFast(';', input, position); -var uniqWith_uniqWith = /*#__PURE__*/ -_curry2_curry2( /*#__PURE__*/ -_dispatchable([], internal_xuniqWith, function (pred, list) { - var idx = 0; - var len = list.length; - var result = []; - var item; - while (idx < len) { - item = list[idx]; - if (!_includesWith(pred, item, result)) { - result[result.length] = item; + // 2. Remove any trailing HTTP whitespace from parameterValue. + parameterValue = removeHTTPWhitespace(parameterValue, false, true); + + // 3. If parameterValue is the empty string, then continue. + if (parameterValue.length === 0) { + continue; + } } - idx += 1; - } - return result; -})); -/* harmony default export */ const es_uniqWith = ((/* unused pure expression or super */ null && (uniqWith_uniqWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/unionWith.js + // 10. If all of the following are true + // - parameterName is not the empty string + // - parameterName solely contains HTTP token code points + // - parameterValue solely contains HTTP quoted-string token code points + // - mimeType’s parameters[parameterName] does not exist + // then set mimeType’s parameters[parameterName] to parameterValue. + if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { + mimeType.parameters.set(parameterName, parameterValue); + } + } + // 12. Return mimeType. + return mimeType; +} -/** - * Combines two lists into a set (i.e. no duplicates) composed of the elements - * of each list. Duplication is determined according to the value returned by - * applying the supplied predicate to two list elements. If an element exists - * in both lists, the first element from the first list will be used. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The first and second lists concatenated, with - * duplicates removed. - * @see R.union - * @example - * - * const l1 = [{a: 1}, {a: 2}]; - * const l2 = [{a: 1}, {a: 4}]; - * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}] - */ +// https://infra.spec.whatwg.org/#forgiving-base64-decode +/** @param {string} data */ +function forgivingBase64(data) { + // 1. Remove all ASCII whitespace from data. + data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, ''); // eslint-disable-line + + var dataLength = data.length; + // 2. If data’s code point length divides by 4 leaving + // no remainder, then: + if (dataLength % 4 === 0) { + // 1. If data ends with one or two U+003D (=) code points, + // then remove them from data. + if (data.charCodeAt(dataLength - 1) === 0x003D) { + --dataLength; + if (data.charCodeAt(dataLength - 1) === 0x003D) { + --dataLength; + } + } + } -var unionWith = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry3(function unionWith(pred, list1, list2) { - return uniqWith(pred, _concat(list1, list2)); -}))); -/* harmony default export */ const es_unionWith = ((/* unused pure expression or super */ null && (unionWith))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/unnest.js + // 3. If data’s code point length divides by 4 leaving + // a remainder of 1, then return failure. + if (dataLength % 4 === 1) { + return 'failure'; + } + // 4. If data contains a code point that is not one of + // U+002B (+) + // U+002F (/) + // ASCII alphanumeric + // then return failure. + if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) { + return 'failure'; + } + var buffer = Buffer.from(data, 'base64'); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); +} +// https://fetch.spec.whatwg.org/#collect-an-http-quoted-string +// tests: https://fetch.spec.whatwg.org/#example-http-quoted-string /** - * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from - * any [Chain](https://github.com/fantasyland/fantasy-land#chain). - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig Chain c => c (c a) -> c a - * @param {*} list - * @return {*} - * @see R.flatten, R.chain - * @example - * - * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]] - * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6] + * @param {string} input + * @param {{ position: number }} position + * @param {boolean?} extractValue */ +function collectAnHTTPQuotedString(input, position, extractValue) { + // 1. Let positionStart be position. + var positionStart = position.position; + + // 2. Let value be the empty string. + var value = ''; + + // 3. Assert: the code point at position within input + // is U+0022 ("). + assert(input[position.position] === '"'); + + // 4. Advance position by 1. + position.position++; + + // 5. While true: + while (true) { + // 1. Append the result of collecting a sequence of code points + // that are not U+0022 (") or U+005C (\) from input, given + // position, to value. + value += collectASequenceOfCodePoints(function (_char4) { + return _char4 !== '"' && _char4 !== '\\'; + }, input, position); + + // 2. If position is past the end of input, then break. + if (position.position >= input.length) { + break; + } -var unnest = /*#__PURE__*/ -es_chain(_identity); -/* harmony default export */ const es_unnest = ((/* unused pure expression or super */ null && (unnest))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/unwind.js - + // 3. Let quoteOrBackslash be the code point at position within + // input. + var quoteOrBackslash = input[position.position]; + // 4. Advance position by 1. + position.position++; + // 5. If quoteOrBackslash is U+005C (\), then: + if (quoteOrBackslash === '\\') { + // 1. If position is past the end of input, then append + // U+005C (\) to value and break. + if (position.position >= input.length) { + value += '\\'; + break; + } -/** - * - * Deconstructs an array field from the input documents to output a document for each element. - * Each output document is the input document with the value of the array field replaced by the element. - * - * @func - * @memberOf R - * @since v0.28.0 - * @category Object - * @sig String -> {k: [v]} -> [{k: v}] - * @param {String} key The key to determine which property of the object should be unwind - * @param {Object} object The object containing list under property named as key which is to unwind - * @return {List} A new list of object containing the value of input key having list replaced by each element in the object. - * @example - * - * R.unwind('hobbies', { - * name: 'alice', - * hobbies: ['Golf', 'Hacking'], - * colors: ['red', 'green'], - * }); - * // [ - * // { name: 'alice', hobbies: 'Golf', colors: ['red', 'green'] }, - * // { name: 'alice', hobbies: 'Hacking', colors: ['red', 'green'] } - * // ] - */ + // 2. Append the code point at position within input to value. + value += input[position.position]; -var unwind = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function (key, object) { - // If key is not in object or key is not as a list in object - if (!(key in object && _isArray(object[key]))) { - return [object]; - } // Map over object[key] which is a list and assoc each element with key + // 3. Advance position by 1. + position.position++; - return _map(function (item) { - return _assoc(key, item, object); - }, object[key]); -}))); -/* harmony default export */ const es_unwind = ((/* unused pure expression or super */ null && (unwind))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/whereEq.js + // 6. Otherwise: + } else { + // 1. Assert: quoteOrBackslash is U+0022 ("). + assert(quoteOrBackslash === '"'); + // 2. Break. + break; + } + } + // 6. If the extract-value flag is set, then return value. + if (extractValue) { + return value; + } + // 7. Return the code points from positionStart to position, + // inclusive, within input. + return input.slice(positionStart, position.position); +} /** - * Takes a spec object and a test object; returns true if the test satisfies - * the spec, false otherwise. An object satisfies the spec if, for each of the - * spec's own properties, accessing that property of the object gives the same - * value (in [`R.equals`](#equals) terms) as accessing that property of the - * spec. - * - * `whereEq` is a specialization of [`where`](#where). - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Object - * @sig {String: *} -> {String: *} -> Boolean - * @param {Object} spec - * @param {Object} testObj - * @return {Boolean} - * @see R.propEq, R.where - * @example - * - * // pred :: Object -> Boolean - * const pred = R.whereEq({a: 1, b: 2}); - * - * pred({a: 1}); //=> false - * pred({a: 1, b: 2}); //=> true - * pred({a: 1, b: 2, c: 3}); //=> true - * pred({a: 1, b: 1}); //=> false + * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type */ +function serializeAMimeType(mimeType) { + assert(mimeType !== 'failure'); + var parameters = mimeType.parameters, + essence = mimeType.essence; -var whereEq = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function whereEq(spec, testObj) { - return where(map(equals, spec), testObj); -}))); -/* harmony default export */ const es_whereEq = ((/* unused pure expression or super */ null && (whereEq))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/without.js + // 1. Let serialization be the concatenation of mimeType’s + // type, U+002F (/), and mimeType’s subtype. + var serialization = essence; + // 2. For each name → value of mimeType’s parameters: + var _iterator = _createForOfIteratorHelper(parameters.entries()), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + name = _step$value[0], + value = _step$value[1]; + // 1. Append U+003B (;) to serialization. + serialization += ';'; + + // 2. Append name to serialization. + serialization += name; + + // 3. Append U+003D (=) to serialization. + serialization += '='; + + // 4. If value does not solely contain HTTP token code + // points or value is the empty string, then: + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { + // 1. Precede each occurrence of U+0022 (") or + // U+005C (\) in value with U+005C (\). + value = value.replace(/(\\|")/g, '\\$1'); + + // 2. Prepend U+0022 (") to value. + value = '"' + value; + + // 3. Append U+0022 (") to value. + value += '"'; + } + // 5. Append value to serialization. + serialization += value; + } + // 3. Return serialization. + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return serialization; +} /** - * Returns a new list without values in the first argument. - * [`R.equals`](#equals) is used to determine equality. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig [a] -> [a] -> [a] - * @param {Array} list1 The values to be removed from `list2`. - * @param {Array} list2 The array to remove values from. - * @return {Array} The new array without values in `list1`. - * @see R.transduce, R.difference, R.remove - * @example - * - * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4] + * @see https://fetch.spec.whatwg.org/#http-whitespace + * @param {number} char */ +function isHTTPWhiteSpace(_char5) { + // "\r\n\t " + return _char5 === 0x00d || _char5 === 0x00a || _char5 === 0x009 || _char5 === 0x020; +} -var without = /*#__PURE__*/ -(/* unused pure expression or super */ null && (_curry2(function (xs, list) { - return reject(flip(_includes)(xs), list); -}))); -/* harmony default export */ const es_without = ((/* unused pure expression or super */ null && (without))); -;// CONCATENATED MODULE: ./node_modules/ramda/es/index.js - - - - - - - - - - - - - - - - +/** + * @see https://fetch.spec.whatwg.org/#http-whitespace + * @param {string} str + * @param {boolean} [leading=true] + * @param {boolean} [trailing=true] + */ +function removeHTTPWhitespace(str) { + var leading = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var trailing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + return removeChars(str, leading, trailing, isHTTPWhiteSpace); +} +/** + * @see https://infra.spec.whatwg.org/#ascii-whitespace + * @param {number} char + */ +function isASCIIWhitespace(_char6) { + // "\r\n\t\f " + return _char6 === 0x00d || _char6 === 0x00a || _char6 === 0x009 || _char6 === 0x00c || _char6 === 0x020; +} +/** + * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace + * @param {string} str + * @param {boolean} [leading=true] + * @param {boolean} [trailing=true] + */ +function removeASCIIWhitespace(str) { + var leading = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var trailing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + return removeChars(str, leading, trailing, isASCIIWhitespace); +} +/** + * @param {string} str + * @param {boolean} leading + * @param {boolean} trailing + * @param {(charCode: number) => boolean} predicate + * @returns + */ +function removeChars(str, leading, trailing, predicate) { + var lead = 0; + var trail = str.length - 1; + if (leading) { + while (lead < str.length && predicate(str.charCodeAt(lead))) lead++; + } + if (trailing) { + while (trail > 0 && predicate(str.charCodeAt(trail))) trail--; + } + return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1); +} +/** + * @see https://infra.spec.whatwg.org/#isomorphic-decode + * @param {Uint8Array} input + * @returns {string} + */ +function isomorphicDecode(input) { + // 1. To isomorphic decode a byte sequence input, return a string whose code point + // length is equal to input’s length and whose code points have the same values + // as the values of input’s bytes, in the same order. + var length = input.length; + if ((2 << 15) - 1 > length) { + return String.fromCharCode.apply(null, input); + } + var result = ''; + var i = 0; + var addition = (2 << 15) - 1; + while (i < length) { + if (i + addition > length) { + addition = length - i; + } + result += String.fromCharCode.apply(null, input.subarray(i, i += addition)); + } + return result; +} +/** + * @see https://mimesniff.spec.whatwg.org/#minimize-a-supported-mime-type + * @param {Exclude, 'failure'>} mimeType + */ +function minimizeSupportedMimeType(mimeType) { + switch (mimeType.essence) { + case 'application/ecmascript': + case 'application/javascript': + case 'application/x-ecmascript': + case 'application/x-javascript': + case 'text/ecmascript': + case 'text/javascript': + case 'text/javascript1.0': + case 'text/javascript1.1': + case 'text/javascript1.2': + case 'text/javascript1.3': + case 'text/javascript1.4': + case 'text/javascript1.5': + case 'text/jscript': + case 'text/livescript': + case 'text/x-ecmascript': + case 'text/x-javascript': + // 1. If mimeType is a JavaScript MIME type, then return "text/javascript". + return 'text/javascript'; + case 'application/json': + case 'text/json': + // 2. If mimeType is a JSON MIME type, then return "application/json". + return 'application/json'; + case 'image/svg+xml': + // 3. If mimeType’s essence is "image/svg+xml", then return "image/svg+xml". + return 'image/svg+xml'; + case 'text/xml': + case 'application/xml': + // 4. If mimeType is an XML MIME type, then return "application/xml". + return 'application/xml'; + } + // 2. If mimeType is a JSON MIME type, then return "application/json". + if (mimeType.subtype.endsWith('+json')) { + return 'application/json'; + } + // 4. If mimeType is an XML MIME type, then return "application/xml". + if (mimeType.subtype.endsWith('+xml')) { + return 'application/xml'; + } + // 5. If mimeType is supported by the user agent, then return mimeType’s essence. + // Technically, node doesn't support any mimetypes. + // 6. Return the empty string. + return ''; +} +module.exports = { + dataURLProcessor: dataURLProcessor, + URLSerializer: URLSerializer, + collectASequenceOfCodePoints: collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast: collectASequenceOfCodePointsFast, + stringPercentDecode: stringPercentDecode, + parseMIMEType: parseMIMEType, + collectAnHTTPQuotedString: collectAnHTTPQuotedString, + serializeAMimeType: serializeAMimeType, + removeChars: removeChars, + removeHTTPWhitespace: removeHTTPWhitespace, + minimizeSupportedMimeType: minimizeSupportedMimeType, + HTTP_TOKEN_CODEPOINTS: HTTP_TOKEN_CODEPOINTS, + isomorphicDecode: isomorphicDecode +}; +/***/ }, +/***/ 4997 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(6771), + kConnected = _require.kConnected, + kSize = _require.kSize; +var CompatWeakRef = /*#__PURE__*/function () { + function CompatWeakRef(value) { + _classCallCheck(this, CompatWeakRef); + this.value = value; + } + return _createClass(CompatWeakRef, [{ + key: "deref", + value: function deref() { + return this.value[kConnected] === 0 && this.value[kSize] === 0 ? undefined : this.value; + } + }]); +}(); +var CompatFinalizer = /*#__PURE__*/function () { + function CompatFinalizer(finalizer) { + _classCallCheck(this, CompatFinalizer); + this.finalizer = finalizer; + } + return _createClass(CompatFinalizer, [{ + key: "register", + value: function register(dispatcher, key) { + var _this = this; + if (dispatcher.on) { + dispatcher.on('disconnect', function () { + if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { + _this.finalizer(key); + } + }); + } + } + }, { + key: "unregister", + value: function unregister(key) {} + }]); +}(); +module.exports = function () { + // FIXME: remove workaround when the Node bug is backported to v18 + // https://github.com/nodejs/node/issues/49344#issuecomment-1741776308 + if (process.env.NODE_V8_COVERAGE && process.version.startsWith('v18')) { + process._rawDebug('Using compatibility WeakRef and FinalizationRegistry'); + return { + WeakRef: CompatWeakRef, + FinalizationRegistry: CompatFinalizer + }; + } + return { + WeakRef: WeakRef, + FinalizationRegistry: FinalizationRegistry + }; +}; +/***/ }, +/***/ 2162 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(4573), + Blob = _require.Blob, + File = _require.File; +var _require2 = __webpack_require__(4003), + kState = _require2.kState; +var _require3 = __webpack_require__(2861), + webidl = _require3.webidl; + +// TODO(@KhafraDev): remove +var FileLike = /*#__PURE__*/function () { + function FileLike(blobLike, fileName) { + var _options$lastModified; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + _classCallCheck(this, FileLike); + // TODO: argument idl type check + + // The File constructor is invoked with two or three parameters, depending + // on whether the optional dictionary parameter is used. When the File() + // constructor is invoked, user agents must run the following steps: + + // 1. Let bytes be the result of processing blob parts given fileBits and + // options. + + // 2. Let n be the fileName argument to the constructor. + var n = fileName; + + // 3. Process FilePropertyBag dictionary argument by running the following + // substeps: + + // 1. If the type member is provided and is not the empty string, let t + // be set to the type dictionary member. If t contains any characters + // outside the range U+0020 to U+007E, then set t to the empty string + // and return from these substeps. + // TODO + var t = options.type; + + // 2. Convert every character in t to ASCII lowercase. + // TODO + + // 3. If the lastModified member is provided, let d be set to the + // lastModified dictionary member. If it is not provided, set d to the + // current date and time represented as the number of milliseconds since + // the Unix Epoch (which is the equivalent of Date.now() [ECMA-262]). + var d = (_options$lastModified = options.lastModified) !== null && _options$lastModified !== void 0 ? _options$lastModified : Date.now(); + + // 4. Return a new File object F such that: + // F refers to the bytes byte sequence. + // F.size is set to the number of total bytes in bytes. + // F.name is set to n. + // F.type is set to t. + // F.lastModified is set to d. + + this[kState] = { + blobLike: blobLike, + name: n, + type: t, + lastModified: d + }; + } + return _createClass(FileLike, [{ + key: "stream", + value: function stream() { + var _this$kState$blobLike; + webidl.brandCheck(this, FileLike); + return (_this$kState$blobLike = this[kState].blobLike).stream.apply(_this$kState$blobLike, arguments); + } + }, { + key: "arrayBuffer", + value: function arrayBuffer() { + var _this$kState$blobLike2; + webidl.brandCheck(this, FileLike); + return (_this$kState$blobLike2 = this[kState].blobLike).arrayBuffer.apply(_this$kState$blobLike2, arguments); + } + }, { + key: "slice", + value: function slice() { + var _this$kState$blobLike3; + webidl.brandCheck(this, FileLike); + return (_this$kState$blobLike3 = this[kState].blobLike).slice.apply(_this$kState$blobLike3, arguments); + } + }, { + key: "text", + value: function text() { + var _this$kState$blobLike4; + webidl.brandCheck(this, FileLike); + return (_this$kState$blobLike4 = this[kState].blobLike).text.apply(_this$kState$blobLike4, arguments); + } + }, { + key: "size", + get: function get() { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.size; + } + }, { + key: "type", + get: function get() { + webidl.brandCheck(this, FileLike); + return this[kState].blobLike.type; + } + }, { + key: "name", + get: function get() { + webidl.brandCheck(this, FileLike); + return this[kState].name; + } + }, { + key: "lastModified", + get: function get() { + webidl.brandCheck(this, FileLike); + return this[kState].lastModified; + } + }, { + key: Symbol.toStringTag, + get: function get() { + return 'File'; + } + }]); +}(); +webidl.converters.Blob = webidl.interfaceConverter(Blob); +// If this function is moved to ./util.js, some tools (such as +// rollup) will warn about circular dependencies. See: +// https://github.com/nodejs/undici/issues/1629 +function isFileLike(object) { + return object instanceof File || object && (typeof object.stream === 'function' || typeof object.arrayBuffer === 'function') && object[Symbol.toStringTag] === 'File'; +} +module.exports = { + FileLike: FileLike, + isFileLike: isFileLike +}; +/***/ }, +/***/ 4188 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _globalThis$File; +var _require = __webpack_require__(6632), + isUSVString = _require.isUSVString, + bufferToLowerCasedHeaderName = _require.bufferToLowerCasedHeaderName; +var _require2 = __webpack_require__(8440), + utf8DecodeBytes = _require2.utf8DecodeBytes; +var _require3 = __webpack_require__(8388), + HTTP_TOKEN_CODEPOINTS = _require3.HTTP_TOKEN_CODEPOINTS, + isomorphicDecode = _require3.isomorphicDecode; +var _require4 = __webpack_require__(2162), + isFileLike = _require4.isFileLike; +var _require5 = __webpack_require__(7662), + makeEntry = _require5.makeEntry; +var assert = __webpack_require__(4589); +var _require6 = __webpack_require__(4573), + NodeFile = _require6.File; +var File = (_globalThis$File = globalThis.File) !== null && _globalThis$File !== void 0 ? _globalThis$File : NodeFile; +var formDataNameBuffer = Buffer.from('form-data; name="'); +var filenameBuffer = Buffer.from('; filename'); +var dd = Buffer.from('--'); +var ddcrlf = Buffer.from('--\r\n'); +/** + * @param {string} chars + */ +function isAsciiString(chars) { + for (var i = 0; i < chars.length; ++i) { + if ((chars.charCodeAt(i) & ~0x7F) !== 0) { + return false; + } + } + return true; +} +/** + * @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-boundary + * @param {string} boundary + */ +function validateBoundary(boundary) { + var length = boundary.length; + // - its length is greater or equal to 27 and lesser or equal to 70, and + if (length < 27 || length > 70) { + return false; + } + // - it is composed by bytes in the ranges 0x30 to 0x39, 0x41 to 0x5A, or + // 0x61 to 0x7A, inclusive (ASCII alphanumeric), or which are 0x27 ('), + // 0x2D (-) or 0x5F (_). + for (var i = 0; i < length; ++i) { + var cp = boundary.charCodeAt(i); + if (!(cp >= 0x30 && cp <= 0x39 || cp >= 0x41 && cp <= 0x5a || cp >= 0x61 && cp <= 0x7a || cp === 0x27 || cp === 0x2d || cp === 0x5f)) { + return false; + } + } + return true; +} +/** + * @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-parser + * @param {Buffer} input + * @param {ReturnType} mimeType + */ +function multipartFormDataParser(input, mimeType) { + // 1. Assert: mimeType’s essence is "multipart/form-data". + assert(mimeType !== 'failure' && mimeType.essence === 'multipart/form-data'); + var boundaryString = mimeType.parameters.get('boundary'); + + // 2. If mimeType’s parameters["boundary"] does not exist, return failure. + // Otherwise, let boundary be the result of UTF-8 decoding mimeType’s + // parameters["boundary"]. + if (boundaryString === undefined) { + return 'failure'; + } + var boundary = Buffer.from("--".concat(boundaryString), 'utf8'); + // 3. Let entry list be an empty entry list. + var entryList = []; + // 4. Let position be a pointer to a byte in input, initially pointing at + // the first byte. + var position = { + position: 0 + }; + // Note: undici addition, allows leading and trailing CRLFs. + while (input[position.position] === 0x0d && input[position.position + 1] === 0x0a) { + position.position += 2; + } + var trailing = input.length; + while (input[trailing - 1] === 0x0a && input[trailing - 2] === 0x0d) { + trailing -= 2; + } + if (trailing !== input.length) { + input = input.subarray(0, trailing); + } + // 5. While true: + while (true) { + // 5.1. If position points to a sequence of bytes starting with 0x2D 0x2D + // (`--`) followed by boundary, advance position by 2 + the length of + // boundary. Otherwise, return failure. + // Note: boundary is padded with 2 dashes already, no need to add 2. + if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) { + position.position += boundary.length; + } else { + return 'failure'; + } + // 5.2. If position points to the sequence of bytes 0x2D 0x2D 0x0D 0x0A + // (`--` followed by CR LF) followed by the end of input, return entry list. + // Note: a body does NOT need to end with CRLF. It can end with --. + if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) { + return entryList; + } + // 5.3. If position does not point to a sequence of bytes starting with 0x0D + // 0x0A (CR LF), return failure. + if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) { + return 'failure'; + } + // 5.4. Advance position by 2. (This skips past the newline.) + position.position += 2; + // 5.5. Let name, filename and contentType be the result of parsing + // multipart/form-data headers on input and position, if the result + // is not failure. Otherwise, return failure. + var result = parseMultipartFormDataHeaders(input, position); + if (result === 'failure') { + return 'failure'; + } + var name = result.name, + filename = result.filename, + contentType = result.contentType, + encoding = result.encoding; + + // 5.6. Advance position by 2. (This skips past the empty line that marks + // the end of the headers.) + position.position += 2; + + // 5.7. Let body be the empty byte sequence. + var body = void 0; + + // 5.8. Body loop: While position is not past the end of input: + // TODO: the steps here are completely wrong + { + var boundaryIndex = input.indexOf(boundary.subarray(2), position.position); + if (boundaryIndex === -1) { + return 'failure'; + } + body = input.subarray(position.position, boundaryIndex - 4); + position.position += body.length; + // Note: position must be advanced by the body's length before being + // decoded, otherwise the parsing will fail. + if (encoding === 'base64') { + body = Buffer.from(body.toString(), 'base64'); + } + } + // 5.9. If position does not point to a sequence of bytes starting with + // 0x0D 0x0A (CR LF), return failure. Otherwise, advance position by 2. + if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) { + return 'failure'; + } else { + position.position += 2; + } + // 5.10. If filename is not null: + var value = void 0; + if (filename !== null) { + // 5.10.1. If contentType is null, set contentType to "text/plain". + contentType !== null && contentType !== void 0 ? contentType : contentType = 'text/plain'; + // 5.10.2. If contentType is not an ASCII string, set contentType to the empty string. + // Note: `buffer.isAscii` can be used at zero-cost, but converting a string to a buffer is a high overhead. + // Content-Type is a relatively small string, so it is faster to use `String#charCodeAt`. + if (!isAsciiString(contentType)) { + contentType = ''; + } + // 5.10.3. Let value be a new File object with name filename, type contentType, and body body. + value = new File([body], filename, { + type: contentType + }); + } else { + // 5.11. Otherwise: + // 5.11.1. Let value be the UTF-8 decoding without BOM of body. + value = utf8DecodeBytes(Buffer.from(body)); + } + // 5.12. Assert: name is a scalar value string and value is either a scalar value string or a File object. + assert(isUSVString(name)); + assert(typeof value === 'string' && isUSVString(value) || isFileLike(value)); + // 5.13. Create an entry with name and value, and append it to entry list. + entryList.push(makeEntry(name, value, filename)); + } +} +/** + * @see https://andreubotella.github.io/multipart-form-data/#parse-multipart-form-data-headers + * @param {Buffer} input + * @param {{ position: number }} position + */ +function parseMultipartFormDataHeaders(input, position) { + // 1. Let name, filename and contentType be null. + var name = null; + var filename = null; + var contentType = null; + var encoding = null; + + // 2. While true: + while (true) { + // 2.1. If position points to a sequence of bytes starting with 0x0D 0x0A (CR LF): + if (input[position.position] === 0x0d && input[position.position + 1] === 0x0a) { + // 2.1.1. If name is null, return failure. + if (name === null) { + return 'failure'; + } + // 2.1.2. Return name, filename and contentType. + return { + name: name, + filename: filename, + contentType: contentType, + encoding: encoding + }; + } + // 2.2. Let header name be the result of collecting a sequence of bytes that are + // not 0x0A (LF), 0x0D (CR) or 0x3A (:), given position. + var headerName = collectASequenceOfBytes(function (_char) { + return _char !== 0x0a && _char !== 0x0d && _char !== 0x3a; + }, input, position); + // 2.3. Remove any HTTP tab or space bytes from the start or end of header name. + headerName = removeChars(headerName, true, true, function (_char2) { + return _char2 === 0x9 || _char2 === 0x20; + }); + // 2.4. If header name does not match the field-name token production, return failure. + if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) { + return 'failure'; + } + // 2.5. If the byte at position is not 0x3A (:), return failure. + if (input[position.position] !== 0x3a) { + return 'failure'; + } + // 2.6. Advance position by 1. + position.position++; + + // 2.7. Collect a sequence of bytes that are HTTP tab or space bytes given position. + // (Do nothing with those bytes.) + collectASequenceOfBytes(function (_char3) { + return _char3 === 0x20 || _char3 === 0x09; + }, input, position); + + // 2.8. Byte-lowercase header name and switch on the result: + switch (bufferToLowerCasedHeaderName(headerName)) { + case 'content-disposition': + { + // 1. Set name and filename to null. + name = filename = null; + + // 2. If position does not point to a sequence of bytes starting with + // `form-data; name="`, return failure. + if (!bufferStartsWith(input, formDataNameBuffer, position)) { + return 'failure'; + } + // 3. Advance position so it points at the byte after the next 0x22 (") + // byte (the one in the sequence of bytes matched above). + position.position += 17; + // 4. Set name to the result of parsing a multipart/form-data name given + // input and position, if the result is not failure. Otherwise, return + // failure. + name = parseMultipartFormDataName(input, position); + if (name === null) { + return 'failure'; + } + // 5. If position points to a sequence of bytes starting with `; filename="`: + if (bufferStartsWith(input, filenameBuffer, position)) { + // Note: undici also handles filename* + var check = position.position + filenameBuffer.length; + if (input[check] === 0x2a) { + position.position += 1; + check += 1; + } + if (input[check] !== 0x3d || input[check + 1] !== 0x22) { + // =" + return 'failure'; + } + // 1. Advance position so it points at the byte after the next 0x22 (") byte + // (the one in the sequence of bytes matched above). + position.position += 12; + // 2. Set filename to the result of parsing a multipart/form-data name given + // input and position, if the result is not failure. Otherwise, return failure. + filename = parseMultipartFormDataName(input, position); + if (filename === null) { + return 'failure'; + } + } + break; + } + case 'content-type': + { + // 1. Let header value be the result of collecting a sequence of bytes that are + // not 0x0A (LF) or 0x0D (CR), given position. + var headerValue = collectASequenceOfBytes(function (_char4) { + return _char4 !== 0x0a && _char4 !== 0x0d; + }, input, position); + + // 2. Remove any HTTP tab or space bytes from the end of header value. + headerValue = removeChars(headerValue, false, true, function (_char5) { + return _char5 === 0x9 || _char5 === 0x20; + }); + // 3. Set contentType to the isomorphic decoding of header value. + contentType = isomorphicDecode(headerValue); + break; + } + case 'content-transfer-encoding': + { + var _headerValue = collectASequenceOfBytes(function (_char6) { + return _char6 !== 0x0a && _char6 !== 0x0d; + }, input, position); + _headerValue = removeChars(_headerValue, false, true, function (_char7) { + return _char7 === 0x9 || _char7 === 0x20; + }); + encoding = isomorphicDecode(_headerValue); + break; + } + default: + { + // Collect a sequence of bytes that are not 0x0A (LF) or 0x0D (CR), given position. + // (Do nothing with those bytes.) + collectASequenceOfBytes(function (_char8) { + return _char8 !== 0x0a && _char8 !== 0x0d; + }, input, position); + } + } + // 2.9. If position does not point to a sequence of bytes starting with 0x0D 0x0A + // (CR LF), return failure. Otherwise, advance position by 2 (past the newline). + if (input[position.position] !== 0x0d && input[position.position + 1] !== 0x0a) { + return 'failure'; + } else { + position.position += 2; + } + } +} +/** + * @see https://andreubotella.github.io/multipart-form-data/#parse-a-multipart-form-data-name + * @param {Buffer} input + * @param {{ position: number }} position + */ +function parseMultipartFormDataName(input, position) { + // 1. Assert: The byte at (position - 1) is 0x22 ("). + assert(input[position.position - 1] === 0x22); + + // 2. Let name be the result of collecting a sequence of bytes that are not 0x0A (LF), 0x0D (CR) or 0x22 ("), given position. + /** @type {string | Buffer} */ + var name = collectASequenceOfBytes(function (_char9) { + return _char9 !== 0x0a && _char9 !== 0x0d && _char9 !== 0x22; + }, input, position); + + // 3. If the byte at position is not 0x22 ("), return failure. Otherwise, advance position by 1. + if (input[position.position] !== 0x22) { + return null; // name could be 'failure' + } else { + position.position++; + } + // 4. Replace any occurrence of the following subsequences in name with the given byte: + // - `%0A`: 0x0A (LF) + // - `%0D`: 0x0D (CR) + // - `%22`: 0x22 (") + name = new TextDecoder().decode(name).replace(/%0A/ig, '\n').replace(/%0D/ig, '\r').replace(/%22/g, '"'); + // 5. Return the UTF-8 decoding without BOM of name. + return name; +} +/** + * @param {(char: number) => boolean} condition + * @param {Buffer} input + * @param {{ position: number }} position + */ +function collectASequenceOfBytes(condition, input, position) { + var start = position.position; + while (start < input.length && condition(input[start])) { + ++start; + } + return input.subarray(position.position, position.position = start); +} +/** + * @param {Buffer} buf + * @param {boolean} leading + * @param {boolean} trailing + * @param {(charCode: number) => boolean} predicate + * @returns {Buffer} + */ +function removeChars(buf, leading, trailing, predicate) { + var lead = 0; + var trail = buf.length - 1; + if (leading) { + while (lead < buf.length && predicate(buf[lead])) lead++; + } + if (trailing) { + while (trail > 0 && predicate(buf[trail])) trail--; + } + return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1); +} +/** + * Checks if {@param buffer} starts with {@param start} + * @param {Buffer} buffer + * @param {Buffer} start + * @param {{ position: number }} position + */ +function bufferStartsWith(buffer, start, position) { + if (buffer.length < start.length) { + return false; + } + for (var i = 0; i < start.length; i++) { + if (start[i] !== buffer[position.position + i]) { + return false; + } + } + return true; +} +module.exports = { + multipartFormDataParser: multipartFormDataParser, + validateBoundary: validateBoundary +}; +/***/ }, +/***/ 7662 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +var _defineProperty = (__webpack_require__(3693)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _globalThis$File; +var _require = __webpack_require__(8440), + isBlobLike = _require.isBlobLike, + iteratorMixin = _require.iteratorMixin; +var _require2 = __webpack_require__(4003), + kState = _require2.kState; +var _require3 = __webpack_require__(6632), + kEnumerableProperty = _require3.kEnumerableProperty; +var _require4 = __webpack_require__(2162), + FileLike = _require4.FileLike, + isFileLike = _require4.isFileLike; +var _require5 = __webpack_require__(2861), + webidl = _require5.webidl; +var _require6 = __webpack_require__(4573), + NativeFile = _require6.File; +var nodeUtil = __webpack_require__(7975); + +/** @type {globalThis['File']} */ +var File = (_globalThis$File = globalThis.File) !== null && _globalThis$File !== void 0 ? _globalThis$File : NativeFile; + +// https://xhr.spec.whatwg.org/#formdata +var FormData = /*#__PURE__*/function (_nodeUtil$inspect$cus) { + function FormData(form) { + _classCallCheck(this, FormData); + webidl.util.markAsUncloneable(this); + if (form !== undefined) { + throw webidl.errors.conversionFailed({ + prefix: 'FormData constructor', + argument: 'Argument 1', + types: ['undefined'] + }); + } + this[kState] = []; + } + return _createClass(FormData, [{ + key: "append", + value: function append(name, value) { + var filename = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; + webidl.brandCheck(this, FormData); + var prefix = 'FormData.append'; + webidl.argumentLengthCheck(arguments, 2, prefix); + if (arguments.length === 3 && !isBlobLike(value)) { + throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"); + } + // 1. Let value be value if given; otherwise blobValue. + name = webidl.converters.USVString(name, prefix, 'name'); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, 'value', { + strict: false + }) : webidl.converters.USVString(value, prefix, 'value'); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, 'filename') : undefined; + // 2. Let entry be the result of creating an entry with + // name, value, and filename if given. + var entry = makeEntry(name, value, filename); + // 3. Append entry to this’s entry list. + this[kState].push(entry); + } + }, { + key: "delete", + value: function _delete(name) { + webidl.brandCheck(this, FormData); + var prefix = 'FormData.delete'; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, 'name'); + + // The delete(name) method steps are to remove all entries whose name + // is name from this’s entry list. + this[kState] = this[kState].filter(function (entry) { + return entry.name !== name; + }); + } + }, { + key: "get", + value: function get(name) { + webidl.brandCheck(this, FormData); + var prefix = 'FormData.get'; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, 'name'); + + // 1. If there is no entry whose name is name in this’s entry list, + // then return null. + var idx = this[kState].findIndex(function (entry) { + return entry.name === name; + }); + if (idx === -1) { + return null; + } + // 2. Return the value of the first entry whose name is name from + // this’s entry list. + return this[kState][idx].value; + } + }, { + key: "getAll", + value: function getAll(name) { + webidl.brandCheck(this, FormData); + var prefix = 'FormData.getAll'; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, 'name'); + + // 1. If there is no entry whose name is name in this’s entry list, + // then return the empty list. + // 2. Return the values of all entries whose name is name, in order, + // from this’s entry list. + return this[kState].filter(function (entry) { + return entry.name === name; + }).map(function (entry) { + return entry.value; + }); + } + }, { + key: "has", + value: function has(name) { + webidl.brandCheck(this, FormData); + var prefix = 'FormData.has'; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, 'name'); + + // The has(name) method steps are to return true if there is an entry + // whose name is name in this’s entry list; otherwise false. + return this[kState].findIndex(function (entry) { + return entry.name === name; + }) !== -1; + } + }, { + key: "set", + value: function set(name, value) { + var filename = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; + webidl.brandCheck(this, FormData); + var prefix = 'FormData.set'; + webidl.argumentLengthCheck(arguments, 2, prefix); + if (arguments.length === 3 && !isBlobLike(value)) { + throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"); + } + // The set(name, value) and set(name, blobValue, filename) method steps + // are: + // 1. Let value be value if given; otherwise blobValue. + name = webidl.converters.USVString(name, prefix, 'name'); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, 'name', { + strict: false + }) : webidl.converters.USVString(value, prefix, 'name'); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, 'name') : undefined; + // 2. Let entry be the result of creating an entry with name, value, and + // filename if given. + var entry = makeEntry(name, value, filename); + // 3. If there are entries in this’s entry list whose name is name, then + // replace the first such entry with entry and remove the others. + var idx = this[kState].findIndex(function (entry) { + return entry.name === name; + }); + if (idx !== -1) { + this[kState] = [].concat(_toConsumableArray(this[kState].slice(0, idx)), [entry], _toConsumableArray(this[kState].slice(idx + 1).filter(function (entry) { + return entry.name !== name; + }))); + } else { + // 4. Otherwise, append entry to this’s entry list. + this[kState].push(entry); + } + } + }, { + key: _nodeUtil$inspect$cus, + value: function value(depth, options) { + var _options$depth, _options$colors; + var state = this[kState].reduce(function (a, b) { + if (a[b.name]) { + if (Array.isArray(a[b.name])) { + a[b.name].push(b.value); + } else { + a[b.name] = [a[b.name], b.value]; + } + } else { + a[b.name] = b.value; + } + return a; + }, { + __proto__: null + }); + (_options$depth = options.depth) !== null && _options$depth !== void 0 ? _options$depth : options.depth = depth; + (_options$colors = options.colors) !== null && _options$colors !== void 0 ? _options$colors : options.colors = true; + var output = nodeUtil.formatWithOptions(options, state); + // remove [Object null prototype] + return "FormData ".concat(output.slice(output.indexOf(']') + 2)); + } + }]); +}(nodeUtil.inspect.custom); +iteratorMixin('FormData', FormData, kState, 'name', 'value'); +Object.defineProperties(FormData.prototype, _defineProperty({ + append: kEnumerableProperty, + "delete": kEnumerableProperty, + get: kEnumerableProperty, + getAll: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty +}, Symbol.toStringTag, { + value: 'FormData', + configurable: true +})); +/** + * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#create-an-entry + * @param {string} name + * @param {string|Blob} value + * @param {?string} filename + * @returns + */ +function makeEntry(name, value, filename) { + // 1. Set name to the result of converting name into a scalar value string. + // Note: This operation was done by the webidl converter USVString. + + // 2. If value is a string, then set value to the result of converting + // value into a scalar value string. + if (typeof value === 'string') { + // Note: This operation was done by the webidl converter USVString. + } else { + // 3. Otherwise: + + // 1. If value is not a File object, then set value to a new File object, + // representing the same bytes, whose name attribute value is "blob" + if (!isFileLike(value)) { + value = value instanceof Blob ? new File([value], 'blob', { + type: value.type + }) : new FileLike(value, 'blob', { + type: value.type + }); + } + // 2. If filename is given, then set value to a new File object, + // representing the same bytes, whose name attribute is filename. + if (filename !== undefined) { + /** @type {FilePropertyBag} */ + var options = { + type: value.type, + lastModified: value.lastModified + }; + value = value instanceof NativeFile ? new File([value], filename, options) : new FileLike(value, filename, options); + } + } + // 4. Return an entry whose name is name and whose value is value. + return { + name: name, + value: value + }; +} +module.exports = { + FormData: FormData, + makeEntry: makeEntry +}; +/***/ }, +/***/ 2795 +(module) { +"use strict"; +// In case of breaking changes, increase the version +// number to avoid conflicts. +var globalOrigin = Symbol["for"]('undici.globalOrigin.1'); +function getGlobalOrigin() { + return globalThis[globalOrigin]; +} +function setGlobalOrigin(newOrigin) { + if (newOrigin === undefined) { + Object.defineProperty(globalThis, globalOrigin, { + value: undefined, + writable: true, + enumerable: false, + configurable: false + }); + return; + } + var parsedURL = new URL(newOrigin); + if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { + throw new TypeError("Only http & https urls are allowed, received ".concat(parsedURL.protocol)); + } + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); +} +module.exports = { + getGlobalOrigin: getGlobalOrigin, + setGlobalOrigin: setGlobalOrigin +}; +/***/ }, +/***/ 8588 +(module, __unused_webpack_exports, __webpack_require__) { +"use strict"; +// https://github.com/Ethan-Arrowood/undici-fetch + + + +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _util$inspect$custom; +var _require = __webpack_require__(6771), + kConstruct = _require.kConstruct; +var _require2 = __webpack_require__(6632), + kEnumerableProperty = _require2.kEnumerableProperty; +var _require3 = __webpack_require__(8440), + iteratorMixin = _require3.iteratorMixin, + isValidHeaderName = _require3.isValidHeaderName, + isValidHeaderValue = _require3.isValidHeaderValue; +var _require4 = __webpack_require__(2861), + webidl = _require4.webidl; +var assert = __webpack_require__(4589); +var util = __webpack_require__(7975); +var kHeadersMap = Symbol('headers map'); +var kHeadersSortedMap = Symbol('headers map sorted'); +/** + * @param {number} code + */ +function isHTTPWhiteSpaceCharCode(code) { + return code === 0x00a || code === 0x00d || code === 0x009 || code === 0x020; +} +/** + * @see https://fetch.spec.whatwg.org/#concept-header-value-normalize + * @param {string} potentialValue + */ +function headerValueNormalize(potentialValue) { + // To normalize a byte sequence potentialValue, remove + // any leading and trailing HTTP whitespace bytes from + // potentialValue. + var i = 0; + var j = potentialValue.length; + while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j; + while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i; + return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j); +} +function fill(headers, object) { + // To fill a Headers object headers with a given object object, run these steps: + + // 1. If object is a sequence, then for each header in object: + // Note: webidl conversion to array has already been done. + if (Array.isArray(object)) { + for (var i = 0; i < object.length; ++i) { + var header = object[i]; + // 1. If header does not contain exactly two items, then throw a TypeError. + if (header.length !== 2) { + throw webidl.errors.exception({ + header: 'Headers constructor', + message: "expected name/value pair to be length 2, found ".concat(header.length, ".") + }); + } + // 2. Append (header’s first item, header’s second item) to headers. + appendHeader(headers, header[0], header[1]); + } + } else if (typeof object === 'object' && object !== null) { + // Note: null should throw + + // 2. Otherwise, object is a record, then for each key → value in object, + // append (key, value) to headers + var keys = Object.keys(object); + for (var _i = 0; _i < keys.length; ++_i) { + appendHeader(headers, keys[_i], object[keys[_i]]); + } + } else { + throw webidl.errors.conversionFailed({ + prefix: 'Headers constructor', + argument: 'Argument 1', + types: ['sequence>', 'record'] + }); + } +} +/** + * @see https://fetch.spec.whatwg.org/#concept-headers-append + */ +function appendHeader(headers, name, value) { + // 1. Normalize value. + value = headerValueNormalize(value); + + // 2. If name is not a header name or value is not a + // header value, then throw a TypeError. + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: 'Headers.append', + value: name, + type: 'header name' + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: 'Headers.append', + value: value, + type: 'header value' + }); + } + // 3. If headers’s guard is "immutable", then throw a TypeError. + // 4. Otherwise, if headers’s guard is "request" and name is a + // forbidden header name, return. + // 5. Otherwise, if headers’s guard is "request-no-cors": + // TODO + // Note: undici does not implement forbidden header names + if (getHeadersGuard(headers) === 'immutable') { + throw new TypeError('immutable'); + } + // 6. Otherwise, if headers’s guard is "response" and name is a + // forbidden response-header name, return. + // 7. Append (name, value) to headers’s header list. + return getHeadersList(headers).append(name, value, false); + // 8. If headers’s guard is "request-no-cors", then remove + // privileged no-CORS request headers from headers +} +function compareHeaderName(a, b) { + return a[0] < b[0] ? -1 : 1; +} +var HeadersList = /*#__PURE__*/function () { + function HeadersList(init) { + _classCallCheck(this, HeadersList); + /** @type {[string, string][]|null} */ + _defineProperty(this, "cookies", null); + if (init instanceof HeadersList) { + this[kHeadersMap] = new Map(init[kHeadersMap]); + this[kHeadersSortedMap] = init[kHeadersSortedMap]; + this.cookies = init.cookies === null ? null : _toConsumableArray(init.cookies); + } else { + this[kHeadersMap] = new Map(init); + this[kHeadersSortedMap] = null; + } + } + /** + * @see https://fetch.spec.whatwg.org/#header-list-contains + * @param {string} name + * @param {boolean} isLowerCase + */ + return _createClass(HeadersList, [{ + key: "contains", + value: function contains(name, isLowerCase) { + // A header list list contains a header name name if list + // contains a header whose name is a byte-case-insensitive + // match for name. + + return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase()); + } + }, { + key: "clear", + value: function clear() { + this[kHeadersMap].clear(); + this[kHeadersSortedMap] = null; + this.cookies = null; + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-append + * @param {string} name + * @param {string} value + * @param {boolean} isLowerCase + */ + }, { + key: "append", + value: function append(name, value, isLowerCase) { + this[kHeadersSortedMap] = null; + + // 1. If list contains name, then set name to the first such + // header’s name. + var lowercaseName = isLowerCase ? name : name.toLowerCase(); + var exists = this[kHeadersMap].get(lowercaseName); + + // 2. Append (name, value) to list. + if (exists) { + var delimiter = lowercaseName === 'cookie' ? '; ' : ', '; + this[kHeadersMap].set(lowercaseName, { + name: exists.name, + value: "".concat(exists.value).concat(delimiter).concat(value) + }); + } else { + this[kHeadersMap].set(lowercaseName, { + name: name, + value: value + }); + } + if (lowercaseName === 'set-cookie') { + var _this$cookies; + ((_this$cookies = this.cookies) !== null && _this$cookies !== void 0 ? _this$cookies : this.cookies = []).push(value); + } + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-set + * @param {string} name + * @param {string} value + * @param {boolean} isLowerCase + */ + }, { + key: "set", + value: function set(name, value, isLowerCase) { + this[kHeadersSortedMap] = null; + var lowercaseName = isLowerCase ? name : name.toLowerCase(); + if (lowercaseName === 'set-cookie') { + this.cookies = [value]; + } + // 1. If list contains name, then set the value of + // the first such header to value and remove the + // others. + // 2. Otherwise, append header (name, value) to list. + this[kHeadersMap].set(lowercaseName, { + name: name, + value: value + }); + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-delete + * @param {string} name + * @param {boolean} isLowerCase + */ + }, { + key: "delete", + value: function _delete(name, isLowerCase) { + this[kHeadersSortedMap] = null; + if (!isLowerCase) name = name.toLowerCase(); + if (name === 'set-cookie') { + this.cookies = null; + } + this[kHeadersMap]["delete"](name); + } + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-get + * @param {string} name + * @param {boolean} isLowerCase + * @returns {string | null} + */ + }, { + key: "get", + value: function get(name, isLowerCase) { + var _this$kHeadersMap$get, _this$kHeadersMap$get2; + // 1. If list does not contain name, then return null. + // 2. Return the values of all headers in list whose name + // is a byte-case-insensitive match for name, + // separated from each other by 0x2C 0x20, in order. + return (_this$kHeadersMap$get = (_this$kHeadersMap$get2 = this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())) === null || _this$kHeadersMap$get2 === void 0 ? void 0 : _this$kHeadersMap$get2.value) !== null && _this$kHeadersMap$get !== void 0 ? _this$kHeadersMap$get : null; + } + }, { + key: Symbol.iterator, + value: /*#__PURE__*/_regenerator().m(function value() { + var _iterator, _step, _step$value, name, value, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + // use the lowercased name + _iterator = _createForOfIteratorHelper(this[kHeadersMap]); + _context.p = 1; + _iterator.s(); + case 2: + if ((_step = _iterator.n()).done) { + _context.n = 4; + break; + } + _step$value = _step.value, name = _step$value[0], value = _step$value[1].value; + _context.n = 3; + return [name, value]; + case 3: + _context.n = 2; + break; + case 4: + _context.n = 6; + break; + case 5: + _context.p = 5; + _t = _context.v; + _iterator.e(_t); + case 6: + _context.p = 6; + _iterator.f(); + return _context.f(6); + case 7: + return _context.a(2); + } + }, value, this, [[1, 5, 6, 7]]); + }) + }, { + key: "entries", + get: function get() { + var headers = {}; + if (this[kHeadersMap].size !== 0) { + var _iterator2 = _createForOfIteratorHelper(this[kHeadersMap].values()), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _step2$value = _step2.value, + name = _step2$value.name, + value = _step2$value.value; + headers[name] = value; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + return headers; + } + }, { + key: "rawValues", + value: function rawValues() { + return this[kHeadersMap].values(); + } + }, { + key: "entriesList", + get: function get() { + var headers = []; + if (this[kHeadersMap].size !== 0) { + var _iterator3 = _createForOfIteratorHelper(this[kHeadersMap]), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _step3$value = _step3.value, + lowerName = _step3$value[0], + _step3$value$ = _step3$value[1], + name = _step3$value$.name, + value = _step3$value$.value; + if (lowerName === 'set-cookie') { + var _iterator4 = _createForOfIteratorHelper(this.cookies), + _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var cookie = _step4.value; + headers.push([name, cookie]); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } else { + headers.push([name, value]); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + return headers; + } + // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set + }, { + key: "toSortedArray", + value: function toSortedArray() { + var size = this[kHeadersMap].size; + var array = new Array(size); + // In most cases, you will use the fast-path. + // fast-path: Use binary insertion sort for small arrays. + if (size <= 32) { + if (size === 0) { + // If empty, it is an empty array. To avoid the first index assignment. + return array; + } + // Improve performance by unrolling loop and avoiding double-loop. + // Double-loop-less version of the binary insertion sort. + var iterator = this[kHeadersMap][Symbol.iterator](); + var firstValue = iterator.next().value; + // set [name, value] to first index. + array[0] = [firstValue[0], firstValue[1].value]; + // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine + // 3.2.2. Assert: value is non-null. + assert(firstValue[1].value !== null); + for (var i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) { + // get next value + value = iterator.next().value; + // set [name, value] to current index. + x = array[i] = [value[0], value[1].value]; + // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine + // 3.2.2. Assert: value is non-null. + assert(x[1] !== null); + left = 0; + right = i; + // binary search + while (left < right) { + // middle index + pivot = left + (right - left >> 1); + // compare header name + if (array[pivot][0] <= x[0]) { + left = pivot + 1; + } else { + right = pivot; + } + } + if (i !== pivot) { + j = i; + while (j > left) { + array[j] = array[--j]; + } + array[left] = x; + } + } + /* c8 ignore next 4 */ + if (!iterator.next().done) { + // This is for debugging and will never be called. + throw new TypeError('Unreachable'); + } + return array; + } else { + // This case would be a rare occurrence. + // slow-path: fallback + var _i2 = 0; + var _iterator5 = _createForOfIteratorHelper(this[kHeadersMap]), + _step5; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _step5$value = _step5.value, + name = _step5$value[0], + _value = _step5$value[1].value; + array[_i2++] = [name, _value]; + // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine + // 3.2.2. Assert: value is non-null. + assert(_value !== null); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + return array.sort(compareHeaderName); + } + } + }]); +}(); // https://fetch.spec.whatwg.org/#headers-class +var _guard = /*#__PURE__*/new WeakMap(); +var _headersList = /*#__PURE__*/new WeakMap(); +_util$inspect$custom = util.inspect.custom; +var Headers = /*#__PURE__*/function () { + function Headers() { + var init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; + _classCallCheck(this, Headers); + _classPrivateFieldInitSpec(this, _guard, void 0); + _classPrivateFieldInitSpec(this, _headersList, void 0); + webidl.util.markAsUncloneable(this); + if (init === kConstruct) { + return; + } + _classPrivateFieldSet(_headersList, this, new HeadersList()); + + // The new Headers(init) constructor steps are: + + // 1. Set this’s guard to "none". + _classPrivateFieldSet(_guard, this, 'none'); + + // 2. If init is given, then fill this with init. + if (init !== undefined) { + init = webidl.converters.HeadersInit(init, 'Headers contructor', 'init'); + fill(this, init); + } + } + + // https://fetch.spec.whatwg.org/#dom-headers-append + return _createClass(Headers, [{ + key: "append", + value: function append(name, value) { + webidl.brandCheck(this, Headers); + webidl.argumentLengthCheck(arguments, 2, 'Headers.append'); + var prefix = 'Headers.append'; + name = webidl.converters.ByteString(name, prefix, 'name'); + value = webidl.converters.ByteString(value, prefix, 'value'); + return appendHeader(this, name, value); + } + + // https://fetch.spec.whatwg.org/#dom-headers-delete + }, { + key: "delete", + value: function _delete(name) { + webidl.brandCheck(this, Headers); + webidl.argumentLengthCheck(arguments, 1, 'Headers.delete'); + var prefix = 'Headers.delete'; + name = webidl.converters.ByteString(name, prefix, 'name'); + + // 1. If name is not a header name, then throw a TypeError. + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: 'Headers.delete', + value: name, + type: 'header name' + }); + } + + // 2. If this’s guard is "immutable", then throw a TypeError. + // 3. Otherwise, if this’s guard is "request" and name is a + // forbidden header name, return. + // 4. Otherwise, if this’s guard is "request-no-cors", name + // is not a no-CORS-safelisted request-header name, and + // name is not a privileged no-CORS request-header name, + // return. + // 5. Otherwise, if this’s guard is "response" and name is + // a forbidden response-header name, return. + // Note: undici does not implement forbidden header names + if (_classPrivateFieldGet(_guard, this) === 'immutable') { + throw new TypeError('immutable'); + } + + // 6. If this’s header list does not contain name, then + // return. + if (!_classPrivateFieldGet(_headersList, this).contains(name, false)) { + return; + } + + // 7. Delete name from this’s header list. + // 8. If this’s guard is "request-no-cors", then remove + // privileged no-CORS request headers from this. + _classPrivateFieldGet(_headersList, this)["delete"](name, false); + } + + // https://fetch.spec.whatwg.org/#dom-headers-get + }, { + key: "get", + value: function get(name) { + webidl.brandCheck(this, Headers); + webidl.argumentLengthCheck(arguments, 1, 'Headers.get'); + var prefix = 'Headers.get'; + name = webidl.converters.ByteString(name, prefix, 'name'); + + // 1. If name is not a header name, then throw a TypeError. + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: prefix, + value: name, + type: 'header name' + }); + } + + // 2. Return the result of getting name from this’s header + // list. + return _classPrivateFieldGet(_headersList, this).get(name, false); + } + + // https://fetch.spec.whatwg.org/#dom-headers-has + }, { + key: "has", + value: function has(name) { + webidl.brandCheck(this, Headers); + webidl.argumentLengthCheck(arguments, 1, 'Headers.has'); + var prefix = 'Headers.has'; + name = webidl.converters.ByteString(name, prefix, 'name'); + + // 1. If name is not a header name, then throw a TypeError. + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: prefix, + value: name, + type: 'header name' + }); + } + + // 2. Return true if this’s header list contains name; + // otherwise false. + return _classPrivateFieldGet(_headersList, this).contains(name, false); + } + + // https://fetch.spec.whatwg.org/#dom-headers-set + }, { + key: "set", + value: function set(name, value) { + webidl.brandCheck(this, Headers); + webidl.argumentLengthCheck(arguments, 2, 'Headers.set'); + var prefix = 'Headers.set'; + name = webidl.converters.ByteString(name, prefix, 'name'); + value = webidl.converters.ByteString(value, prefix, 'value'); + + // 1. Normalize value. + value = headerValueNormalize(value); + + // 2. If name is not a header name or value is not a + // header value, then throw a TypeError. + if (!isValidHeaderName(name)) { + throw webidl.errors.invalidArgument({ + prefix: prefix, + value: name, + type: 'header name' + }); + } else if (!isValidHeaderValue(value)) { + throw webidl.errors.invalidArgument({ + prefix: prefix, + value: value, + type: 'header value' + }); + } + + // 3. If this’s guard is "immutable", then throw a TypeError. + // 4. Otherwise, if this’s guard is "request" and name is a + // forbidden header name, return. + // 5. Otherwise, if this’s guard is "request-no-cors" and + // name/value is not a no-CORS-safelisted request-header, + // return. + // 6. Otherwise, if this’s guard is "response" and name is a + // forbidden response-header name, return. + // Note: undici does not implement forbidden header names + if (_classPrivateFieldGet(_guard, this) === 'immutable') { + throw new TypeError('immutable'); + } + + // 7. Set (name, value) in this’s header list. + // 8. If this’s guard is "request-no-cors", then remove + // privileged no-CORS request headers from this + _classPrivateFieldGet(_headersList, this).set(name, value, false); + } + + // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie + }, { + key: "getSetCookie", + value: function getSetCookie() { + webidl.brandCheck(this, Headers); + + // 1. If this’s header list does not contain `Set-Cookie`, then return « ». + // 2. Return the values of all headers in this’s header list whose name is + // a byte-case-insensitive match for `Set-Cookie`, in order. + + var list = _classPrivateFieldGet(_headersList, this).cookies; + if (list) { + return _toConsumableArray(list); + } + return []; + } + + // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine + }, { + key: kHeadersSortedMap, + get: function get() { + if (_classPrivateFieldGet(_headersList, this)[kHeadersSortedMap]) { + return _classPrivateFieldGet(_headersList, this)[kHeadersSortedMap]; + } + + // 1. Let headers be an empty list of headers with the key being the name + // and value the value. + var headers = []; + + // 2. Let names be the result of convert header names to a sorted-lowercase + // set with all the names of the headers in list. + var names = _classPrivateFieldGet(_headersList, this).toSortedArray(); + var cookies = _classPrivateFieldGet(_headersList, this).cookies; + + // fast-path + if (cookies === null || cookies.length === 1) { + // Note: The non-null assertion of value has already been done by `HeadersList#toSortedArray` + return _classPrivateFieldGet(_headersList, this)[kHeadersSortedMap] = names; + } + + // 3. For each name of names: + for (var i = 0; i < names.length; ++i) { + var _names$i = names[i], + name = _names$i[0], + value = _names$i[1]; + // 1. If name is `set-cookie`, then: + if (name === 'set-cookie') { + // 1. Let values be a list of all values of headers in list whose name + // is a byte-case-insensitive match for name, in order. + + // 2. For each value of values: + // 1. Append (name, value) to headers. + for (var j = 0; j < cookies.length; ++j) { + headers.push([name, cookies[j]]); + } + } else { + // 2. Otherwise: + + // 1. Let value be the result of getting name from list. + + // 2. Assert: value is non-null. + // Note: This operation was done by `HeadersList#toSortedArray`. + + // 3. Append (name, value) to headers. + headers.push([name, value]); + } + } + + // 4. Return headers. + return _classPrivateFieldGet(_headersList, this)[kHeadersSortedMap] = headers; + } + }, { + key: _util$inspect$custom, + value: function value(depth, options) { + var _options$depth; + (_options$depth = options.depth) !== null && _options$depth !== void 0 ? _options$depth : options.depth = depth; + return "Headers ".concat(util.formatWithOptions(options, _classPrivateFieldGet(_headersList, this).entries)); + } + }], [{ + key: "getHeadersGuard", + value: function getHeadersGuard(o) { + return _classPrivateFieldGet(_guard, o); + } + }, { + key: "setHeadersGuard", + value: function setHeadersGuard(o, guard) { + _classPrivateFieldSet(_guard, o, guard); + } + }, { + key: "getHeadersList", + value: function getHeadersList(o) { + return _classPrivateFieldGet(_headersList, o); + } + }, { + key: "setHeadersList", + value: function setHeadersList(o, list) { + _classPrivateFieldSet(_headersList, o, list); + } + }]); +}(); +var getHeadersGuard = Headers.getHeadersGuard, + setHeadersGuard = Headers.setHeadersGuard, + getHeadersList = Headers.getHeadersList, + setHeadersList = Headers.setHeadersList; +Reflect.deleteProperty(Headers, 'getHeadersGuard'); +Reflect.deleteProperty(Headers, 'setHeadersGuard'); +Reflect.deleteProperty(Headers, 'getHeadersList'); +Reflect.deleteProperty(Headers, 'setHeadersList'); +iteratorMixin('Headers', Headers, kHeadersSortedMap, 0, 1); +Object.defineProperties(Headers.prototype, _defineProperty(_defineProperty({ + append: kEnumerableProperty, + "delete": kEnumerableProperty, + get: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, + getSetCookie: kEnumerableProperty +}, Symbol.toStringTag, { + value: 'Headers', + configurable: true +}), util.inspect.custom, { + enumerable: false +})); +webidl.converters.HeadersInit = function (V, prefix, argument) { + if (webidl.util.Type(V) === 'Object') { + var iterator = Reflect.get(V, Symbol.iterator); + + // A work-around to ensure we send the properly-cased Headers when V is a Headers object. + // Read https://github.com/nodejs/undici/pull/3159#issuecomment-2075537226 before touching, please. + if (!util.types.isProxy(V) && iterator === Headers.prototype.entries) { + // Headers object + try { + return getHeadersList(V).entriesList; + } catch (_unused) { + // fall-through + } + } + if (typeof iterator === 'function') { + return webidl.converters['sequence>'](V, prefix, argument, iterator.bind(V)); + } + return webidl.converters['record'](V, prefix, argument); + } + throw webidl.errors.conversionFailed({ + prefix: 'Headers constructor', + argument: 'Argument 1', + types: ['sequence>', 'record'] + }); +}; +module.exports = { + fill: fill, + // for test. + compareHeaderName: compareHeaderName, + Headers: Headers, + HeadersList: HeadersList, + getHeadersGuard: getHeadersGuard, + setHeadersGuard: setHeadersGuard, + setHeadersList: setHeadersList, + getHeadersList: getHeadersList +}; + +/***/ }, + +/***/ 1574 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +// https://github.com/Ethan-Arrowood/undici-fetch + + + +var _regeneratorValues = (__webpack_require__(579)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _asyncGeneratorDelegate = (__webpack_require__(3513)["default"]); +var _asyncIterator = (__webpack_require__(2881)["default"]); +var _awaitAsyncGenerator = (__webpack_require__(3344)["default"]); +var _wrapAsyncGenerator = (__webpack_require__(2958)["default"]); +var _require = __webpack_require__(6803), + makeNetworkError = _require.makeNetworkError, + makeAppropriateNetworkError = _require.makeAppropriateNetworkError, + filterResponse = _require.filterResponse, + makeResponse = _require.makeResponse, + fromInnerResponse = _require.fromInnerResponse; +var _require2 = __webpack_require__(8588), + HeadersList = _require2.HeadersList; +var _require3 = __webpack_require__(1447), + Request = _require3.Request, + cloneRequest = _require3.cloneRequest; +var zlib = __webpack_require__(8522); +var _require4 = __webpack_require__(8440), + bytesMatch = _require4.bytesMatch, + makePolicyContainer = _require4.makePolicyContainer, + clonePolicyContainer = _require4.clonePolicyContainer, + requestBadPort = _require4.requestBadPort, + TAOCheck = _require4.TAOCheck, + appendRequestOriginHeader = _require4.appendRequestOriginHeader, + responseLocationURL = _require4.responseLocationURL, + requestCurrentURL = _require4.requestCurrentURL, + setRequestReferrerPolicyOnRedirect = _require4.setRequestReferrerPolicyOnRedirect, + tryUpgradeRequestToAPotentiallyTrustworthyURL = _require4.tryUpgradeRequestToAPotentiallyTrustworthyURL, + createOpaqueTimingInfo = _require4.createOpaqueTimingInfo, + appendFetchMetadata = _require4.appendFetchMetadata, + corsCheck = _require4.corsCheck, + crossOriginResourcePolicyCheck = _require4.crossOriginResourcePolicyCheck, + determineRequestsReferrer = _require4.determineRequestsReferrer, + coarsenedSharedCurrentTime = _require4.coarsenedSharedCurrentTime, + createDeferredPromise = _require4.createDeferredPromise, + isBlobLike = _require4.isBlobLike, + sameOrigin = _require4.sameOrigin, + isCancelled = _require4.isCancelled, + isAborted = _require4.isAborted, + isErrorLike = _require4.isErrorLike, + fullyReadBody = _require4.fullyReadBody, + readableStreamClose = _require4.readableStreamClose, + isomorphicEncode = _require4.isomorphicEncode, + urlIsLocal = _require4.urlIsLocal, + urlIsHttpHttpsScheme = _require4.urlIsHttpHttpsScheme, + urlHasHttpsScheme = _require4.urlHasHttpsScheme, + clampAndCoarsenConnectionTimingInfo = _require4.clampAndCoarsenConnectionTimingInfo, + simpleRangeHeaderValue = _require4.simpleRangeHeaderValue, + buildContentRange = _require4.buildContentRange, + createInflate = _require4.createInflate, + extractMimeType = _require4.extractMimeType; +var _require5 = __webpack_require__(4003), + kState = _require5.kState, + kDispatcher = _require5.kDispatcher; +var assert = __webpack_require__(4589); +var _require6 = __webpack_require__(3476), + safelyExtractBody = _require6.safelyExtractBody, + extractBody = _require6.extractBody; +var _require7 = __webpack_require__(1319), + redirectStatusSet = _require7.redirectStatusSet, + nullBodyStatus = _require7.nullBodyStatus, + safeMethodsSet = _require7.safeMethodsSet, + requestBodyHeader = _require7.requestBodyHeader, + subresourceSet = _require7.subresourceSet; +var EE = __webpack_require__(8474); +var _require8 = __webpack_require__(7075), + Readable = _require8.Readable, + pipeline = _require8.pipeline, + finished = _require8.finished; +var _require9 = __webpack_require__(6632), + addAbortListener = _require9.addAbortListener, + isErrored = _require9.isErrored, + isReadable = _require9.isReadable, + bufferToLowerCasedHeaderName = _require9.bufferToLowerCasedHeaderName; +var _require0 = __webpack_require__(8388), + dataURLProcessor = _require0.dataURLProcessor, + serializeAMimeType = _require0.serializeAMimeType, + minimizeSupportedMimeType = _require0.minimizeSupportedMimeType; +var _require1 = __webpack_require__(4397), + getGlobalDispatcher = _require1.getGlobalDispatcher; +var _require10 = __webpack_require__(2861), + webidl = _require10.webidl; +var _require11 = __webpack_require__(7067), + STATUS_CODES = _require11.STATUS_CODES; +var GET_OR_HEAD = ['GET', 'HEAD']; +var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== 'undefined' || typeof esbuildDetection !== 'undefined' ? 'node' : 'undici'; + +/** @type {import('buffer').resolveObjectURL} */ +var resolveObjectURL; +var Fetch = /*#__PURE__*/function (_EE) { + function Fetch(dispatcher) { + var _this; + _classCallCheck(this, Fetch); + _this = _callSuper(this, Fetch); + _this.dispatcher = dispatcher; + _this.connection = null; + _this.dump = false; + _this.state = 'ongoing'; + return _this; + } + _inherits(Fetch, _EE); + return _createClass(Fetch, [{ + key: "terminate", + value: function terminate(reason) { + var _this$connection; + if (this.state !== 'ongoing') { + return; + } + this.state = 'terminated'; + (_this$connection = this.connection) === null || _this$connection === void 0 || _this$connection.destroy(reason); + this.emit('terminated', reason); + } + + // https://fetch.spec.whatwg.org/#fetch-controller-abort + }, { + key: "abort", + value: function abort(error) { + var _this$connection2; + if (this.state !== 'ongoing') { + return; + } + + // 1. Set controller’s state to "aborted". + this.state = 'aborted'; + + // 2. Let fallbackError be an "AbortError" DOMException. + // 3. Set error to fallbackError if it is not given. + if (!error) { + error = new DOMException('The operation was aborted.', 'AbortError'); + } + + // 4. Let serializedError be StructuredSerialize(error). + // If that threw an exception, catch it, and let + // serializedError be StructuredSerialize(fallbackError). + + // 5. Set controller’s serialized abort reason to serializedError. + this.serializedAbortReason = error; + (_this$connection2 = this.connection) === null || _this$connection2 === void 0 || _this$connection2.destroy(error); + this.emit('terminated', error); + } + }]); +}(EE); +function handleFetchDone(response) { + finalizeAndReportTiming(response, 'fetch'); +} + +// https://fetch.spec.whatwg.org/#fetch-method +function fetch(input) { + var _globalObject$constru; + var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + webidl.argumentLengthCheck(arguments, 1, 'globalThis.fetch'); + + // 1. Let p be a new promise. + var p = createDeferredPromise(); + + // 2. Let requestObject be the result of invoking the initial value of + // Request as constructor with input and init as arguments. If this throws + // an exception, reject p with it and return p. + var requestObject; + try { + requestObject = new Request(input, init); + } catch (e) { + p.reject(e); + return p.promise; + } + + // 3. Let request be requestObject’s request. + var request = requestObject[kState]; + + // 4. If requestObject’s signal’s aborted flag is set, then: + if (requestObject.signal.aborted) { + // 1. Abort the fetch() call with p, request, null, and + // requestObject’s signal’s abort reason. + abortFetch(p, request, null, requestObject.signal.reason); + + // 2. Return p. + return p.promise; + } + + // 5. Let globalObject be request’s client’s global object. + var globalObject = request.client.globalObject; + + // 6. If globalObject is a ServiceWorkerGlobalScope object, then set + // request’s service-workers mode to "none". + if ((globalObject === null || globalObject === void 0 || (_globalObject$constru = globalObject.constructor) === null || _globalObject$constru === void 0 ? void 0 : _globalObject$constru.name) === 'ServiceWorkerGlobalScope') { + request.serviceWorkers = 'none'; + } + + // 7. Let responseObject be null. + var responseObject = null; + + // 8. Let relevantRealm be this’s relevant Realm. + + // 9. Let locallyAborted be false. + var locallyAborted = false; + + // 10. Let controller be null. + var controller = null; + + // 11. Add the following abort steps to requestObject’s signal: + addAbortListener(requestObject.signal, function () { + var _responseObject; + // 1. Set locallyAborted to true. + locallyAborted = true; + + // 2. Assert: controller is non-null. + assert(controller != null); + + // 3. Abort controller with requestObject’s signal’s abort reason. + controller.abort(requestObject.signal.reason); + var realResponse = (_responseObject = responseObject) === null || _responseObject === void 0 ? void 0 : _responseObject.deref(); + + // 4. Abort the fetch() call with p, request, responseObject, + // and requestObject’s signal’s abort reason. + abortFetch(p, request, realResponse, requestObject.signal.reason); + }); + + // 12. Let handleFetchDone given response response be to finalize and + // report timing with response, globalObject, and "fetch". + // see function handleFetchDone + + // 13. Set controller to the result of calling fetch given request, + // with processResponseEndOfBody set to handleFetchDone, and processResponse + // given response being these substeps: + + var processResponse = function processResponse(response) { + // 1. If locallyAborted is true, terminate these substeps. + if (locallyAborted) { + return; + } + + // 2. If response’s aborted flag is set, then: + if (response.aborted) { + // 1. Let deserializedError be the result of deserialize a serialized + // abort reason given controller’s serialized abort reason and + // relevantRealm. + + // 2. Abort the fetch() call with p, request, responseObject, and + // deserializedError. + + abortFetch(p, request, responseObject, controller.serializedAbortReason); + return; + } + + // 3. If response is a network error, then reject p with a TypeError + // and terminate these substeps. + if (response.type === 'error') { + p.reject(new TypeError('fetch failed', { + cause: response.error + })); + return; + } + // 4. Set responseObject to the result of creating a Response object, + // given response, "immutable", and relevantRealm. + responseObject = new WeakRef(fromInnerResponse(response, 'immutable')); + // 5. Resolve p with responseObject. + p.resolve(responseObject.deref()); + p = null; + }; + controller = fetching({ + request: request, + processResponseEndOfBody: handleFetchDone, + processResponse: processResponse, + dispatcher: requestObject[kDispatcher] // undici + }); + // 14. Return p. + return p.promise; +} +// https://fetch.spec.whatwg.org/#finalize-and-report-timing +function finalizeAndReportTiming(response) { + var _response$urlList; + var initiatorType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'other'; + // 1. If response is an aborted network error, then return. + if (response.type === 'error' && response.aborted) { + return; + } + // 2. If response’s URL list is null or empty, then return. + if (!((_response$urlList = response.urlList) !== null && _response$urlList !== void 0 && _response$urlList.length)) { + return; + } + // 3. Let originalURL be response’s URL list[0]. + var originalURL = response.urlList[0]; + // 4. Let timingInfo be response’s timing info. + var timingInfo = response.timingInfo; + // 5. Let cacheState be response’s cache state. + var cacheState = response.cacheState; + // 6. If originalURL’s scheme is not an HTTP(S) scheme, then return. + if (!urlIsHttpHttpsScheme(originalURL)) { + return; + } + // 7. If timingInfo is null, then return. + if (timingInfo === null) { + return; + } + // 8. If response’s timing allow passed flag is not set, then: + if (!response.timingAllowPassed) { + // 1. Set timingInfo to a the result of creating an opaque timing info for timingInfo. + timingInfo = createOpaqueTimingInfo({ + startTime: timingInfo.startTime + }); + // 2. Set cacheState to the empty string. + cacheState = ''; + } + // 9. Set timingInfo’s end time to the coarsened shared current time + // given global’s relevant settings object’s cross-origin isolated + // capability. + // TODO: given global’s relevant settings object’s cross-origin isolated + // capability? + timingInfo.endTime = coarsenedSharedCurrentTime(); + // 10. Set response’s timing info to timingInfo. + response.timingInfo = timingInfo; + // 11. Mark resource timing for timingInfo, originalURL, initiatorType, + // global, and cacheState. + markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState); +} +// https://w3c.github.io/resource-timing/#dfn-mark-resource-timing +var markResourceTiming = performance.markResourceTiming; +// https://fetch.spec.whatwg.org/#abort-fetch +function abortFetch(p, request, responseObject, error) { + var _request$body, _response$body; + // 1. Reject promise with error. + if (p) { + // We might have already resolved the promise at this stage + p.reject(error); + } + // 2. If request’s body is not null and is readable, then cancel request’s + // body with error. + if (request.body != null && isReadable((_request$body = request.body) === null || _request$body === void 0 ? void 0 : _request$body.stream)) { + request.body.stream.cancel(error)["catch"](function (err) { + if (err.code === 'ERR_INVALID_STATE') { + // Node bug? + return; + } + throw err; + }); + } + // 3. If responseObject is null, then return. + if (responseObject == null) { + return; + } + // 4. Let response be responseObject’s response. + var response = responseObject[kState]; + // 5. If response’s body is not null and is readable, then error response’s + // body with error. + if (response.body != null && isReadable((_response$body = response.body) === null || _response$body === void 0 ? void 0 : _response$body.stream)) { + response.body.stream.cancel(error)["catch"](function (err) { + if (err.code === 'ERR_INVALID_STATE') { + // Node bug? + return; + } + throw err; + }); + } +} +// https://fetch.spec.whatwg.org/#fetching +function fetching(_ref2) { + var request = _ref2.request, + processRequestBodyChunkLength = _ref2.processRequestBodyChunkLength, + processRequestEndOfBody = _ref2.processRequestEndOfBody, + processResponse = _ref2.processResponse, + processResponseEndOfBody = _ref2.processResponseEndOfBody, + processResponseConsumeBody = _ref2.processResponseConsumeBody, + _ref2$useParallelQueu = _ref2.useParallelQueue, + useParallelQueue = _ref2$useParallelQueu === void 0 ? false : _ref2$useParallelQueu, + _ref2$dispatcher = _ref2.dispatcher, + dispatcher = _ref2$dispatcher === void 0 ? getGlobalDispatcher() : _ref2$dispatcher; + // Ensure that the dispatcher is set accordingly + assert(dispatcher); + + // 1. Let taskDestination be null. + var taskDestination = null; + + // 2. Let crossOriginIsolatedCapability be false. + var crossOriginIsolatedCapability = false; + + // 3. If request’s client is non-null, then: + if (request.client != null) { + // 1. Set taskDestination to request’s client’s global object. + taskDestination = request.client.globalObject; + + // 2. Set crossOriginIsolatedCapability to request’s client’s cross-origin + // isolated capability. + crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; + } + // 4. If useParallelQueue is true, then set taskDestination to the result of + // starting a new parallel queue. + // TODO + // 5. Let timingInfo be a new fetch timing info whose start time and + // post-redirect start time are the coarsened shared current time given + // crossOriginIsolatedCapability. + var currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + var timingInfo = createOpaqueTimingInfo({ + startTime: currentTime + }); + // 6. Let fetchParams be a new fetch params whose + // request is request, + // timing info is timingInfo, + // process request body chunk length is processRequestBodyChunkLength, + // process request end-of-body is processRequestEndOfBody, + // process response is processResponse, + // process response consume body is processResponseConsumeBody, + // process response end-of-body is processResponseEndOfBody, + // task destination is taskDestination, + // and cross-origin isolated capability is crossOriginIsolatedCapability. + var fetchParams = { + controller: new Fetch(dispatcher), + request: request, + timingInfo: timingInfo, + processRequestBodyChunkLength: processRequestBodyChunkLength, + processRequestEndOfBody: processRequestEndOfBody, + processResponse: processResponse, + processResponseConsumeBody: processResponseConsumeBody, + processResponseEndOfBody: processResponseEndOfBody, + taskDestination: taskDestination, + crossOriginIsolatedCapability: crossOriginIsolatedCapability + }; + // 7. If request’s body is a byte sequence, then set request’s body to + // request’s body as a body. + // NOTE: Since fetching is only called from fetch, body should already be + // extracted. + assert(!request.body || request.body.stream); + + // 8. If request’s window is "client", then set request’s window to request’s + // client, if request’s client’s global object is a Window object; otherwise + // "no-window". + if (request.window === 'client') { + var _request$client; + // TODO: What if request.client is null? + request.window = ((_request$client = request.client) === null || _request$client === void 0 || (_request$client = _request$client.globalObject) === null || _request$client === void 0 || (_request$client = _request$client.constructor) === null || _request$client === void 0 ? void 0 : _request$client.name) === 'Window' ? request.client : 'no-window'; + } + // 9. If request’s origin is "client", then set request’s origin to request’s + // client’s origin. + if (request.origin === 'client') { + request.origin = request.client.origin; + } + // 10. If all of the following conditions are true: + // TODO + // 11. If request’s policy container is "client", then: + if (request.policyContainer === 'client') { + // 1. If request’s client is non-null, then set request’s policy + // container to a clone of request’s client’s policy container. [HTML] + if (request.client != null) { + request.policyContainer = clonePolicyContainer(request.client.policyContainer); + } else { + // 2. Otherwise, set request’s policy container to a new policy + // container. + request.policyContainer = makePolicyContainer(); + } + } + // 12. If request’s header list does not contain `Accept`, then: + if (!request.headersList.contains('accept', true)) { + // 1. Let value be `*/*`. + var value = '*/*'; + + // 2. A user agent should set value to the first matching statement, if + // any, switching on request’s destination: + // "document" + // "frame" + // "iframe" + // `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8` + // "image" + // `image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5` + // "style" + // `text/css,*/*;q=0.1` + // TODO + + // 3. Append `Accept`/value to request’s header list. + request.headersList.append('accept', value, true); + } + // 13. If request’s header list does not contain `Accept-Language`, then + // user agents should append `Accept-Language`/an appropriate value to + // request’s header list. + if (!request.headersList.contains('accept-language', true)) { + request.headersList.append('accept-language', '*', true); + } + // 14. If request’s priority is null, then use request’s initiator and + // destination appropriately in setting request’s priority to a + // user-agent-defined object. + if (request.priority === null) { + // TODO + } + // 15. If request is a subresource request, then: + if (subresourceSet.has(request.destination)) { + // TODO + } + // 16. Run main fetch given fetchParams. + mainFetch(fetchParams)["catch"](function (err) { + fetchParams.controller.terminate(err); + }); + // 17. Return fetchParam's controller + return fetchParams.controller; +} +// https://fetch.spec.whatwg.org/#concept-main-fetch +function mainFetch(_x2) { + return _mainFetch.apply(this, arguments); +} // https://fetch.spec.whatwg.org/#concept-scheme-fetch +// given a fetch params fetchParams +function _mainFetch() { + _mainFetch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(fetchParams) { + var recursive, + request, + response, + internalResponse, + _internalResponse$url, + processBodyError, + processBody, + _args2 = arguments; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + recursive = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false; + // 1. Let request be fetchParams’s request. + request = fetchParams.request; // 2. Let response be null. + response = null; // 3. If request’s local-URLs-only flag is set and request’s current URL is + // not local, then set response to a network error. + if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { + response = makeNetworkError('local URLs only'); + } + // 4. Run report Content Security Policy violations for request. + // TODO + // 5. Upgrade request to a potentially trustworthy URL, if appropriate. + tryUpgradeRequestToAPotentiallyTrustworthyURL(request); + // 6. If should request be blocked due to a bad port, should fetching request + // be blocked as mixed content, or should request be blocked by Content + // Security Policy returns blocked, then set response to a network error. + if (requestBadPort(request) === 'blocked') { + response = makeNetworkError('bad port'); + } + // TODO: should fetching request be blocked as mixed content? + // TODO: should request be blocked by Content Security Policy? + // 7. If request’s referrer policy is the empty string, then set request’s + // referrer policy to request’s policy container’s referrer policy. + if (request.referrerPolicy === '') { + request.referrerPolicy = request.policyContainer.referrerPolicy; + } + // 8. If request’s referrer is not "no-referrer", then set request’s + // referrer to the result of invoking determine request’s referrer. + if (request.referrer !== 'no-referrer') { + request.referrer = determineRequestsReferrer(request); + } + // 9. Set request’s current URL’s scheme to "https" if all of the following + // conditions are true: + // - request’s current URL’s scheme is "http" + // - request’s current URL’s host is a domain + // - Matching request’s current URL’s host per Known HSTS Host Domain Name + // Matching results in either a superdomain match with an asserted + // includeSubDomains directive or a congruent match (with or without an + // asserted includeSubDomains directive). [HSTS] + // TODO + + // 10. If recursive is false, then run the remaining steps in parallel. + // TODO + + // 11. If response is null, then set response to the result of running + // the steps corresponding to the first matching statement: + if (!(response === null)) { + _context2.n = 2; + break; + } + _context2.n = 1; + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var currentURL; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + currentURL = requestCurrentURL(request); + if (!( + // - request’s current URL’s origin is same origin with request’s origin, + // and request’s response tainting is "basic" + sameOrigin(currentURL, request.url) && request.responseTainting === 'basic' || + // request’s current URL’s scheme is "data" + currentURL.protocol === 'data:' || + // - request’s mode is "navigate" or "websocket" + request.mode === 'navigate' || request.mode === 'websocket')) { + _context.n = 2; + break; + } + // 1. Set request’s response tainting to "basic". + request.responseTainting = 'basic'; + + // 2. Return the result of running scheme fetch given fetchParams. + _context.n = 1; + return schemeFetch(fetchParams); + case 1: + return _context.a(2, _context.v); + case 2: + if (!(request.mode === 'same-origin')) { + _context.n = 3; + break; + } + return _context.a(2, makeNetworkError('request mode cannot be "same-origin"')); + case 3: + if (!(request.mode === 'no-cors')) { + _context.n = 6; + break; + } + if (!(request.redirect !== 'follow')) { + _context.n = 4; + break; + } + return _context.a(2, makeNetworkError('redirect mode cannot be "follow" for "no-cors" request')); + case 4: + // 2. Set request’s response tainting to "opaque". + request.responseTainting = 'opaque'; + + // 3. Return the result of running scheme fetch given fetchParams. + _context.n = 5; + return schemeFetch(fetchParams); + case 5: + return _context.a(2, _context.v); + case 6: + if (urlIsHttpHttpsScheme(requestCurrentURL(request))) { + _context.n = 7; + break; + } + return _context.a(2, makeNetworkError('URL scheme must be a HTTP(S) scheme')); + case 7: + // - request’s use-CORS-preflight flag is set + // - request’s unsafe-request flag is set and either request’s method is + // not a CORS-safelisted method or CORS-unsafe request-header names with + // request’s header list is not empty + // 1. Set request’s response tainting to "cors". + // 2. Let corsWithPreflightResponse be the result of running HTTP fetch + // given fetchParams and true. + // 3. If corsWithPreflightResponse is a network error, then clear cache + // entries using request. + // 4. Return corsWithPreflightResponse. + // TODO + + // Otherwise + // 1. Set request’s response tainting to "cors". + request.responseTainting = 'cors'; + + // 2. Return the result of running HTTP fetch given fetchParams. + _context.n = 8; + return httpFetch(fetchParams); + case 8: + return _context.a(2, _context.v); + } + }, _callee); + }))(); + case 1: + response = _context2.v; + case 2: + if (!recursive) { + _context2.n = 3; + break; + } + return _context2.a(2, response); + case 3: + // 13. If response is not a network error and response is not a filtered + // response, then: + if (response.status !== 0 && !response.internalResponse) { + // If request’s response tainting is "cors", then: + if (request.responseTainting === 'cors') { + // 1. Let headerNames be the result of extracting header list values + // given `Access-Control-Expose-Headers` and response’s header list. + // TODO + // 2. If request’s credentials mode is not "include" and headerNames + // contains `*`, then set response’s CORS-exposed header-name list to + // all unique header names in response’s header list. + // TODO + // 3. Otherwise, if headerNames is not null or failure, then set + // response’s CORS-exposed header-name list to headerNames. + // TODO + } + // Set response to the following filtered response with response as its + // internal response, depending on request’s response tainting: + if (request.responseTainting === 'basic') { + response = filterResponse(response, 'basic'); + } else if (request.responseTainting === 'cors') { + response = filterResponse(response, 'cors'); + } else if (request.responseTainting === 'opaque') { + response = filterResponse(response, 'opaque'); + } else { + assert(false); + } + } + // 14. Let internalResponse be response, if response is a network error, + // and response’s internal response otherwise. + internalResponse = response.status === 0 ? response : response.internalResponse; // 15. If internalResponse’s URL list is empty, then set it to a clone of + // request’s URL list. + if (internalResponse.urlList.length === 0) { + (_internalResponse$url = internalResponse.urlList).push.apply(_internalResponse$url, _toConsumableArray(request.urlList)); + } + // 16. If request’s timing allow failed flag is unset, then set + // internalResponse’s timing allow passed flag. + if (!request.timingAllowFailed) { + response.timingAllowPassed = true; + } + // 17. If response is not a network error and any of the following returns + // blocked + // - should internalResponse to request be blocked as mixed content + // - should internalResponse to request be blocked by Content Security Policy + // - should internalResponse to request be blocked due to its MIME type + // - should internalResponse to request be blocked due to nosniff + // TODO + + // 18. If response’s type is "opaque", internalResponse’s status is 206, + // internalResponse’s range-requested flag is set, and request’s header + // list does not contain `Range`, then set response and internalResponse + // to a network error. + if (response.type === 'opaque' && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains('range', true)) { + response = internalResponse = makeNetworkError(); + } + // 19. If response is not a network error and either request’s method is + // `HEAD` or `CONNECT`, or internalResponse’s status is a null body status, + // set internalResponse’s body to null and disregard any enqueuing toward + // it (if any). + if (response.status !== 0 && (request.method === 'HEAD' || request.method === 'CONNECT' || nullBodyStatus.includes(internalResponse.status))) { + internalResponse.body = null; + fetchParams.controller.dump = true; + } + // 20. If request’s integrity metadata is not the empty string, then: + if (!request.integrity) { + _context2.n = 6; + break; + } + // 1. Let processBodyError be this step: run fetch finale given fetchParams + // and a network error. + processBodyError = function processBodyError(reason) { + return fetchFinale(fetchParams, makeNetworkError(reason)); + }; // 2. If request’s response tainting is "opaque", or response’s body is null, + // then run processBodyError and abort these steps. + if (!(request.responseTainting === 'opaque' || response.body == null)) { + _context2.n = 4; + break; + } + processBodyError(response.error); + return _context2.a(2); + case 4: + // 3. Let processBody given bytes be these steps: + processBody = function processBody(bytes) { + // 1. If bytes do not match request’s integrity metadata, + // then run processBodyError and abort these steps. [SRI] + if (!bytesMatch(bytes, request.integrity)) { + processBodyError('integrity mismatch'); + return; + } + // 2. Set response’s body to bytes as a body. + response.body = safelyExtractBody(bytes)[0]; + // 3. Run fetch finale given fetchParams and response. + fetchFinale(fetchParams, response); + }; // 4. Fully read response’s body given processBody and processBodyError. + _context2.n = 5; + return fullyReadBody(response.body, processBody, processBodyError); + case 5: + _context2.n = 7; + break; + case 6: + // 21. Otherwise, run fetch finale given fetchParams and response. + fetchFinale(fetchParams, response); + case 7: + return _context2.a(2); + } + }, _callee2); + })); + return _mainFetch.apply(this, arguments); +} +function schemeFetch(fetchParams) { + // Note: since the connection is destroyed on redirect, which sets fetchParams to a + // cancelled state, we do not want this condition to trigger *unless* there have been + // no redirects. See https://github.com/nodejs/undici/issues/1776 + // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams. + if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { + return Promise.resolve(makeAppropriateNetworkError(fetchParams)); + } + // 2. Let request be fetchParams’s request. + var request = fetchParams.request; + var _requestCurrentURL = requestCurrentURL(request), + scheme = _requestCurrentURL.protocol; + + // 3. Switch on request’s current URL’s scheme and run the associated steps: + switch (scheme) { + case 'about:': + { + // If request’s current URL’s path is the string "blank", then return a new response + // whose status message is `OK`, header list is « (`Content-Type`, `text/html;charset=utf-8`) », + // and body is the empty byte sequence as a body. + + // Otherwise, return a network error. + return Promise.resolve(makeNetworkError('about scheme is not supported')); + } + case 'blob:': + { + if (!resolveObjectURL) { + resolveObjectURL = (__webpack_require__(4573).resolveObjectURL); + } + // 1. Let blobURLEntry be request’s current URL’s blob URL entry. + var blobURLEntry = requestCurrentURL(request); + // https://github.com/web-platform-tests/wpt/blob/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/FileAPI/url/resources/fetch-tests.js#L52-L56 + // Buffer.resolveObjectURL does not ignore URL queries. + if (blobURLEntry.search.length !== 0) { + return Promise.resolve(makeNetworkError('NetworkError when attempting to fetch resource.')); + } + var blob = resolveObjectURL(blobURLEntry.toString()); + // 2. If request’s method is not `GET`, blobURLEntry is null, or blobURLEntry’s + // object is not a Blob object, then return a network error. + if (request.method !== 'GET' || !isBlobLike(blob)) { + return Promise.resolve(makeNetworkError('invalid method')); + } + // 3. Let blob be blobURLEntry’s object. + // Note: done above + // 4. Let response be a new response. + var response = makeResponse(); + // 5. Let fullLength be blob’s size. + var fullLength = blob.size; + // 6. Let serializedFullLength be fullLength, serialized and isomorphic encoded. + var serializedFullLength = isomorphicEncode("".concat(fullLength)); + // 7. Let type be blob’s type. + var type = blob.type; + // 8. If request’s header list does not contain `Range`: + // 9. Otherwise: + if (!request.headersList.contains('range', true)) { + // 1. Let bodyWithType be the result of safely extracting blob. + // Note: in the FileAPI a blob "object" is a Blob *or* a MediaSource. + // In node, this can only ever be a Blob. Therefore we can safely + // use extractBody directly. + var bodyWithType = extractBody(blob); + // 2. Set response’s status message to `OK`. + response.statusText = 'OK'; + // 3. Set response’s body to bodyWithType’s body. + response.body = bodyWithType[0]; + // 4. Set response’s header list to « (`Content-Length`, serializedFullLength), (`Content-Type`, type) ». + response.headersList.set('content-length', serializedFullLength, true); + response.headersList.set('content-type', type, true); + } else { + // 1. Set response’s range-requested flag. + response.rangeRequested = true; + // 2. Let rangeHeader be the result of getting `Range` from request’s header list. + var rangeHeader = request.headersList.get('range', true); + // 3. Let rangeValue be the result of parsing a single range header value given rangeHeader and true. + var rangeValue = simpleRangeHeaderValue(rangeHeader, true); + // 4. If rangeValue is failure, then return a network error. + if (rangeValue === 'failure') { + return Promise.resolve(makeNetworkError('failed to fetch the data URL')); + } + // 5. Let (rangeStart, rangeEnd) be rangeValue. + var rangeStart = rangeValue.rangeStartValue, + rangeEnd = rangeValue.rangeEndValue; + // 6. If rangeStart is null: + // 7. Otherwise: + if (rangeStart === null) { + // 1. Set rangeStart to fullLength − rangeEnd. + rangeStart = fullLength - rangeEnd; + // 2. Set rangeEnd to rangeStart + rangeEnd − 1. + rangeEnd = rangeStart + rangeEnd - 1; + } else { + // 1. If rangeStart is greater than or equal to fullLength, then return a network error. + if (rangeStart >= fullLength) { + return Promise.resolve(makeNetworkError('Range start is greater than the blob\'s size.')); + } + // 2. If rangeEnd is null or rangeEnd is greater than or equal to fullLength, then set + // rangeEnd to fullLength − 1. + if (rangeEnd === null || rangeEnd >= fullLength) { + rangeEnd = fullLength - 1; + } + } + // 8. Let slicedBlob be the result of invoking slice blob given blob, rangeStart, + // rangeEnd + 1, and type. + var slicedBlob = blob.slice(rangeStart, rangeEnd, type); + // 9. Let slicedBodyWithType be the result of safely extracting slicedBlob. + // Note: same reason as mentioned above as to why we use extractBody + var slicedBodyWithType = extractBody(slicedBlob); + // 10. Set response’s body to slicedBodyWithType’s body. + response.body = slicedBodyWithType[0]; + // 11. Let serializedSlicedLength be slicedBlob’s size, serialized and isomorphic encoded. + var serializedSlicedLength = isomorphicEncode("".concat(slicedBlob.size)); + // 12. Let contentRange be the result of invoking build a content range given rangeStart, + // rangeEnd, and fullLength. + var contentRange = buildContentRange(rangeStart, rangeEnd, fullLength); + // 13. Set response’s status to 206. + response.status = 206; + // 14. Set response’s status message to `Partial Content`. + response.statusText = 'Partial Content'; + // 15. Set response’s header list to « (`Content-Length`, serializedSlicedLength), + // (`Content-Type`, type), (`Content-Range`, contentRange) ». + response.headersList.set('content-length', serializedSlicedLength, true); + response.headersList.set('content-type', type, true); + response.headersList.set('content-range', contentRange, true); + } + // 10. Return response. + return Promise.resolve(response); + } + case 'data:': + { + // 1. Let dataURLStruct be the result of running the + // data: URL processor on request’s current URL. + var currentURL = requestCurrentURL(request); + var dataURLStruct = dataURLProcessor(currentURL); + + // 2. If dataURLStruct is failure, then return a + // network error. + if (dataURLStruct === 'failure') { + return Promise.resolve(makeNetworkError('failed to fetch the data URL')); + } + // 3. Let mimeType be dataURLStruct’s MIME type, serialized. + var mimeType = serializeAMimeType(dataURLStruct.mimeType); + + // 4. Return a response whose status message is `OK`, + // header list is « (`Content-Type`, mimeType) », + // and body is dataURLStruct’s body as a body. + return Promise.resolve(makeResponse({ + statusText: 'OK', + headersList: [['content-type', { + name: 'Content-Type', + value: mimeType + }]], + body: safelyExtractBody(dataURLStruct.body)[0] + })); + } + case 'file:': + { + // For now, unfortunate as it is, file URLs are left as an exercise for the reader. + // When in doubt, return a network error. + return Promise.resolve(makeNetworkError('not implemented... yet...')); + } + case 'http:': + case 'https:': + { + // Return the result of running HTTP fetch given fetchParams. + return httpFetch(fetchParams)["catch"](function (err) { + return makeNetworkError(err); + }); + } + default: + { + return Promise.resolve(makeNetworkError('unknown scheme')); + } + } +} +// https://fetch.spec.whatwg.org/#finalize-response +function finalizeResponse(fetchParams, response) { + // 1. Set fetchParams’s request’s done flag. + fetchParams.request.done = true; + + // 2, If fetchParams’s process response done is not null, then queue a fetch + // task to run fetchParams’s process response done given response, with + // fetchParams’s task destination. + if (fetchParams.processResponseDone != null) { + queueMicrotask(function () { + return fetchParams.processResponseDone(response); + }); + } +} +// https://fetch.spec.whatwg.org/#fetch-finale +function fetchFinale(fetchParams, response) { + var _response$internalRes; + // 1. Let timingInfo be fetchParams’s timing info. + var timingInfo = fetchParams.timingInfo; + + // 2. If response is not a network error and fetchParams’s request’s client is a secure context, + // then set timingInfo’s server-timing headers to the result of getting, decoding, and splitting + // `Server-Timing` from response’s internal response’s header list. + // TODO + + // 3. Let processResponseEndOfBody be the following steps: + var processResponseEndOfBody = function processResponseEndOfBody() { + // 1. Let unsafeEndTime be the unsafe shared current time. + var unsafeEndTime = Date.now(); // ? + + // 2. If fetchParams’s request’s destination is "document", then set fetchParams’s controller’s + // full timing info to fetchParams’s timing info. + if (fetchParams.request.destination === 'document') { + fetchParams.controller.fullTimingInfo = timingInfo; + } + // 3. Set fetchParams’s controller’s report timing steps to the following steps given a global object global: + fetchParams.controller.reportTimingSteps = function () { + // 1. If fetchParams’s request’s URL’s scheme is not an HTTP(S) scheme, then return. + if (fetchParams.request.url.protocol !== 'https:') { + return; + } + // 2. Set timingInfo’s end time to the relative high resolution time given unsafeEndTime and global. + timingInfo.endTime = unsafeEndTime; + // 3. Let cacheState be response’s cache state. + var cacheState = response.cacheState; + + // 4. Let bodyInfo be response’s body info. + var bodyInfo = response.bodyInfo; + + // 5. If response’s timing allow passed flag is not set, then set timingInfo to the result of creating an + // opaque timing info for timingInfo and set cacheState to the empty string. + if (!response.timingAllowPassed) { + timingInfo = createOpaqueTimingInfo(timingInfo); + cacheState = ''; + } + + // 6. Let responseStatus be 0. + var responseStatus = 0; + + // 7. If fetchParams’s request’s mode is not "navigate" or response’s has-cross-origin-redirects is false: + if (fetchParams.request.mode !== 'navigator' || !response.hasCrossOriginRedirects) { + // 1. Set responseStatus to response’s status. + responseStatus = response.status; + + // 2. Let mimeType be the result of extracting a MIME type from response’s header list. + var mimeType = extractMimeType(response.headersList); + + // 3. If mimeType is not failure, then set bodyInfo’s content type to the result of minimizing a supported MIME type given mimeType. + if (mimeType !== 'failure') { + bodyInfo.contentType = minimizeSupportedMimeType(mimeType); + } + } + + // 8. If fetchParams’s request’s initiator type is non-null, then mark resource timing given timingInfo, + // fetchParams’s request’s URL, fetchParams’s request’s initiator type, global, cacheState, bodyInfo, + // and responseStatus. + if (fetchParams.request.initiatorType != null) { + // TODO: update markresourcetiming + markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus); + } + }; + + // 4. Let processResponseEndOfBodyTask be the following steps: + var processResponseEndOfBodyTask = function processResponseEndOfBodyTask() { + // 1. Set fetchParams’s request’s done flag. + fetchParams.request.done = true; + + // 2. If fetchParams’s process response end-of-body is non-null, then run fetchParams’s process + // response end-of-body given response. + if (fetchParams.processResponseEndOfBody != null) { + queueMicrotask(function () { + return fetchParams.processResponseEndOfBody(response); + }); + } + + // 3. If fetchParams’s request’s initiator type is non-null and fetchParams’s request’s client’s + // global object is fetchParams’s task destination, then run fetchParams’s controller’s report + // timing steps given fetchParams’s request’s client’s global object. + if (fetchParams.request.initiatorType != null) { + fetchParams.controller.reportTimingSteps(); + } + }; + + // 5. Queue a fetch task to run processResponseEndOfBodyTask with fetchParams’s task destination + queueMicrotask(function () { + return processResponseEndOfBodyTask(); + }); + }; + + // 4. If fetchParams’s process response is non-null, then queue a fetch task to run fetchParams’s + // process response given response, with fetchParams’s task destination. + if (fetchParams.processResponse != null) { + queueMicrotask(function () { + fetchParams.processResponse(response); + fetchParams.processResponse = null; + }); + } + + // 5. Let internalResponse be response, if response is a network error; otherwise response’s internal response. + var internalResponse = response.type === 'error' ? response : (_response$internalRes = response.internalResponse) !== null && _response$internalRes !== void 0 ? _response$internalRes : response; + + // 6. If internalResponse’s body is null, then run processResponseEndOfBody. + // 7. Otherwise: + if (internalResponse.body == null) { + processResponseEndOfBody(); + } else { + // mcollina: all the following steps of the specs are skipped. + // The internal transform stream is not needed. + // See https://github.com/nodejs/undici/pull/3093#issuecomment-2050198541 + + // 1. Let transformStream be a new TransformStream. + // 2. Let identityTransformAlgorithm be an algorithm which, given chunk, enqueues chunk in transformStream. + // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm and flushAlgorithm + // set to processResponseEndOfBody. + // 4. Set internalResponse’s body’s stream to the result of internalResponse’s body’s stream piped through transformStream. + + finished(internalResponse.body.stream, function () { + processResponseEndOfBody(); + }); + } +} + +// https://fetch.spec.whatwg.org/#http-fetch +function httpFetch(_x3) { + return _httpFetch.apply(this, arguments); +} // https://fetch.spec.whatwg.org/#http-redirect-fetch +function _httpFetch() { + _httpFetch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(fetchParams) { + var request, response, actualResponse, timingInfo; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + // 1. Let request be fetchParams’s request. + request = fetchParams.request; // 2. Let response be null. + response = null; // 3. Let actualResponse be null. + actualResponse = null; // 4. Let timingInfo be fetchParams’s timing info. + timingInfo = fetchParams.timingInfo; // 5. If request’s service-workers mode is "all", then: + if (request.serviceWorkers === 'all') { + // TODO + } + + // 6. If response is null, then: + if (!(response === null)) { + _context3.n = 3; + break; + } + // 1. If makeCORSPreflight is true and one of these conditions is true: + // TODO + + // 2. If request’s redirect mode is "follow", then set request’s + // service-workers mode to "none". + if (request.redirect === 'follow') { + request.serviceWorkers = 'none'; + } + + // 3. Set response and actualResponse to the result of running + // HTTP-network-or-cache fetch given fetchParams. + _context3.n = 1; + return httpNetworkOrCacheFetch(fetchParams); + case 1: + actualResponse = response = _context3.v; + if (!(request.responseTainting === 'cors' && corsCheck(request, response) === 'failure')) { + _context3.n = 2; + break; + } + return _context3.a(2, makeNetworkError('cors failure')); + case 2: + // 5. If the TAO check for request and response returns failure, then set + // request’s timing allow failed flag. + if (TAOCheck(request, response) === 'failure') { + request.timingAllowFailed = true; + } + case 3: + if (!((request.responseTainting === 'opaque' || response.type === 'opaque') && crossOriginResourcePolicyCheck(request.origin, request.client, request.destination, actualResponse) === 'blocked')) { + _context3.n = 4; + break; + } + return _context3.a(2, makeNetworkError('blocked')); + case 4: + if (!redirectStatusSet.has(actualResponse.status)) { + _context3.n = 9; + break; + } + // 1. If actualResponse’s status is not 303, request’s body is not null, + // and the connection uses HTTP/2, then user agents may, and are even + // encouraged to, transmit an RST_STREAM frame. + // See, https://github.com/whatwg/fetch/issues/1288 + if (request.redirect !== 'manual') { + fetchParams.controller.connection.destroy(undefined, false); + } + + // 2. Switch on request’s redirect mode: + if (!(request.redirect === 'error')) { + _context3.n = 5; + break; + } + // Set response to a network error. + response = makeNetworkError('unexpected redirect'); + _context3.n = 9; + break; + case 5: + if (!(request.redirect === 'manual')) { + _context3.n = 6; + break; + } + // Set response to an opaque-redirect filtered response whose internal + // response is actualResponse. + // NOTE(spec): On the web this would return an `opaqueredirect` response, + // but that doesn't make sense server side. + // See https://github.com/nodejs/undici/issues/1193. + response = actualResponse; + _context3.n = 9; + break; + case 6: + if (!(request.redirect === 'follow')) { + _context3.n = 8; + break; + } + _context3.n = 7; + return httpRedirectFetch(fetchParams, response); + case 7: + response = _context3.v; + _context3.n = 9; + break; + case 8: + assert(false); + case 9: + // 9. Set response’s timing info to timingInfo. + response.timingInfo = timingInfo; + + // 10. Return response. + return _context3.a(2, response); + } + }, _callee3); + })); + return _httpFetch.apply(this, arguments); +} +function httpRedirectFetch(fetchParams, response) { + // 1. Let request be fetchParams’s request. + var request = fetchParams.request; + + // 2. Let actualResponse be response, if response is not a filtered response, + // and response’s internal response otherwise. + var actualResponse = response.internalResponse ? response.internalResponse : response; + + // 3. Let locationURL be actualResponse’s location URL given request’s current + // URL’s fragment. + var locationURL; + try { + locationURL = responseLocationURL(actualResponse, requestCurrentURL(request).hash); + + // 4. If locationURL is null, then return response. + if (locationURL == null) { + return response; + } + } catch (err) { + // 5. If locationURL is failure, then return a network error. + return Promise.resolve(makeNetworkError(err)); + } + + // 6. If locationURL’s scheme is not an HTTP(S) scheme, then return a network + // error. + if (!urlIsHttpHttpsScheme(locationURL)) { + return Promise.resolve(makeNetworkError('URL scheme must be a HTTP(S) scheme')); + } + + // 7. If request’s redirect count is 20, then return a network error. + if (request.redirectCount === 20) { + return Promise.resolve(makeNetworkError('redirect count exceeded')); + } + + // 8. Increase request’s redirect count by 1. + request.redirectCount += 1; + + // 9. If request’s mode is "cors", locationURL includes credentials, and + // request’s origin is not same origin with locationURL’s origin, then return + // a network error. + if (request.mode === 'cors' && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { + return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + } + + // 10. If request’s response tainting is "cors" and locationURL includes + // credentials, then return a network error. + if (request.responseTainting === 'cors' && (locationURL.username || locationURL.password)) { + return Promise.resolve(makeNetworkError('URL cannot contain credentials for request mode "cors"')); + } + + // 11. If actualResponse’s status is not 303, request’s body is non-null, + // and request’s body’s source is null, then return a network error. + if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { + return Promise.resolve(makeNetworkError()); + } + + // 12. If one of the following is true + // - actualResponse’s status is 301 or 302 and request’s method is `POST` + // - actualResponse’s status is 303 and request’s method is not `GET` or `HEAD` + if ([301, 302].includes(actualResponse.status) && request.method === 'POST' || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { + // then: + // 1. Set request’s method to `GET` and request’s body to null. + request.method = 'GET'; + request.body = null; + + // 2. For each headerName of request-body-header name, delete headerName from + // request’s header list. + var _iterator2 = _createForOfIteratorHelper(requestBodyHeader), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var headerName = _step2.value; + request.headersList["delete"](headerName); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + // 13. If request’s current URL’s origin is not same origin with locationURL’s + // origin, then for each headerName of CORS non-wildcard request-header name, + // delete headerName from request’s header list. + if (!sameOrigin(requestCurrentURL(request), locationURL)) { + // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name + request.headersList["delete"]('authorization', true); + + // https://fetch.spec.whatwg.org/#authentication-entries + request.headersList["delete"]('proxy-authorization', true); + + // "Cookie" and "Host" are forbidden request-headers, which undici doesn't implement. + request.headersList["delete"]('cookie', true); + request.headersList["delete"]('host', true); + } + + // 14. If request’s body is non-null, then set request’s body to the first return + // value of safely extracting request’s body’s source. + if (request.body != null) { + assert(request.body.source != null); + request.body = safelyExtractBody(request.body.source)[0]; + } + + // 15. Let timingInfo be fetchParams’s timing info. + var timingInfo = fetchParams.timingInfo; + + // 16. Set timingInfo’s redirect end time and post-redirect start time to the + // coarsened shared current time given fetchParams’s cross-origin isolated + // capability. + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + + // 17. If timingInfo’s redirect start time is 0, then set timingInfo’s + // redirect start time to timingInfo’s start time. + if (timingInfo.redirectStartTime === 0) { + timingInfo.redirectStartTime = timingInfo.startTime; + } + + // 18. Append locationURL to request’s URL list. + request.urlList.push(locationURL); + + // 19. Invoke set request’s referrer policy on redirect on request and + // actualResponse. + setRequestReferrerPolicyOnRedirect(request, actualResponse); + + // 20. Return the result of running main fetch given fetchParams and true. + return mainFetch(fetchParams, true); +} + +// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch +function httpNetworkOrCacheFetch(_x4) { + return _httpNetworkOrCacheFetch.apply(this, arguments); +} // https://fetch.spec.whatwg.org/#http-network-fetch +function _httpNetworkOrCacheFetch() { + _httpNetworkOrCacheFetch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(fetchParams) { + var isAuthenticationFetch, + isNewConnectionFetch, + request, + httpFetchParams, + httpRequest, + response, + httpCache, + revalidatingFlag, + includeCredentials, + contentLength, + contentLengthHeaderValue, + forwardResponse, + _args4 = arguments; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + isAuthenticationFetch = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false; + isNewConnectionFetch = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false; + // 1. Let request be fetchParams’s request. + request = fetchParams.request; // 2. Let httpFetchParams be null. + httpFetchParams = null; // 3. Let httpRequest be null. + httpRequest = null; // 4. Let response be null. + response = null; // 5. Let storedResponse be null. + // TODO: cache + // 6. Let httpCache be null. + httpCache = null; // 7. Let the revalidatingFlag be unset. + revalidatingFlag = false; // 8. Run these steps, but abort when the ongoing fetch is terminated: + // 1. If request’s window is "no-window" and request’s redirect mode is + // "error", then set httpFetchParams to fetchParams and httpRequest to + // request. + if (request.window === 'no-window' && request.redirect === 'error') { + httpFetchParams = fetchParams; + httpRequest = request; + } else { + // Otherwise: + + // 1. Set httpRequest to a clone of request. + httpRequest = cloneRequest(request); + + // 2. Set httpFetchParams to a copy of fetchParams. + httpFetchParams = _objectSpread({}, fetchParams); + + // 3. Set httpFetchParams’s request to httpRequest. + httpFetchParams.request = httpRequest; + } + + // 3. Let includeCredentials be true if one of + includeCredentials = request.credentials === 'include' || request.credentials === 'same-origin' && request.responseTainting === 'basic'; // 4. Let contentLength be httpRequest’s body’s length, if httpRequest’s + // body is non-null; otherwise null. + contentLength = httpRequest.body ? httpRequest.body.length : null; // 5. Let contentLengthHeaderValue be null. + contentLengthHeaderValue = null; // 6. If httpRequest’s body is null and httpRequest’s method is `POST` or + // `PUT`, then set contentLengthHeaderValue to `0`. + if (httpRequest.body == null && ['POST', 'PUT'].includes(httpRequest.method)) { + contentLengthHeaderValue = '0'; + } + + // 7. If contentLength is non-null, then set contentLengthHeaderValue to + // contentLength, serialized and isomorphic encoded. + if (contentLength != null) { + contentLengthHeaderValue = isomorphicEncode("".concat(contentLength)); + } + + // 8. If contentLengthHeaderValue is non-null, then append + // `Content-Length`/contentLengthHeaderValue to httpRequest’s header + // list. + if (contentLengthHeaderValue != null) { + httpRequest.headersList.append('content-length', contentLengthHeaderValue, true); + } + + // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`, + // contentLengthHeaderValue) to httpRequest’s header list. + + // 10. If contentLength is non-null and httpRequest’s keepalive is true, + // then: + if (contentLength != null && httpRequest.keepalive) { + // NOTE: keepalive is a noop outside of browser context. + } + + // 11. If httpRequest’s referrer is a URL, then append + // `Referer`/httpRequest’s referrer, serialized and isomorphic encoded, + // to httpRequest’s header list. + if (httpRequest.referrer instanceof URL) { + httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href), true); + } + + // 12. Append a request `Origin` header for httpRequest. + appendRequestOriginHeader(httpRequest); + + // 13. Append the Fetch metadata headers for httpRequest. [FETCH-METADATA] + appendFetchMetadata(httpRequest); + + // 14. If httpRequest’s header list does not contain `User-Agent`, then + // user agents should append `User-Agent`/default `User-Agent` value to + // httpRequest’s header list. + if (!httpRequest.headersList.contains('user-agent', true)) { + httpRequest.headersList.append('user-agent', defaultUserAgent); + } + + // 15. If httpRequest’s cache mode is "default" and httpRequest’s header + // list contains `If-Modified-Since`, `If-None-Match`, + // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set + // httpRequest’s cache mode to "no-store". + if (httpRequest.cache === 'default' && (httpRequest.headersList.contains('if-modified-since', true) || httpRequest.headersList.contains('if-none-match', true) || httpRequest.headersList.contains('if-unmodified-since', true) || httpRequest.headersList.contains('if-match', true) || httpRequest.headersList.contains('if-range', true))) { + httpRequest.cache = 'no-store'; + } + + // 16. If httpRequest’s cache mode is "no-cache", httpRequest’s prevent + // no-cache cache-control header modification flag is unset, and + // httpRequest’s header list does not contain `Cache-Control`, then append + // `Cache-Control`/`max-age=0` to httpRequest’s header list. + if (httpRequest.cache === 'no-cache' && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains('cache-control', true)) { + httpRequest.headersList.append('cache-control', 'max-age=0', true); + } + + // 17. If httpRequest’s cache mode is "no-store" or "reload", then: + if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') { + // 1. If httpRequest’s header list does not contain `Pragma`, then append + // `Pragma`/`no-cache` to httpRequest’s header list. + if (!httpRequest.headersList.contains('pragma', true)) { + httpRequest.headersList.append('pragma', 'no-cache', true); + } + + // 2. If httpRequest’s header list does not contain `Cache-Control`, + // then append `Cache-Control`/`no-cache` to httpRequest’s header list. + if (!httpRequest.headersList.contains('cache-control', true)) { + httpRequest.headersList.append('cache-control', 'no-cache', true); + } + } + + // 18. If httpRequest’s header list contains `Range`, then append + // `Accept-Encoding`/`identity` to httpRequest’s header list. + if (httpRequest.headersList.contains('range', true)) { + httpRequest.headersList.append('accept-encoding', 'identity', true); + } + + // 19. Modify httpRequest’s header list per HTTP. Do not append a given + // header if httpRequest’s header list contains that header’s name. + // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129 + if (!httpRequest.headersList.contains('accept-encoding', true)) { + if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { + httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate', true); + } else { + httpRequest.headersList.append('accept-encoding', 'gzip, deflate', true); + } + } + httpRequest.headersList["delete"]('host', true); + + // 20. If includeCredentials is true, then: + if (includeCredentials) { + // 1. If the user agent is not configured to block cookies for httpRequest + // (see section 7 of [COOKIES]), then: + // TODO: credentials + // 2. If httpRequest’s header list does not contain `Authorization`, then: + // TODO: credentials + } + + // 21. If there’s a proxy-authentication entry, use it as appropriate. + // TODO: proxy-authentication + + // 22. Set httpCache to the result of determining the HTTP cache + // partition, given httpRequest. + // TODO: cache + + // 23. If httpCache is null, then set httpRequest’s cache mode to + // "no-store". + if (httpCache == null) { + httpRequest.cache = 'no-store'; + } + + // 24. If httpRequest’s cache mode is neither "no-store" nor "reload", + // then: + if (httpRequest.cache !== 'no-store' && httpRequest.cache !== 'reload') { + // TODO: cache + } + + // 9. If aborted, then return the appropriate network error for fetchParams. + // TODO + + // 10. If response is null, then: + if (!(response == null)) { + _context4.n = 3; + break; + } + if (!(httpRequest.cache === 'only-if-cached')) { + _context4.n = 1; + break; + } + return _context4.a(2, makeNetworkError('only if cached')); + case 1: + _context4.n = 2; + return httpNetworkFetch(httpFetchParams, includeCredentials, isNewConnectionFetch); + case 2: + forwardResponse = _context4.v; + // 3. If httpRequest’s method is unsafe and forwardResponse’s status is + // in the range 200 to 399, inclusive, invalidate appropriate stored + // responses in httpCache, as per the "Invalidation" chapter of HTTP + // Caching, and set storedResponse to null. [HTTP-CACHING] + if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { + // TODO: cache + } + + // 4. If the revalidatingFlag is set and forwardResponse’s status is 304, + // then: + if (revalidatingFlag && forwardResponse.status === 304) { + // TODO: cache + } + + // 5. If response is null, then: + if (response == null) { + // 1. Set response to forwardResponse. + response = forwardResponse; + + // 2. Store httpRequest and forwardResponse in httpCache, as per the + // "Storing Responses in Caches" chapter of HTTP Caching. [HTTP-CACHING] + // TODO: cache + } + case 3: + // 11. Set response’s URL list to a clone of httpRequest’s URL list. + response.urlList = _toConsumableArray(httpRequest.urlList); + + // 12. If httpRequest’s header list contains `Range`, then set response’s + // range-requested flag. + if (httpRequest.headersList.contains('range', true)) { + response.rangeRequested = true; + } + + // 13. Set response’s request-includes-credentials to includeCredentials. + response.requestIncludesCredentials = includeCredentials; + + // 14. If response’s status is 401, httpRequest’s response tainting is not + // "cors", includeCredentials is true, and request’s window is an environment + // settings object, then: + // TODO + + // 15. If response’s status is 407, then: + if (!(response.status === 407)) { + _context4.n = 6; + break; + } + if (!(request.window === 'no-window')) { + _context4.n = 4; + break; + } + return _context4.a(2, makeNetworkError()); + case 4: + if (!isCancelled(fetchParams)) { + _context4.n = 5; + break; + } + return _context4.a(2, makeAppropriateNetworkError(fetchParams)); + case 5: + return _context4.a(2, makeNetworkError('proxy authentication required')); + case 6: + if (!( + // response’s status is 421 + response.status === 421 && + // isNewConnectionFetch is false + !isNewConnectionFetch && ( + // request’s body is null, or request’s body is non-null and request’s body’s source is non-null + request.body == null || request.body.source != null))) { + _context4.n = 9; + break; + } + if (!isCancelled(fetchParams)) { + _context4.n = 7; + break; + } + return _context4.a(2, makeAppropriateNetworkError(fetchParams)); + case 7: + // 2. Set response to the result of running HTTP-network-or-cache + // fetch given fetchParams, isAuthenticationFetch, and true. + + // TODO (spec): The spec doesn't specify this but we need to cancel + // the active response before we can start a new one. + // https://github.com/whatwg/fetch/issues/1293 + fetchParams.controller.connection.destroy(); + _context4.n = 8; + return httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch, true); + case 8: + response = _context4.v; + case 9: + // 17. If isAuthenticationFetch is true, then create an authentication entry + if (isAuthenticationFetch) { + // TODO + } + + // 18. Return response. + return _context4.a(2, response); + } + }, _callee4); + })); + return _httpNetworkOrCacheFetch.apply(this, arguments); +} +function httpNetworkFetch(_x5) { + return _httpNetworkFetch.apply(this, arguments); +} +function _httpNetworkFetch() { + _httpNetworkFetch = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(fetchParams) { + var includeCredentials, + forceNewConnection, + request, + response, + timingInfo, + httpCache, + newConnection, + requestBody, + processBodyChunk, + processEndOfBody, + _processBodyError, + _yield$dispatch, + body, + status, + statusText, + headersList, + socket, + iterator, + pullAlgorithm, + cancelAlgorithm, + stream, + onAborted, + dispatch, + _args10 = arguments, + _t4; + return _regenerator().w(function (_context10) { + while (1) switch (_context10.p = _context10.n) { + case 0: + dispatch = function _dispatch(_ref6) { + var body = _ref6.body; + var url = requestCurrentURL(request); + /** @type {import('../..').Agent} */ + var agent = fetchParams.controller.dispatcher; + return new Promise(function (resolve, reject) { + return agent.dispatch({ + path: url.pathname + url.search, + origin: url.origin, + method: request.method, + body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body, + headers: request.headersList.entries, + maxRedirections: 0, + upgrade: request.mode === 'websocket' ? 'websocket' : undefined + }, { + body: null, + abort: null, + onConnect: function onConnect(abort) { + // TODO (fix): Do we need connection here? + var connection = fetchParams.controller.connection; + + // Set timingInfo’s final connection timing info to the result of calling clamp and coarsen + // connection timing info with connection’s timing info, timingInfo’s post-redirect start + // time, and fetchParams’s cross-origin isolated capability. + // TODO: implement connection timing + timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(undefined, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability); + if (connection.destroyed) { + abort(new DOMException('The operation was aborted.', 'AbortError')); + } else { + fetchParams.controller.on('terminated', abort); + this.abort = connection.abort = abort; + } + + // Set timingInfo’s final network-request start time to the coarsened shared current time given + // fetchParams’s cross-origin isolated capability. + timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + }, + onResponseStarted: function onResponseStarted() { + // Set timingInfo’s final network-response start time to the coarsened shared current + // time given fetchParams’s cross-origin isolated capability, immediately after the + // user agent’s HTTP parser receives the first byte of the response (e.g., frame header + // bytes for HTTP/2 or response status line for HTTP/1.x). + timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + }, + onHeaders: function onHeaders(status, rawHeaders, resume, statusText) { + var _this2 = this; + if (status < 200) { + return; + } + var location = ''; + var headersList = new HeadersList(); + for (var i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString('latin1'), true); + } + location = headersList.get('location', true); + this.body = new Readable({ + read: resume + }); + var decoders = []; + var willFollow = location && request.redirect === 'follow' && redirectStatusSet.has(status); + + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding + if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) { + // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1 + var contentEncoding = headersList.get('content-encoding', true); + // "All content-coding values are case-insensitive..." + /** @type {string[]} */ + var codings = contentEncoding ? contentEncoding.toLowerCase().split(',') : []; + + // Limit the number of content-encodings to prevent resource exhaustion. + // CVE fix similar to urllib3 (GHSA-gm62-xv2j-4w53) and curl (CVE-2022-32206). + var maxContentEncodings = 5; + if (codings.length > maxContentEncodings) { + reject(new Error("too many content-encodings in response: ".concat(codings.length, ", maximum allowed is ").concat(maxContentEncodings))); + return true; + } + for (var _i = codings.length - 1; _i >= 0; --_i) { + var coding = codings[_i].trim(); + // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.2 + if (coding === 'x-gzip' || coding === 'gzip') { + decoders.push(zlib.createGunzip({ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + })); + } else if (coding === 'deflate') { + decoders.push(createInflate({ + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + })); + } else if (coding === 'br') { + decoders.push(zlib.createBrotliDecompress({ + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH + })); + } else { + decoders.length = 0; + break; + } + } + } + var onError = this.onError.bind(this); + resolve({ + status: status, + statusText: statusText, + headersList: headersList, + body: decoders.length ? pipeline.apply(void 0, [this.body].concat(decoders, [function (err) { + if (err) { + _this2.onError(err); + } + }])).on('error', onError) : this.body.on('error', onError) + }); + return true; + }, + onData: function onData(chunk) { + if (fetchParams.controller.dump) { + return; + } + + // 1. If one or more bytes have been transmitted from response’s + // message body, then: + + // 1. Let bytes be the transmitted bytes. + var bytes = chunk; + + // 2. Let codings be the result of extracting header list values + // given `Content-Encoding` and response’s header list. + // See pullAlgorithm. + + // 3. Increase timingInfo’s encoded body size by bytes’s length. + timingInfo.encodedBodySize += bytes.byteLength; + + // 4. See pullAlgorithm... + + return this.body.push(bytes); + }, + onComplete: function onComplete() { + if (this.abort) { + fetchParams.controller.off('terminated', this.abort); + } + if (fetchParams.controller.onAborted) { + fetchParams.controller.off('terminated', fetchParams.controller.onAborted); + } + fetchParams.controller.ended = true; + this.body.push(null); + }, + onError: function onError(error) { + var _this$body; + if (this.abort) { + fetchParams.controller.off('terminated', this.abort); + } + (_this$body = this.body) === null || _this$body === void 0 || _this$body.destroy(error); + fetchParams.controller.terminate(error); + reject(error); + }, + onUpgrade: function onUpgrade(status, rawHeaders, socket) { + if (status !== 101) { + return; + } + var headersList = new HeadersList(); + for (var i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString('latin1'), true); + } + resolve({ + status: status, + statusText: STATUS_CODES[status], + headersList: headersList, + socket: socket + }); + return true; + } + }); + }); + }; + onAborted = function _onAborted(reason) { + // 2. If fetchParams is aborted, then: + if (isAborted(fetchParams)) { + // 1. Set response’s aborted flag. + response.aborted = true; + + // 2. If stream is readable, then error stream with the result of + // deserialize a serialized abort reason given fetchParams’s + // controller’s serialized abort reason and an + // implementation-defined realm. + if (isReadable(stream)) { + fetchParams.controller.controller.error(fetchParams.controller.serializedAbortReason); + } + } else { + // 3. Otherwise, if stream is readable, error stream with a TypeError. + if (isReadable(stream)) { + fetchParams.controller.controller.error(new TypeError('terminated', { + cause: isErrorLike(reason) ? reason : undefined + })); + } + } + + // 4. If connection uses HTTP/2, then transmit an RST_STREAM frame. + // 5. Otherwise, the user agent should close connection unless it would be bad for performance to do so. + fetchParams.controller.connection.destroy(); + }; + includeCredentials = _args10.length > 1 && _args10[1] !== undefined ? _args10[1] : false; + forceNewConnection = _args10.length > 2 && _args10[2] !== undefined ? _args10[2] : false; + assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); + fetchParams.controller.connection = { + abort: null, + destroyed: false, + destroy: function destroy(err) { + var abort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + if (!this.destroyed) { + this.destroyed = true; + if (abort) { + var _this$abort; + (_this$abort = this.abort) === null || _this$abort === void 0 || _this$abort.call(this, err !== null && err !== void 0 ? err : new DOMException('The operation was aborted.', 'AbortError')); + } + } + } + }; + + // 1. Let request be fetchParams’s request. + request = fetchParams.request; // 2. Let response be null. + response = null; // 3. Let timingInfo be fetchParams’s timing info. + timingInfo = fetchParams.timingInfo; // 4. Let httpCache be the result of determining the HTTP cache partition, + // given request. + // TODO: cache + httpCache = null; // 5. If httpCache is null, then set request’s cache mode to "no-store". + if (httpCache == null) { + request.cache = 'no-store'; + } + + // 6. Let networkPartitionKey be the result of determining the network + // partition key given request. + // TODO + + // 7. Let newConnection be "yes" if forceNewConnection is true; otherwise + // "no". + newConnection = forceNewConnection ? 'yes' : 'no'; // eslint-disable-line no-unused-vars + // 8. Switch on request’s mode: + if (request.mode === 'websocket') { + // Let connection be the result of obtaining a WebSocket connection, + // given request’s current URL. + // TODO + } else { + // Let connection be the result of obtaining a connection, given + // networkPartitionKey, request’s current URL’s origin, + // includeCredentials, and forceNewConnection. + // TODO + } + + // 9. Run these steps, but abort when the ongoing fetch is terminated: + + // 1. If connection is failure, then return a network error. + + // 2. Set timingInfo’s final connection timing info to the result of + // calling clamp and coarsen connection timing info with connection’s + // timing info, timingInfo’s post-redirect start time, and fetchParams’s + // cross-origin isolated capability. + + // 3. If connection is not an HTTP/2 connection, request’s body is non-null, + // and request’s body’s source is null, then append (`Transfer-Encoding`, + // `chunked`) to request’s header list. + + // 4. Set timingInfo’s final network-request start time to the coarsened + // shared current time given fetchParams’s cross-origin isolated + // capability. + + // 5. Set response to the result of making an HTTP request over connection + // using request with the following caveats: + + // - Follow the relevant requirements from HTTP. [HTTP] [HTTP-SEMANTICS] + // [HTTP-COND] [HTTP-CACHING] [HTTP-AUTH] + + // - If request’s body is non-null, and request’s body’s source is null, + // then the user agent may have a buffer of up to 64 kibibytes and store + // a part of request’s body in that buffer. If the user agent reads from + // request’s body beyond that buffer’s size and the user agent needs to + // resend request, then instead return a network error. + + // - Set timingInfo’s final network-response start time to the coarsened + // shared current time given fetchParams’s cross-origin isolated capability, + // immediately after the user agent’s HTTP parser receives the first byte + // of the response (e.g., frame header bytes for HTTP/2 or response status + // line for HTTP/1.x). + + // - Wait until all the headers are transmitted. + + // - Any responses whose status is in the range 100 to 199, inclusive, + // and is not 101, are to be ignored, except for the purposes of setting + // timingInfo’s final network-response start time above. + + // - If request’s header list contains `Transfer-Encoding`/`chunked` and + // response is transferred via HTTP/1.0 or older, then return a network + // error. + + // - If the HTTP request results in a TLS client certificate dialog, then: + + // 1. If request’s window is an environment settings object, make the + // dialog available in request’s window. + + // 2. Otherwise, return a network error. + + // To transmit request’s body body, run these steps: + requestBody = null; // 1. If body is null and fetchParams’s process request end-of-body is + // non-null, then queue a fetch task given fetchParams’s process request + // end-of-body and fetchParams’s task destination. + if (request.body == null && fetchParams.processRequestEndOfBody) { + queueMicrotask(function () { + return fetchParams.processRequestEndOfBody(); + }); + } else if (request.body != null) { + // 2. Otherwise, if body is non-null: + // 1. Let processBodyChunk given bytes be these steps: + processBodyChunk = /*#__PURE__*/function () { + var _ref = _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee5(bytes) { + var _fetchParams$processR; + return _regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + if (!isCancelled(fetchParams)) { + _context5.n = 1; + break; + } + return _context5.a(2); + case 1: + _context5.n = 2; + return bytes; + case 2: + // 3. If fetchParams’s process request body is non-null, then run + // fetchParams’s process request body given bytes’s length. + (_fetchParams$processR = fetchParams.processRequestBodyChunkLength) === null || _fetchParams$processR === void 0 || _fetchParams$processR.call(fetchParams, bytes.byteLength); + case 3: + return _context5.a(2); + } + }, _callee5); + })); + return function processBodyChunk(_x) { + return _ref.apply(this, arguments); + }; + }(); // 2. Let processEndOfBody be these steps: + processEndOfBody = function processEndOfBody() { + // 1. If fetchParams is canceled, then abort these steps. + if (isCancelled(fetchParams)) { + return; + } + + // 2. If fetchParams’s process request end-of-body is non-null, + // then run fetchParams’s process request end-of-body. + if (fetchParams.processRequestEndOfBody) { + fetchParams.processRequestEndOfBody(); + } + }; // 3. Let processBodyError given e be these steps: + _processBodyError = function _processBodyError(e) { + // 1. If fetchParams is canceled, then abort these steps. + if (isCancelled(fetchParams)) { + return; + } + + // 2. If e is an "AbortError" DOMException, then abort fetchParams’s controller. + if (e.name === 'AbortError') { + fetchParams.controller.abort(); + } else { + fetchParams.controller.terminate(e); + } + }; // 4. Incrementally read request’s body given processBodyChunk, processEndOfBody, + // processBodyError, and fetchParams’s task destination. + requestBody = _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee6() { + var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, bytes, _t, _t2; + return _regenerator().w(function (_context6) { + while (1) switch (_context6.p = _context6.n) { + case 0: + _context6.p = 0; + _iteratorAbruptCompletion = false; + _didIteratorError = false; + _context6.p = 1; + _iterator = _asyncIterator(request.body.stream); + case 2: + _context6.n = 3; + return _awaitAsyncGenerator(_iterator.next()); + case 3: + if (!(_iteratorAbruptCompletion = !(_step = _context6.v).done)) { + _context6.n = 5; + break; + } + bytes = _step.value; + return _context6.d(_regeneratorValues(_asyncGeneratorDelegate(_asyncIterator(processBodyChunk(bytes)), _awaitAsyncGenerator)), 4); + case 4: + _iteratorAbruptCompletion = false; + _context6.n = 2; + break; + case 5: + _context6.n = 7; + break; + case 6: + _context6.p = 6; + _t = _context6.v; + _didIteratorError = true; + _iteratorError = _t; + case 7: + _context6.p = 7; + _context6.p = 8; + if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { + _context6.n = 9; + break; + } + _context6.n = 9; + return _awaitAsyncGenerator(_iterator["return"]()); + case 9: + _context6.p = 9; + if (!_didIteratorError) { + _context6.n = 10; + break; + } + throw _iteratorError; + case 10: + return _context6.f(9); + case 11: + return _context6.f(7); + case 12: + processEndOfBody(); + _context6.n = 14; + break; + case 13: + _context6.p = 13; + _t2 = _context6.v; + _processBodyError(_t2); + case 14: + return _context6.a(2); + } + }, _callee6, null, [[8,, 9, 11], [1, 6, 7, 12], [0, 13]]); + }))(); + } + _context10.p = 1; + _context10.n = 2; + return dispatch({ + body: requestBody + }); + case 2: + _yield$dispatch = _context10.v; + body = _yield$dispatch.body; + status = _yield$dispatch.status; + statusText = _yield$dispatch.statusText; + headersList = _yield$dispatch.headersList; + socket = _yield$dispatch.socket; + if (socket) { + response = makeResponse({ + status: status, + statusText: statusText, + headersList: headersList, + socket: socket + }); + } else { + iterator = body[Symbol.asyncIterator](); + fetchParams.controller.next = function () { + return iterator.next(); + }; + response = makeResponse({ + status: status, + statusText: statusText, + headersList: headersList + }); + } + _context10.n = 5; + break; + case 3: + _context10.p = 3; + _t4 = _context10.v; + if (!(_t4.name === 'AbortError')) { + _context10.n = 4; + break; + } + // 1. If connection uses HTTP/2, then transmit an RST_STREAM frame. + fetchParams.controller.connection.destroy(); + + // 2. Return the appropriate network error for fetchParams. + return _context10.a(2, makeAppropriateNetworkError(fetchParams, _t4)); + case 4: + return _context10.a(2, makeNetworkError(_t4)); + case 5: + // 11. Let pullAlgorithm be an action that resumes the ongoing fetch + // if it is suspended. + pullAlgorithm = /*#__PURE__*/function () { + var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() { + return _regenerator().w(function (_context7) { + while (1) switch (_context7.n) { + case 0: + _context7.n = 1; + return fetchParams.controller.resume(); + case 1: + return _context7.a(2); + } + }, _callee7); + })); + return function pullAlgorithm() { + return _ref4.apply(this, arguments); + }; + }(); // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams’s + // controller with reason, given reason. + cancelAlgorithm = function cancelAlgorithm(reason) { + // If the aborted fetch was already terminated, then we do not + // need to do anything. + if (!isCancelled(fetchParams)) { + fetchParams.controller.abort(reason); + } + }; // 13. Let highWaterMark be a non-negative, non-NaN number, chosen by + // the user agent. + // TODO + // 14. Let sizeAlgorithm be an algorithm that accepts a chunk object + // and returns a non-negative, non-NaN, non-infinite number, chosen by the user agent. + // TODO + // 15. Let stream be a new ReadableStream. + // 16. Set up stream with byte reading support with pullAlgorithm set to pullAlgorithm, + // cancelAlgorithm set to cancelAlgorithm. + stream = new ReadableStream({ + start: function start(controller) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() { + return _regenerator().w(function (_context8) { + while (1) switch (_context8.n) { + case 0: + fetchParams.controller.controller = controller; + case 1: + return _context8.a(2); + } + }, _callee8); + }))(); + }, + pull: function pull(controller) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() { + return _regenerator().w(function (_context9) { + while (1) switch (_context9.n) { + case 0: + _context9.n = 1; + return pullAlgorithm(controller); + case 1: + return _context9.a(2); + } + }, _callee9); + }))(); + }, + cancel: function cancel(reason) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0() { + return _regenerator().w(function (_context0) { + while (1) switch (_context0.n) { + case 0: + _context0.n = 1; + return cancelAlgorithm(reason); + case 1: + return _context0.a(2); + } + }, _callee0); + }))(); + }, + type: 'bytes' + }); // 17. Run these steps, but abort when the ongoing fetch is terminated: + // 1. Set response’s body to a new body whose stream is stream. + response.body = { + stream: stream, + source: null, + length: null + }; + + // 2. If response is not a network error and request’s cache mode is + // not "no-store", then update response in httpCache for request. + // TODO + + // 3. If includeCredentials is true and the user agent is not configured + // to block cookies for request (see section 7 of [COOKIES]), then run the + // "set-cookie-string" parsing algorithm (see section 5.2 of [COOKIES]) on + // the value of each header whose name is a byte-case-insensitive match for + // `Set-Cookie` in response’s header list, if any, and request’s current URL. + // TODO + + // 18. If aborted, then: + // TODO + + // 19. Run these steps in parallel: + + // 1. Run these steps, but abort when fetchParams is canceled: + fetchParams.controller.onAborted = onAborted; + fetchParams.controller.on('terminated', onAborted); + fetchParams.controller.resume = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() { + var _bytes$byteLength, _bytes, bytes, isFailure, _yield$fetchParams$co, done, value, buffer, _t3; + return _regenerator().w(function (_context1) { + while (1) switch (_context1.p = _context1.n) { + case 0: + if (false) // removed by dead control flow +{} + // 1-3. See onData... + // 4. Set bytes to the result of handling content codings given + // codings and bytes. + bytes = void 0; + isFailure = void 0; + _context1.p = 1; + _context1.n = 2; + return fetchParams.controller.next(); + case 2: + _yield$fetchParams$co = _context1.v; + done = _yield$fetchParams$co.done; + value = _yield$fetchParams$co.value; + if (!isAborted(fetchParams)) { + _context1.n = 3; + break; + } + return _context1.a(3, 10); + case 3: + bytes = done ? undefined : value; + _context1.n = 5; + break; + case 4: + _context1.p = 4; + _t3 = _context1.v; + if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { + // zlib doesn't like empty streams. + bytes = undefined; + } else { + bytes = _t3; + + // err may be propagated from the result of calling readablestream.cancel, + // which might not be an error. https://github.com/nodejs/undici/issues/2009 + isFailure = true; + } + case 5: + if (!(bytes === undefined)) { + _context1.n = 6; + break; + } + // 2. Otherwise, if the bytes transmission for response’s message + // body is done normally and stream is readable, then close + // stream, finalize response for fetchParams and response, and + // abort these in-parallel steps. + readableStreamClose(fetchParams.controller.controller); + finalizeResponse(fetchParams, response); + return _context1.a(2); + case 6: + // 5. Increase timingInfo’s decoded body size by bytes’s length. + timingInfo.decodedBodySize += (_bytes$byteLength = (_bytes = bytes) === null || _bytes === void 0 ? void 0 : _bytes.byteLength) !== null && _bytes$byteLength !== void 0 ? _bytes$byteLength : 0; + + // 6. If bytes is failure, then terminate fetchParams’s controller. + if (!isFailure) { + _context1.n = 7; + break; + } + fetchParams.controller.terminate(bytes); + return _context1.a(2); + case 7: + // 7. Enqueue a Uint8Array wrapping an ArrayBuffer containing bytes + // into stream. + buffer = new Uint8Array(bytes); + if (buffer.byteLength) { + fetchParams.controller.controller.enqueue(buffer); + } + + // 8. If stream is errored, then terminate the ongoing fetch. + if (!isErrored(stream)) { + _context1.n = 8; + break; + } + fetchParams.controller.terminate(); + return _context1.a(2); + case 8: + if (!(fetchParams.controller.controller.desiredSize <= 0)) { + _context1.n = 9; + break; + } + return _context1.a(2); + case 9: + _context1.n = 0; + break; + case 10: + return _context1.a(2); + } + }, _callee1, null, [[1, 4]]); + })); + + // 2. If aborted, then: + return _context10.a(2, response); + } + }, _callee10, null, [[1, 3]]); + })); + return _httpNetworkFetch.apply(this, arguments); +} +module.exports = { + fetch: fetch, + Fetch: Fetch, + fetching: fetching, + finalizeAndReportTiming: finalizeAndReportTiming +}; + +/***/ }, + +/***/ 1447 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +/* globals AbortController */ + + + +var _defineProperty = (__webpack_require__(3693)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _require = __webpack_require__(3476), + extractBody = _require.extractBody, + mixinBody = _require.mixinBody, + cloneBody = _require.cloneBody, + bodyUnusable = _require.bodyUnusable; +var _require2 = __webpack_require__(8588), + Headers = _require2.Headers, + fillHeaders = _require2.fill, + HeadersList = _require2.HeadersList, + setHeadersGuard = _require2.setHeadersGuard, + getHeadersGuard = _require2.getHeadersGuard, + setHeadersList = _require2.setHeadersList, + getHeadersList = _require2.getHeadersList; +var _require3 = __webpack_require__(4997)(), + FinalizationRegistry = _require3.FinalizationRegistry; +var util = __webpack_require__(6632); +var nodeUtil = __webpack_require__(7975); +var _require4 = __webpack_require__(8440), + isValidHTTPToken = _require4.isValidHTTPToken, + sameOrigin = _require4.sameOrigin, + environmentSettingsObject = _require4.environmentSettingsObject; +var _require5 = __webpack_require__(1319), + forbiddenMethodsSet = _require5.forbiddenMethodsSet, + corsSafeListedMethodsSet = _require5.corsSafeListedMethodsSet, + referrerPolicy = _require5.referrerPolicy, + requestRedirect = _require5.requestRedirect, + requestMode = _require5.requestMode, + requestCredentials = _require5.requestCredentials, + requestCache = _require5.requestCache, + requestDuplex = _require5.requestDuplex; +var kEnumerableProperty = util.kEnumerableProperty, + normalizedMethodRecordsBase = util.normalizedMethodRecordsBase, + normalizedMethodRecords = util.normalizedMethodRecords; +var _require6 = __webpack_require__(4003), + kHeaders = _require6.kHeaders, + kSignal = _require6.kSignal, + kState = _require6.kState, + kDispatcher = _require6.kDispatcher; +var _require7 = __webpack_require__(2861), + webidl = _require7.webidl; +var _require8 = __webpack_require__(8388), + URLSerializer = _require8.URLSerializer; +var _require9 = __webpack_require__(6771), + kConstruct = _require9.kConstruct; +var assert = __webpack_require__(4589); +var _require0 = __webpack_require__(8474), + getMaxListeners = _require0.getMaxListeners, + setMaxListeners = _require0.setMaxListeners, + getEventListeners = _require0.getEventListeners, + defaultMaxListeners = _require0.defaultMaxListeners; +var kAbortController = Symbol('abortController'); +var requestFinalizer = new FinalizationRegistry(function (_ref) { + var signal = _ref.signal, + abort = _ref.abort; + signal.removeEventListener('abort', abort); +}); +var dependentControllerMap = new WeakMap(); +function buildAbort(acRef) { + return abort; + function abort() { + var ac = acRef.deref(); + if (ac !== undefined) { + // Currently, there is a problem with FinalizationRegistry. + // https://github.com/nodejs/node/issues/49344 + // https://github.com/nodejs/node/issues/47748 + // In the case of abort, the first step is to unregister from it. + // If the controller can refer to it, it is still registered. + // It will be removed in the future. + requestFinalizer.unregister(abort); + + // Unsubscribe a listener. + // FinalizationRegistry will no longer be called, so this must be done. + this.removeEventListener('abort', abort); + ac.abort(this.reason); + var controllerList = dependentControllerMap.get(ac.signal); + if (controllerList !== undefined) { + if (controllerList.size !== 0) { + var _iterator = _createForOfIteratorHelper(controllerList), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var ref = _step.value; + var ctrl = ref.deref(); + if (ctrl !== undefined) { + ctrl.abort(this.reason); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + controllerList.clear(); + } + dependentControllerMap["delete"](ac.signal); + } + } + } +} +var patchMethodWarning = false; + +// https://fetch.spec.whatwg.org/#request-class +var Request = /*#__PURE__*/function (_nodeUtil$inspect$cus) { + // https://fetch.spec.whatwg.org/#dom-request + function Request(input) { + var _request$window; + var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Request); + webidl.util.markAsUncloneable(this); + if (input === kConstruct) { + return; + } + var prefix = 'Request constructor'; + webidl.argumentLengthCheck(arguments, 1, prefix); + input = webidl.converters.RequestInfo(input, prefix, 'input'); + init = webidl.converters.RequestInit(init, prefix, 'init'); + + // 1. Let request be null. + var request = null; + + // 2. Let fallbackMode be null. + var fallbackMode = null; + + // 3. Let baseURL be this’s relevant settings object’s API base URL. + var baseUrl = environmentSettingsObject.settingsObject.baseUrl; + + // 4. Let signal be null. + var signal = null; + + // 5. If input is a string, then: + if (typeof input === 'string') { + this[kDispatcher] = init.dispatcher; + + // 1. Let parsedURL be the result of parsing input with baseURL. + // 2. If parsedURL is failure, then throw a TypeError. + var parsedURL; + try { + parsedURL = new URL(input, baseUrl); + } catch (err) { + throw new TypeError('Failed to parse URL from ' + input, { + cause: err + }); + } + + // 3. If parsedURL includes credentials, then throw a TypeError. + if (parsedURL.username || parsedURL.password) { + throw new TypeError('Request cannot be constructed from a URL that includes credentials: ' + input); + } + + // 4. Set request to a new request whose URL is parsedURL. + request = makeRequest({ + urlList: [parsedURL] + }); + + // 5. Set fallbackMode to "cors". + fallbackMode = 'cors'; + } else { + this[kDispatcher] = init.dispatcher || input[kDispatcher]; + + // 6. Otherwise: + + // 7. Assert: input is a Request object. + assert(input instanceof Request); + + // 8. Set request to input’s request. + request = input[kState]; + + // 9. Set signal to input’s signal. + signal = input[kSignal]; + } + + // 7. Let origin be this’s relevant settings object’s origin. + var origin = environmentSettingsObject.settingsObject.origin; + + // 8. Let window be "client". + var window = 'client'; + + // 9. If request’s window is an environment settings object and its origin + // is same origin with origin, then set window to request’s window. + if (((_request$window = request.window) === null || _request$window === void 0 || (_request$window = _request$window.constructor) === null || _request$window === void 0 ? void 0 : _request$window.name) === 'EnvironmentSettingsObject' && sameOrigin(request.window, origin)) { + window = request.window; + } + + // 10. If init["window"] exists and is non-null, then throw a TypeError. + if (init.window != null) { + throw new TypeError("'window' option '".concat(window, "' must be null")); + } + + // 11. If init["window"] exists, then set window to "no-window". + if ('window' in init) { + window = 'no-window'; + } + + // 12. Set request to a new request with the following properties: + request = makeRequest({ + // URL request’s URL. + // undici implementation note: this is set as the first item in request's urlList in makeRequest + // method request’s method. + method: request.method, + // header list A copy of request’s header list. + // undici implementation note: headersList is cloned in makeRequest + headersList: request.headersList, + // unsafe-request flag Set. + unsafeRequest: request.unsafeRequest, + // client This’s relevant settings object. + client: environmentSettingsObject.settingsObject, + // window window. + window: window, + // priority request’s priority. + priority: request.priority, + // origin request’s origin. The propagation of the origin is only significant for navigation requests + // being handled by a service worker. In this scenario a request can have an origin that is different + // from the current client. + origin: request.origin, + // referrer request’s referrer. + referrer: request.referrer, + // referrer policy request’s referrer policy. + referrerPolicy: request.referrerPolicy, + // mode request’s mode. + mode: request.mode, + // credentials mode request’s credentials mode. + credentials: request.credentials, + // cache mode request’s cache mode. + cache: request.cache, + // redirect mode request’s redirect mode. + redirect: request.redirect, + // integrity metadata request’s integrity metadata. + integrity: request.integrity, + // keepalive request’s keepalive. + keepalive: request.keepalive, + // reload-navigation flag request’s reload-navigation flag. + reloadNavigation: request.reloadNavigation, + // history-navigation flag request’s history-navigation flag. + historyNavigation: request.historyNavigation, + // URL list A clone of request’s URL list. + urlList: _toConsumableArray(request.urlList) + }); + var initHasKey = Object.keys(init).length !== 0; + + // 13. If init is not empty, then: + if (initHasKey) { + // 1. If request’s mode is "navigate", then set it to "same-origin". + if (request.mode === 'navigate') { + request.mode = 'same-origin'; + } + + // 2. Unset request’s reload-navigation flag. + request.reloadNavigation = false; + + // 3. Unset request’s history-navigation flag. + request.historyNavigation = false; + + // 4. Set request’s origin to "client". + request.origin = 'client'; + + // 5. Set request’s referrer to "client" + request.referrer = 'client'; + + // 6. Set request’s referrer policy to the empty string. + request.referrerPolicy = ''; + + // 7. Set request’s URL to request’s current URL. + request.url = request.urlList[request.urlList.length - 1]; + + // 8. Set request’s URL list to « request’s URL ». + request.urlList = [request.url]; + } + + // 14. If init["referrer"] exists, then: + if (init.referrer !== undefined) { + // 1. Let referrer be init["referrer"]. + var referrer = init.referrer; + + // 2. If referrer is the empty string, then set request’s referrer to "no-referrer". + if (referrer === '') { + request.referrer = 'no-referrer'; + } else { + // 1. Let parsedReferrer be the result of parsing referrer with + // baseURL. + // 2. If parsedReferrer is failure, then throw a TypeError. + var parsedReferrer; + try { + parsedReferrer = new URL(referrer, baseUrl); + } catch (err) { + throw new TypeError("Referrer \"".concat(referrer, "\" is not a valid URL."), { + cause: err + }); + } + + // 3. If one of the following is true + // - parsedReferrer’s scheme is "about" and path is the string "client" + // - parsedReferrer’s origin is not same origin with origin + // then set request’s referrer to "client". + if (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client' || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) { + request.referrer = 'client'; + } else { + // 4. Otherwise, set request’s referrer to parsedReferrer. + request.referrer = parsedReferrer; + } + } + } + + // 15. If init["referrerPolicy"] exists, then set request’s referrer policy + // to it. + if (init.referrerPolicy !== undefined) { + request.referrerPolicy = init.referrerPolicy; + } + + // 16. Let mode be init["mode"] if it exists, and fallbackMode otherwise. + var mode; + if (init.mode !== undefined) { + mode = init.mode; + } else { + mode = fallbackMode; + } + + // 17. If mode is "navigate", then throw a TypeError. + if (mode === 'navigate') { + throw webidl.errors.exception({ + header: 'Request constructor', + message: 'invalid request mode navigate.' + }); + } + + // 18. If mode is non-null, set request’s mode to mode. + if (mode != null) { + request.mode = mode; + } + + // 19. If init["credentials"] exists, then set request’s credentials mode + // to it. + if (init.credentials !== undefined) { + request.credentials = init.credentials; + } + + // 18. If init["cache"] exists, then set request’s cache mode to it. + if (init.cache !== undefined) { + request.cache = init.cache; + } + + // 21. If request’s cache mode is "only-if-cached" and request’s mode is + // not "same-origin", then throw a TypeError. + if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') { + throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode"); + } + + // 22. If init["redirect"] exists, then set request’s redirect mode to it. + if (init.redirect !== undefined) { + request.redirect = init.redirect; + } + + // 23. If init["integrity"] exists, then set request’s integrity metadata to it. + if (init.integrity != null) { + request.integrity = String(init.integrity); + } + + // 24. If init["keepalive"] exists, then set request’s keepalive to it. + if (init.keepalive !== undefined) { + request.keepalive = Boolean(init.keepalive); + } + + // 25. If init["method"] exists, then: + if (init.method !== undefined) { + // 1. Let method be init["method"]. + var method = init.method; + var mayBeNormalized = normalizedMethodRecords[method]; + if (mayBeNormalized !== undefined) { + // Note: Bypass validation DELETE, GET, HEAD, OPTIONS, POST, PUT, PATCH and these lowercase ones + request.method = mayBeNormalized; + } else { + var _normalizedMethodReco; + // 2. If method is not a method or method is a forbidden method, then + // throw a TypeError. + if (!isValidHTTPToken(method)) { + throw new TypeError("'".concat(method, "' is not a valid HTTP method.")); + } + var upperCase = method.toUpperCase(); + if (forbiddenMethodsSet.has(upperCase)) { + throw new TypeError("'".concat(method, "' HTTP method is unsupported.")); + } + + // 3. Normalize method. + // https://fetch.spec.whatwg.org/#concept-method-normalize + // Note: must be in uppercase + method = (_normalizedMethodReco = normalizedMethodRecordsBase[upperCase]) !== null && _normalizedMethodReco !== void 0 ? _normalizedMethodReco : method; + + // 4. Set request’s method to method. + request.method = method; + } + if (!patchMethodWarning && request.method === 'patch') { + process.emitWarning('Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.', { + code: 'UNDICI-FETCH-patch' + }); + patchMethodWarning = true; + } + } + + // 26. If init["signal"] exists, then set signal to it. + if (init.signal !== undefined) { + signal = init.signal; + } + + // 27. Set this’s request to request. + this[kState] = request; + + // 28. Set this’s signal to a new AbortSignal object with this’s relevant + // Realm. + // TODO: could this be simplified with AbortSignal.any + // (https://dom.spec.whatwg.org/#dom-abortsignal-any) + var ac = new AbortController(); + this[kSignal] = ac.signal; + + // 29. If signal is not null, then make this’s signal follow signal. + if (signal != null) { + if (!signal || typeof signal.aborted !== 'boolean' || typeof signal.addEventListener !== 'function') { + throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal."); + } + if (signal.aborted) { + ac.abort(signal.reason); + } else { + // Keep a strong ref to ac while request object + // is alive. This is needed to prevent AbortController + // from being prematurely garbage collected. + // See, https://github.com/nodejs/undici/issues/1926. + this[kAbortController] = ac; + var acRef = new WeakRef(ac); + var abort = buildAbort(acRef); + + // Third-party AbortControllers may not work with these. + // See, https://github.com/nodejs/undici/pull/1910#issuecomment-1464495619. + try { + // If the max amount of listeners is equal to the default, increase it + // This is only available in node >= v19.9.0 + if (typeof getMaxListeners === 'function' && getMaxListeners(signal) === defaultMaxListeners) { + setMaxListeners(1500, signal); + } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) { + setMaxListeners(1500, signal); + } + } catch (_unused) {} + util.addAbortListener(signal, abort); + // The third argument must be a registry key to be unregistered. + // Without it, you cannot unregister. + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry + // abort is used as the unregister key. (because it is unique) + requestFinalizer.register(ac, { + signal: signal, + abort: abort + }, abort); + } + } + + // 30. Set this’s headers to a new Headers object with this’s relevant + // Realm, whose header list is request’s header list and guard is + // "request". + this[kHeaders] = new Headers(kConstruct); + setHeadersList(this[kHeaders], request.headersList); + setHeadersGuard(this[kHeaders], 'request'); + + // 31. If this’s request’s mode is "no-cors", then: + if (mode === 'no-cors') { + // 1. If this’s request’s method is not a CORS-safelisted method, + // then throw a TypeError. + if (!corsSafeListedMethodsSet.has(request.method)) { + throw new TypeError("'".concat(request.method, " is unsupported in no-cors mode.")); + } + + // 2. Set this’s headers’s guard to "request-no-cors". + setHeadersGuard(this[kHeaders], 'request-no-cors'); + } + + // 32. If init is not empty, then: + if (initHasKey) { + /** @type {HeadersList} */ + var headersList = getHeadersList(this[kHeaders]); + // 1. Let headers be a copy of this’s headers and its associated header + // list. + // 2. If init["headers"] exists, then set headers to init["headers"]. + var headers = init.headers !== undefined ? init.headers : new HeadersList(headersList); + + // 3. Empty this’s headers’s header list. + headersList.clear(); + + // 4. If headers is a Headers object, then for each header in its header + // list, append header’s name/header’s value to this’s headers. + if (headers instanceof HeadersList) { + var _iterator2 = _createForOfIteratorHelper(headers.rawValues()), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _step2$value = _step2.value, + name = _step2$value.name, + value = _step2$value.value; + headersList.append(name, value, false); + } + // Note: Copy the `set-cookie` meta-data. + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + headersList.cookies = headers.cookies; + } else { + // 5. Otherwise, fill this’s headers with headers. + fillHeaders(this[kHeaders], headers); + } + } + + // 33. Let inputBody be input’s request’s body if input is a Request + // object; otherwise null. + var inputBody = input instanceof Request ? input[kState].body : null; + + // 34. If either init["body"] exists and is non-null or inputBody is + // non-null, and request’s method is `GET` or `HEAD`, then throw a + // TypeError. + if ((init.body != null || inputBody != null) && (request.method === 'GET' || request.method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body.'); + } + + // 35. Let initBody be null. + var initBody = null; + + // 36. If init["body"] exists and is non-null, then: + if (init.body != null) { + // 1. Let Content-Type be null. + // 2. Set initBody and Content-Type to the result of extracting + // init["body"], with keepalive set to request’s keepalive. + var _extractBody = extractBody(init.body, request.keepalive), + _extractBody2 = _slicedToArray(_extractBody, 2), + extractedBody = _extractBody2[0], + contentType = _extractBody2[1]; + initBody = extractedBody; + + // 3, If Content-Type is non-null and this’s headers’s header list does + // not contain `Content-Type`, then append `Content-Type`/Content-Type to + // this’s headers. + if (contentType && !getHeadersList(this[kHeaders]).contains('content-type', true)) { + this[kHeaders].append('content-type', contentType); + } + } + + // 37. Let inputOrInitBody be initBody if it is non-null; otherwise + // inputBody. + var inputOrInitBody = initBody !== null && initBody !== void 0 ? initBody : inputBody; + + // 38. If inputOrInitBody is non-null and inputOrInitBody’s source is + // null, then: + if (inputOrInitBody != null && inputOrInitBody.source == null) { + // 1. If initBody is non-null and init["duplex"] does not exist, + // then throw a TypeError. + if (initBody != null && init.duplex == null) { + throw new TypeError('RequestInit: duplex option is required when sending a body.'); + } + + // 2. If this’s request’s mode is neither "same-origin" nor "cors", + // then throw a TypeError. + if (request.mode !== 'same-origin' && request.mode !== 'cors') { + throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"'); + } + + // 3. Set this’s request’s use-CORS-preflight flag. + request.useCORSPreflightFlag = true; + } + + // 39. Let finalBody be inputOrInitBody. + var finalBody = inputOrInitBody; + + // 40. If initBody is null and inputBody is non-null, then: + if (initBody == null && inputBody != null) { + // 1. If input is unusable, then throw a TypeError. + if (bodyUnusable(input)) { + throw new TypeError('Cannot construct a Request with a Request object that has already been used.'); + } + + // 2. Set finalBody to the result of creating a proxy for inputBody. + // https://streams.spec.whatwg.org/#readablestream-create-a-proxy + var identityTransform = new TransformStream(); + inputBody.stream.pipeThrough(identityTransform); + finalBody = { + source: inputBody.source, + length: inputBody.length, + stream: identityTransform.readable + }; + } + + // 41. Set this’s request’s body to finalBody. + this[kState].body = finalBody; + } + + // Returns request’s HTTP method, which is "GET" by default. + return _createClass(Request, [{ + key: "method", + get: function get() { + webidl.brandCheck(this, Request); + + // The method getter steps are to return this’s request’s method. + return this[kState].method; + } + + // Returns the URL of request as a string. + }, { + key: "url", + get: function get() { + webidl.brandCheck(this, Request); + + // The url getter steps are to return this’s request’s URL, serialized. + return URLSerializer(this[kState].url); + } + + // Returns a Headers object consisting of the headers associated with request. + // Note that headers added in the network layer by the user agent will not + // be accounted for in this object, e.g., the "Host" header. + }, { + key: "headers", + get: function get() { + webidl.brandCheck(this, Request); + + // The headers getter steps are to return this’s headers. + return this[kHeaders]; + } + + // Returns the kind of resource requested by request, e.g., "document" + // or "script". + }, { + key: "destination", + get: function get() { + webidl.brandCheck(this, Request); + + // The destination getter are to return this’s request’s destination. + return this[kState].destination; + } + + // Returns the referrer of request. Its value can be a same-origin URL if + // explicitly set in init, the empty string to indicate no referrer, and + // "about:client" when defaulting to the global’s default. This is used + // during fetching to determine the value of the `Referer` header of the + // request being made. + }, { + key: "referrer", + get: function get() { + webidl.brandCheck(this, Request); + + // 1. If this’s request’s referrer is "no-referrer", then return the + // empty string. + if (this[kState].referrer === 'no-referrer') { + return ''; + } + + // 2. If this’s request’s referrer is "client", then return + // "about:client". + if (this[kState].referrer === 'client') { + return 'about:client'; + } + + // Return this’s request’s referrer, serialized. + return this[kState].referrer.toString(); + } + + // Returns the referrer policy associated with request. + // This is used during fetching to compute the value of the request’s + // referrer. + }, { + key: "referrerPolicy", + get: function get() { + webidl.brandCheck(this, Request); + + // The referrerPolicy getter steps are to return this’s request’s referrer policy. + return this[kState].referrerPolicy; + } + + // Returns the mode associated with request, which is a string indicating + // whether the request will use CORS, or will be restricted to same-origin + // URLs. + }, { + key: "mode", + get: function get() { + webidl.brandCheck(this, Request); + + // The mode getter steps are to return this’s request’s mode. + return this[kState].mode; + } + + // Returns the credentials mode associated with request, + // which is a string indicating whether credentials will be sent with the + // request always, never, or only when sent to a same-origin URL. + }, { + key: "credentials", + get: function get() { + // The credentials getter steps are to return this’s request’s credentials mode. + return this[kState].credentials; + } + + // Returns the cache mode associated with request, + // which is a string indicating how the request will + // interact with the browser’s cache when fetching. + }, { + key: "cache", + get: function get() { + webidl.brandCheck(this, Request); + + // The cache getter steps are to return this’s request’s cache mode. + return this[kState].cache; + } + + // Returns the redirect mode associated with request, + // which is a string indicating how redirects for the + // request will be handled during fetching. A request + // will follow redirects by default. + }, { + key: "redirect", + get: function get() { + webidl.brandCheck(this, Request); + + // The redirect getter steps are to return this’s request’s redirect mode. + return this[kState].redirect; + } + + // Returns request’s subresource integrity metadata, which is a + // cryptographic hash of the resource being fetched. Its value + // consists of multiple hashes separated by whitespace. [SRI] + }, { + key: "integrity", + get: function get() { + webidl.brandCheck(this, Request); + + // The integrity getter steps are to return this’s request’s integrity + // metadata. + return this[kState].integrity; + } + + // Returns a boolean indicating whether or not request can outlive the + // global in which it was created. + }, { + key: "keepalive", + get: function get() { + webidl.brandCheck(this, Request); + + // The keepalive getter steps are to return this’s request’s keepalive. + return this[kState].keepalive; + } + + // Returns a boolean indicating whether or not request is for a reload + // navigation. + }, { + key: "isReloadNavigation", + get: function get() { + webidl.brandCheck(this, Request); + + // The isReloadNavigation getter steps are to return true if this’s + // request’s reload-navigation flag is set; otherwise false. + return this[kState].reloadNavigation; + } + + // Returns a boolean indicating whether or not request is for a history + // navigation (a.k.a. back-forward navigation). + }, { + key: "isHistoryNavigation", + get: function get() { + webidl.brandCheck(this, Request); + + // The isHistoryNavigation getter steps are to return true if this’s request’s + // history-navigation flag is set; otherwise false. + return this[kState].historyNavigation; + } + + // Returns the signal associated with request, which is an AbortSignal + // object indicating whether or not request has been aborted, and its + // abort event handler. + }, { + key: "signal", + get: function get() { + webidl.brandCheck(this, Request); + + // The signal getter steps are to return this’s signal. + return this[kSignal]; + } + }, { + key: "body", + get: function get() { + webidl.brandCheck(this, Request); + return this[kState].body ? this[kState].body.stream : null; + } + }, { + key: "bodyUsed", + get: function get() { + webidl.brandCheck(this, Request); + return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + } + }, { + key: "duplex", + get: function get() { + webidl.brandCheck(this, Request); + return 'half'; + } + + // Returns a clone of request. + }, { + key: "clone", + value: function clone() { + webidl.brandCheck(this, Request); + + // 1. If this is unusable, then throw a TypeError. + if (bodyUnusable(this)) { + throw new TypeError('unusable'); + } + + // 2. Let clonedRequest be the result of cloning this’s request. + var clonedRequest = cloneRequest(this[kState]); + + // 3. Let clonedRequestObject be the result of creating a Request object, + // given clonedRequest, this’s headers’s guard, and this’s relevant Realm. + // 4. Make clonedRequestObject’s signal follow this’s signal. + var ac = new AbortController(); + if (this.signal.aborted) { + ac.abort(this.signal.reason); + } else { + var list = dependentControllerMap.get(this.signal); + if (list === undefined) { + list = new Set(); + dependentControllerMap.set(this.signal, list); + } + var acRef = new WeakRef(ac); + list.add(acRef); + util.addAbortListener(ac.signal, buildAbort(acRef)); + } + + // 4. Return clonedRequestObject. + return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders])); + } + }, { + key: _nodeUtil$inspect$cus, + value: function value(depth, options) { + var _options$colors; + if (options.depth === null) { + options.depth = 2; + } + (_options$colors = options.colors) !== null && _options$colors !== void 0 ? _options$colors : options.colors = true; + var properties = { + method: this.method, + url: this.url, + headers: this.headers, + destination: this.destination, + referrer: this.referrer, + referrerPolicy: this.referrerPolicy, + mode: this.mode, + credentials: this.credentials, + cache: this.cache, + redirect: this.redirect, + integrity: this.integrity, + keepalive: this.keepalive, + isReloadNavigation: this.isReloadNavigation, + isHistoryNavigation: this.isHistoryNavigation, + signal: this.signal + }; + return "Request ".concat(nodeUtil.formatWithOptions(options, properties)); + } + }]); +}(nodeUtil.inspect.custom); +mixinBody(Request); + +// https://fetch.spec.whatwg.org/#requests +function makeRequest(init) { + var _init$method, _init$localURLsOnly, _init$unsafeRequest, _init$body, _init$client, _init$reservedClient, _init$replacesClientI, _init$window, _init$keepalive, _init$serviceWorkers, _init$initiator, _init$destination, _init$priority, _init$origin, _init$policyContainer, _init$referrer, _init$referrerPolicy, _init$mode, _init$useCORSPrefligh, _init$credentials, _init$useCredentials, _init$cache, _init$redirect, _init$integrity, _init$cryptoGraphicsN, _init$parserMetadata, _init$reloadNavigatio, _init$historyNavigati, _init$userActivation, _init$taintedOrigin, _init$redirectCount, _init$responseTaintin, _init$preventNoCacheC, _init$done, _init$timingAllowFail; + return { + method: (_init$method = init.method) !== null && _init$method !== void 0 ? _init$method : 'GET', + localURLsOnly: (_init$localURLsOnly = init.localURLsOnly) !== null && _init$localURLsOnly !== void 0 ? _init$localURLsOnly : false, + unsafeRequest: (_init$unsafeRequest = init.unsafeRequest) !== null && _init$unsafeRequest !== void 0 ? _init$unsafeRequest : false, + body: (_init$body = init.body) !== null && _init$body !== void 0 ? _init$body : null, + client: (_init$client = init.client) !== null && _init$client !== void 0 ? _init$client : null, + reservedClient: (_init$reservedClient = init.reservedClient) !== null && _init$reservedClient !== void 0 ? _init$reservedClient : null, + replacesClientId: (_init$replacesClientI = init.replacesClientId) !== null && _init$replacesClientI !== void 0 ? _init$replacesClientI : '', + window: (_init$window = init.window) !== null && _init$window !== void 0 ? _init$window : 'client', + keepalive: (_init$keepalive = init.keepalive) !== null && _init$keepalive !== void 0 ? _init$keepalive : false, + serviceWorkers: (_init$serviceWorkers = init.serviceWorkers) !== null && _init$serviceWorkers !== void 0 ? _init$serviceWorkers : 'all', + initiator: (_init$initiator = init.initiator) !== null && _init$initiator !== void 0 ? _init$initiator : '', + destination: (_init$destination = init.destination) !== null && _init$destination !== void 0 ? _init$destination : '', + priority: (_init$priority = init.priority) !== null && _init$priority !== void 0 ? _init$priority : null, + origin: (_init$origin = init.origin) !== null && _init$origin !== void 0 ? _init$origin : 'client', + policyContainer: (_init$policyContainer = init.policyContainer) !== null && _init$policyContainer !== void 0 ? _init$policyContainer : 'client', + referrer: (_init$referrer = init.referrer) !== null && _init$referrer !== void 0 ? _init$referrer : 'client', + referrerPolicy: (_init$referrerPolicy = init.referrerPolicy) !== null && _init$referrerPolicy !== void 0 ? _init$referrerPolicy : '', + mode: (_init$mode = init.mode) !== null && _init$mode !== void 0 ? _init$mode : 'no-cors', + useCORSPreflightFlag: (_init$useCORSPrefligh = init.useCORSPreflightFlag) !== null && _init$useCORSPrefligh !== void 0 ? _init$useCORSPrefligh : false, + credentials: (_init$credentials = init.credentials) !== null && _init$credentials !== void 0 ? _init$credentials : 'same-origin', + useCredentials: (_init$useCredentials = init.useCredentials) !== null && _init$useCredentials !== void 0 ? _init$useCredentials : false, + cache: (_init$cache = init.cache) !== null && _init$cache !== void 0 ? _init$cache : 'default', + redirect: (_init$redirect = init.redirect) !== null && _init$redirect !== void 0 ? _init$redirect : 'follow', + integrity: (_init$integrity = init.integrity) !== null && _init$integrity !== void 0 ? _init$integrity : '', + cryptoGraphicsNonceMetadata: (_init$cryptoGraphicsN = init.cryptoGraphicsNonceMetadata) !== null && _init$cryptoGraphicsN !== void 0 ? _init$cryptoGraphicsN : '', + parserMetadata: (_init$parserMetadata = init.parserMetadata) !== null && _init$parserMetadata !== void 0 ? _init$parserMetadata : '', + reloadNavigation: (_init$reloadNavigatio = init.reloadNavigation) !== null && _init$reloadNavigatio !== void 0 ? _init$reloadNavigatio : false, + historyNavigation: (_init$historyNavigati = init.historyNavigation) !== null && _init$historyNavigati !== void 0 ? _init$historyNavigati : false, + userActivation: (_init$userActivation = init.userActivation) !== null && _init$userActivation !== void 0 ? _init$userActivation : false, + taintedOrigin: (_init$taintedOrigin = init.taintedOrigin) !== null && _init$taintedOrigin !== void 0 ? _init$taintedOrigin : false, + redirectCount: (_init$redirectCount = init.redirectCount) !== null && _init$redirectCount !== void 0 ? _init$redirectCount : 0, + responseTainting: (_init$responseTaintin = init.responseTainting) !== null && _init$responseTaintin !== void 0 ? _init$responseTaintin : 'basic', + preventNoCacheCacheControlHeaderModification: (_init$preventNoCacheC = init.preventNoCacheCacheControlHeaderModification) !== null && _init$preventNoCacheC !== void 0 ? _init$preventNoCacheC : false, + done: (_init$done = init.done) !== null && _init$done !== void 0 ? _init$done : false, + timingAllowFailed: (_init$timingAllowFail = init.timingAllowFailed) !== null && _init$timingAllowFail !== void 0 ? _init$timingAllowFail : false, + urlList: init.urlList, + url: init.urlList[0], + headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() + }; +} + +// https://fetch.spec.whatwg.org/#concept-request-clone +function cloneRequest(request) { + // To clone a request request, run these steps: + + // 1. Let newRequest be a copy of request, except for its body. + var newRequest = makeRequest(_objectSpread(_objectSpread({}, request), {}, { + body: null + })); + + // 2. If request’s body is non-null, set newRequest’s body to the + // result of cloning request’s body. + if (request.body != null) { + newRequest.body = cloneBody(newRequest, request.body); + } + + // 3. Return newRequest. + return newRequest; +} + +/** + * @see https://fetch.spec.whatwg.org/#request-create + * @param {any} innerRequest + * @param {AbortSignal} signal + * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard + * @returns {Request} + */ +function fromInnerRequest(innerRequest, signal, guard) { + var request = new Request(kConstruct); + request[kState] = innerRequest; + request[kSignal] = signal; + request[kHeaders] = new Headers(kConstruct); + setHeadersList(request[kHeaders], innerRequest.headersList); + setHeadersGuard(request[kHeaders], guard); + return request; +} +Object.defineProperties(Request.prototype, _defineProperty({ + method: kEnumerableProperty, + url: kEnumerableProperty, + headers: kEnumerableProperty, + redirect: kEnumerableProperty, + clone: kEnumerableProperty, + signal: kEnumerableProperty, + duplex: kEnumerableProperty, + destination: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty, + isHistoryNavigation: kEnumerableProperty, + isReloadNavigation: kEnumerableProperty, + keepalive: kEnumerableProperty, + integrity: kEnumerableProperty, + cache: kEnumerableProperty, + credentials: kEnumerableProperty, + attribute: kEnumerableProperty, + referrerPolicy: kEnumerableProperty, + referrer: kEnumerableProperty, + mode: kEnumerableProperty +}, Symbol.toStringTag, { + value: 'Request', + configurable: true +})); +webidl.converters.Request = webidl.interfaceConverter(Request); + +// https://fetch.spec.whatwg.org/#requestinfo +webidl.converters.RequestInfo = function (V, prefix, argument) { + if (typeof V === 'string') { + return webidl.converters.USVString(V, prefix, argument); + } + if (V instanceof Request) { + return webidl.converters.Request(V, prefix, argument); + } + return webidl.converters.USVString(V, prefix, argument); +}; +webidl.converters.AbortSignal = webidl.interfaceConverter(AbortSignal); + +// https://fetch.spec.whatwg.org/#requestinit +webidl.converters.RequestInit = webidl.dictionaryConverter([{ + key: 'method', + converter: webidl.converters.ByteString +}, { + key: 'headers', + converter: webidl.converters.HeadersInit +}, { + key: 'body', + converter: webidl.nullableConverter(webidl.converters.BodyInit) +}, { + key: 'referrer', + converter: webidl.converters.USVString +}, { + key: 'referrerPolicy', + converter: webidl.converters.DOMString, + // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy + allowedValues: referrerPolicy +}, { + key: 'mode', + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#concept-request-mode + allowedValues: requestMode +}, { + key: 'credentials', + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#requestcredentials + allowedValues: requestCredentials +}, { + key: 'cache', + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#requestcache + allowedValues: requestCache +}, { + key: 'redirect', + converter: webidl.converters.DOMString, + // https://fetch.spec.whatwg.org/#requestredirect + allowedValues: requestRedirect +}, { + key: 'integrity', + converter: webidl.converters.DOMString +}, { + key: 'keepalive', + converter: webidl.converters["boolean"] +}, { + key: 'signal', + converter: webidl.nullableConverter(function (signal) { + return webidl.converters.AbortSignal(signal, 'RequestInit', 'signal', { + strict: false + }); + }) +}, { + key: 'window', + converter: webidl.converters.any +}, { + key: 'duplex', + converter: webidl.converters.DOMString, + allowedValues: requestDuplex +}, { + key: 'dispatcher', + // undici specific option + converter: webidl.converters.any +}]); +module.exports = { + Request: Request, + makeRequest: makeRequest, + fromInnerRequest: fromInnerRequest, + cloneRequest: cloneRequest +}; + +/***/ }, + +/***/ 6803 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(8588), + Headers = _require.Headers, + HeadersList = _require.HeadersList, + fill = _require.fill, + getHeadersGuard = _require.getHeadersGuard, + setHeadersGuard = _require.setHeadersGuard, + setHeadersList = _require.setHeadersList; +var _require2 = __webpack_require__(3476), + extractBody = _require2.extractBody, + cloneBody = _require2.cloneBody, + mixinBody = _require2.mixinBody, + hasFinalizationRegistry = _require2.hasFinalizationRegistry, + streamRegistry = _require2.streamRegistry, + bodyUnusable = _require2.bodyUnusable; +var util = __webpack_require__(6632); +var nodeUtil = __webpack_require__(7975); +var kEnumerableProperty = util.kEnumerableProperty; +var _require3 = __webpack_require__(8440), + isValidReasonPhrase = _require3.isValidReasonPhrase, + isCancelled = _require3.isCancelled, + isAborted = _require3.isAborted, + isBlobLike = _require3.isBlobLike, + serializeJavascriptValueToJSONString = _require3.serializeJavascriptValueToJSONString, + isErrorLike = _require3.isErrorLike, + isomorphicEncode = _require3.isomorphicEncode, + relevantRealm = _require3.environmentSettingsObject; +var _require4 = __webpack_require__(1319), + redirectStatusSet = _require4.redirectStatusSet, + nullBodyStatus = _require4.nullBodyStatus; +var _require5 = __webpack_require__(4003), + kState = _require5.kState, + kHeaders = _require5.kHeaders; +var _require6 = __webpack_require__(2861), + webidl = _require6.webidl; +var _require7 = __webpack_require__(7662), + FormData = _require7.FormData; +var _require8 = __webpack_require__(8388), + URLSerializer = _require8.URLSerializer; +var _require9 = __webpack_require__(6771), + kConstruct = _require9.kConstruct; +var assert = __webpack_require__(4589); +var _require0 = __webpack_require__(7975), + types = _require0.types; +var textEncoder = new TextEncoder('utf-8'); + +// https://fetch.spec.whatwg.org/#response-class +var Response = /*#__PURE__*/function (_nodeUtil$inspect$cus) { + // https://fetch.spec.whatwg.org/#dom-response + function Response() { + var body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, Response); + webidl.util.markAsUncloneable(this); + if (body === kConstruct) { + return; + } + if (body !== null) { + body = webidl.converters.BodyInit(body); + } + init = webidl.converters.ResponseInit(init); + + // 1. Set this’s response to a new response. + this[kState] = makeResponse({}); + + // 2. Set this’s headers to a new Headers object with this’s relevant + // Realm, whose header list is this’s response’s header list and guard + // is "response". + this[kHeaders] = new Headers(kConstruct); + setHeadersGuard(this[kHeaders], 'response'); + setHeadersList(this[kHeaders], this[kState].headersList); + + // 3. Let bodyWithType be null. + var bodyWithType = null; + + // 4. If body is non-null, then set bodyWithType to the result of extracting body. + if (body != null) { + var _extractBody = extractBody(body), + _extractBody2 = _slicedToArray(_extractBody, 2), + extractedBody = _extractBody2[0], + type = _extractBody2[1]; + bodyWithType = { + body: extractedBody, + type: type + }; + } + + // 5. Perform initialize a response given this, init, and bodyWithType. + initializeResponse(this, init, bodyWithType); + } + + // Returns response’s type, e.g., "cors". + return _createClass(Response, [{ + key: "type", + get: function get() { + webidl.brandCheck(this, Response); + + // The type getter steps are to return this’s response’s type. + return this[kState].type; + } + + // Returns response’s URL, if it has one; otherwise the empty string. + }, { + key: "url", + get: function get() { + var _urlList; + webidl.brandCheck(this, Response); + var urlList = this[kState].urlList; + + // The url getter steps are to return the empty string if this’s + // response’s URL is null; otherwise this’s response’s URL, + // serialized with exclude fragment set to true. + var url = (_urlList = urlList[urlList.length - 1]) !== null && _urlList !== void 0 ? _urlList : null; + if (url === null) { + return ''; + } + return URLSerializer(url, true); + } + + // Returns whether response was obtained through a redirect. + }, { + key: "redirected", + get: function get() { + webidl.brandCheck(this, Response); + + // The redirected getter steps are to return true if this’s response’s URL + // list has more than one item; otherwise false. + return this[kState].urlList.length > 1; + } + + // Returns response’s status. + }, { + key: "status", + get: function get() { + webidl.brandCheck(this, Response); + + // The status getter steps are to return this’s response’s status. + return this[kState].status; + } + + // Returns whether response’s status is an ok status. + }, { + key: "ok", + get: function get() { + webidl.brandCheck(this, Response); + + // The ok getter steps are to return true if this’s response’s status is an + // ok status; otherwise false. + return this[kState].status >= 200 && this[kState].status <= 299; + } + + // Returns response’s status message. + }, { + key: "statusText", + get: function get() { + webidl.brandCheck(this, Response); + + // The statusText getter steps are to return this’s response’s status + // message. + return this[kState].statusText; + } + + // Returns response’s headers as Headers. + }, { + key: "headers", + get: function get() { + webidl.brandCheck(this, Response); + + // The headers getter steps are to return this’s headers. + return this[kHeaders]; + } + }, { + key: "body", + get: function get() { + webidl.brandCheck(this, Response); + return this[kState].body ? this[kState].body.stream : null; + } + }, { + key: "bodyUsed", + get: function get() { + webidl.brandCheck(this, Response); + return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + } + + // Returns a clone of response. + }, { + key: "clone", + value: function clone() { + var _this$kState$body; + webidl.brandCheck(this, Response); + + // 1. If this is unusable, then throw a TypeError. + if (bodyUnusable(this)) { + throw webidl.errors.exception({ + header: 'Response.clone', + message: 'Body has already been consumed.' + }); + } + + // 2. Let clonedResponse be the result of cloning this’s response. + var clonedResponse = cloneResponse(this[kState]); + + // Note: To re-register because of a new stream. + if (hasFinalizationRegistry && (_this$kState$body = this[kState].body) !== null && _this$kState$body !== void 0 && _this$kState$body.stream) { + streamRegistry.register(this, new WeakRef(this[kState].body.stream)); + } + + // 3. Return the result of creating a Response object, given + // clonedResponse, this’s headers’s guard, and this’s relevant Realm. + return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders])); + } + }, { + key: _nodeUtil$inspect$cus, + value: function value(depth, options) { + var _options$colors; + if (options.depth === null) { + options.depth = 2; + } + (_options$colors = options.colors) !== null && _options$colors !== void 0 ? _options$colors : options.colors = true; + var properties = { + status: this.status, + statusText: this.statusText, + headers: this.headers, + body: this.body, + bodyUsed: this.bodyUsed, + ok: this.ok, + redirected: this.redirected, + type: this.type, + url: this.url + }; + return "Response ".concat(nodeUtil.formatWithOptions(options, properties)); + } + }], [{ + key: "error", + value: + // Creates network error Response. + function error() { + // The static error() method steps are to return the result of creating a + // Response object, given a new network error, "immutable", and this’s + // relevant Realm. + var responseObject = fromInnerResponse(makeNetworkError(), 'immutable'); + return responseObject; + } + + // https://fetch.spec.whatwg.org/#dom-response-json + }, { + key: "json", + value: function json(data) { + var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + webidl.argumentLengthCheck(arguments, 1, 'Response.json'); + if (init !== null) { + init = webidl.converters.ResponseInit(init); + } + + // 1. Let bytes the result of running serialize a JavaScript value to JSON bytes on data. + var bytes = textEncoder.encode(serializeJavascriptValueToJSONString(data)); + + // 2. Let body be the result of extracting bytes. + var body = extractBody(bytes); + + // 3. Let responseObject be the result of creating a Response object, given a new response, + // "response", and this’s relevant Realm. + var responseObject = fromInnerResponse(makeResponse({}), 'response'); + + // 4. Perform initialize a response given responseObject, init, and (body, "application/json"). + initializeResponse(responseObject, init, { + body: body[0], + type: 'application/json' + }); + + // 5. Return responseObject. + return responseObject; + } + + // Creates a redirect Response that redirects to url with status status. + }, { + key: "redirect", + value: function redirect(url) { + var status = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 302; + webidl.argumentLengthCheck(arguments, 1, 'Response.redirect'); + url = webidl.converters.USVString(url); + status = webidl.converters['unsigned short'](status); + + // 1. Let parsedURL be the result of parsing url with current settings + // object’s API base URL. + // 2. If parsedURL is failure, then throw a TypeError. + // TODO: base-URL? + var parsedURL; + try { + parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl); + } catch (err) { + throw new TypeError("Failed to parse URL from ".concat(url), { + cause: err + }); + } + + // 3. If status is not a redirect status, then throw a RangeError. + if (!redirectStatusSet.has(status)) { + throw new RangeError("Invalid status code ".concat(status)); + } + + // 4. Let responseObject be the result of creating a Response object, + // given a new response, "immutable", and this’s relevant Realm. + var responseObject = fromInnerResponse(makeResponse({}), 'immutable'); + + // 5. Set responseObject’s response’s status to status. + responseObject[kState].status = status; + + // 6. Let value be parsedURL, serialized and isomorphic encoded. + var value = isomorphicEncode(URLSerializer(parsedURL)); + + // 7. Append `Location`/value to responseObject’s response’s header list. + responseObject[kState].headersList.append('location', value, true); + + // 8. Return responseObject. + return responseObject; + } + }]); +}(nodeUtil.inspect.custom); +mixinBody(Response); +Object.defineProperties(Response.prototype, _defineProperty({ + type: kEnumerableProperty, + url: kEnumerableProperty, + status: kEnumerableProperty, + ok: kEnumerableProperty, + redirected: kEnumerableProperty, + statusText: kEnumerableProperty, + headers: kEnumerableProperty, + clone: kEnumerableProperty, + body: kEnumerableProperty, + bodyUsed: kEnumerableProperty +}, Symbol.toStringTag, { + value: 'Response', + configurable: true +})); +Object.defineProperties(Response, { + json: kEnumerableProperty, + redirect: kEnumerableProperty, + error: kEnumerableProperty +}); + +// https://fetch.spec.whatwg.org/#concept-response-clone +function cloneResponse(response) { + // To clone a response response, run these steps: + + // 1. If response is a filtered response, then return a new identical + // filtered response whose internal response is a clone of response’s + // internal response. + if (response.internalResponse) { + return filterResponse(cloneResponse(response.internalResponse), response.type); + } + + // 2. Let newResponse be a copy of response, except for its body. + var newResponse = makeResponse(_objectSpread(_objectSpread({}, response), {}, { + body: null + })); + + // 3. If response’s body is non-null, then set newResponse’s body to the + // result of cloning response’s body. + if (response.body != null) { + newResponse.body = cloneBody(newResponse, response.body); + } + + // 4. Return newResponse. + return newResponse; +} +function makeResponse(init) { + return _objectSpread(_objectSpread({ + aborted: false, + rangeRequested: false, + timingAllowPassed: false, + requestIncludesCredentials: false, + type: 'default', + status: 200, + timingInfo: null, + cacheState: '', + statusText: '' + }, init), {}, { + headersList: init !== null && init !== void 0 && init.headersList ? new HeadersList(init === null || init === void 0 ? void 0 : init.headersList) : new HeadersList(), + urlList: init !== null && init !== void 0 && init.urlList ? _toConsumableArray(init.urlList) : [] + }); +} +function makeNetworkError(reason) { + var isError = isErrorLike(reason); + return makeResponse({ + type: 'error', + status: 0, + error: isError ? reason : new Error(reason ? String(reason) : reason), + aborted: reason && reason.name === 'AbortError' + }); +} + +// @see https://fetch.spec.whatwg.org/#concept-network-error +function isNetworkError(response) { + return ( + // A network error is a response whose type is "error", + response.type === 'error' && + // status is 0 + response.status === 0 + ); +} +function makeFilteredResponse(response, state) { + state = _objectSpread({ + internalResponse: response + }, state); + return new Proxy(response, { + get: function get(target, p) { + return p in state ? state[p] : target[p]; + }, + set: function set(target, p, value) { + assert(!(p in state)); + target[p] = value; + return true; + } + }); +} + +// https://fetch.spec.whatwg.org/#concept-filtered-response +function filterResponse(response, type) { + // Set response to the following filtered response with response as its + // internal response, depending on request’s response tainting: + if (type === 'basic') { + // A basic filtered response is a filtered response whose type is "basic" + // and header list excludes any headers in internal response’s header list + // whose name is a forbidden response-header name. + + // Note: undici does not implement forbidden response-header names + return makeFilteredResponse(response, { + type: 'basic', + headersList: response.headersList + }); + } else if (type === 'cors') { + // A CORS filtered response is a filtered response whose type is "cors" + // and header list excludes any headers in internal response’s header + // list whose name is not a CORS-safelisted response-header name, given + // internal response’s CORS-exposed header-name list. + + // Note: undici does not implement CORS-safelisted response-header names + return makeFilteredResponse(response, { + type: 'cors', + headersList: response.headersList + }); + } else if (type === 'opaque') { + // An opaque filtered response is a filtered response whose type is + // "opaque", URL list is the empty list, status is 0, status message + // is the empty byte sequence, header list is empty, and body is null. + + return makeFilteredResponse(response, { + type: 'opaque', + urlList: Object.freeze([]), + status: 0, + statusText: '', + body: null + }); + } else if (type === 'opaqueredirect') { + // An opaque-redirect filtered response is a filtered response whose type + // is "opaqueredirect", status is 0, status message is the empty byte + // sequence, header list is empty, and body is null. + + return makeFilteredResponse(response, { + type: 'opaqueredirect', + status: 0, + statusText: '', + headersList: [], + body: null + }); + } else { + assert(false); + } +} + +// https://fetch.spec.whatwg.org/#appropriate-network-error +function makeAppropriateNetworkError(fetchParams) { + var err = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + // 1. Assert: fetchParams is canceled. + assert(isCancelled(fetchParams)); + + // 2. Return an aborted network error if fetchParams is aborted; + // otherwise return a network error. + return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException('The operation was aborted.', 'AbortError'), { + cause: err + })) : makeNetworkError(Object.assign(new DOMException('Request was cancelled.'), { + cause: err + })); +} + +// https://whatpr.org/fetch/1392.html#initialize-a-response +function initializeResponse(response, init, body) { + // 1. If init["status"] is not in the range 200 to 599, inclusive, then + // throw a RangeError. + if (init.status !== null && (init.status < 200 || init.status > 599)) { + throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); + } + + // 2. If init["statusText"] does not match the reason-phrase token production, + // then throw a TypeError. + if ('statusText' in init && init.statusText != null) { + // See, https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2: + // reason-phrase = *( HTAB / SP / VCHAR / obs-text ) + if (!isValidReasonPhrase(String(init.statusText))) { + throw new TypeError('Invalid statusText'); + } + } + + // 3. Set response’s response’s status to init["status"]. + if ('status' in init && init.status != null) { + response[kState].status = init.status; + } + + // 4. Set response’s response’s status message to init["statusText"]. + if ('statusText' in init && init.statusText != null) { + response[kState].statusText = init.statusText; + } + + // 5. If init["headers"] exists, then fill response’s headers with init["headers"]. + if ('headers' in init && init.headers != null) { + fill(response[kHeaders], init.headers); + } + + // 6. If body was given, then: + if (body) { + // 1. If response's status is a null body status, then throw a TypeError. + if (nullBodyStatus.includes(response.status)) { + throw webidl.errors.exception({ + header: 'Response constructor', + message: "Invalid response status code ".concat(response.status) + }); + } + + // 2. Set response's body to body's body. + response[kState].body = body.body; + + // 3. If body's type is non-null and response's header list does not contain + // `Content-Type`, then append (`Content-Type`, body's type) to response's header list. + if (body.type != null && !response[kState].headersList.contains('content-type', true)) { + response[kState].headersList.append('content-type', body.type, true); + } + } +} + +/** + * @see https://fetch.spec.whatwg.org/#response-create + * @param {any} innerResponse + * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard + * @returns {Response} + */ +function fromInnerResponse(innerResponse, guard) { + var _innerResponse$body; + var response = new Response(kConstruct); + response[kState] = innerResponse; + response[kHeaders] = new Headers(kConstruct); + setHeadersList(response[kHeaders], innerResponse.headersList); + setHeadersGuard(response[kHeaders], guard); + if (hasFinalizationRegistry && (_innerResponse$body = innerResponse.body) !== null && _innerResponse$body !== void 0 && _innerResponse$body.stream) { + // If the target (response) is reclaimed, the cleanup callback may be called at some point with + // the held value provided for it (innerResponse.body.stream). The held value can be any value: + // a primitive or an object, even undefined. If the held value is an object, the registry keeps + // a strong reference to it (so it can pass it to the cleanup callback later). Reworded from + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry + streamRegistry.register(response, new WeakRef(innerResponse.body.stream)); + } + return response; +} +webidl.converters.ReadableStream = webidl.interfaceConverter(ReadableStream); +webidl.converters.FormData = webidl.interfaceConverter(FormData); +webidl.converters.URLSearchParams = webidl.interfaceConverter(URLSearchParams); + +// https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit +webidl.converters.XMLHttpRequestBodyInit = function (V, prefix, name) { + if (typeof V === 'string') { + return webidl.converters.USVString(V, prefix, name); + } + if (isBlobLike(V)) { + return webidl.converters.Blob(V, prefix, name, { + strict: false + }); + } + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { + return webidl.converters.BufferSource(V, prefix, name); + } + if (util.isFormDataLike(V)) { + return webidl.converters.FormData(V, prefix, name, { + strict: false + }); + } + if (V instanceof URLSearchParams) { + return webidl.converters.URLSearchParams(V, prefix, name); + } + return webidl.converters.DOMString(V, prefix, name); +}; + +// https://fetch.spec.whatwg.org/#bodyinit +webidl.converters.BodyInit = function (V, prefix, argument) { + if (V instanceof ReadableStream) { + return webidl.converters.ReadableStream(V, prefix, argument); + } + + // Note: the spec doesn't include async iterables, + // this is an undici extension. + if (V !== null && V !== void 0 && V[Symbol.asyncIterator]) { + return V; + } + return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument); +}; +webidl.converters.ResponseInit = webidl.dictionaryConverter([{ + key: 'status', + converter: webidl.converters['unsigned short'], + defaultValue: function defaultValue() { + return 200; + } +}, { + key: 'statusText', + converter: webidl.converters.ByteString, + defaultValue: function defaultValue() { + return ''; + } +}, { + key: 'headers', + converter: webidl.converters.HeadersInit +}]); +module.exports = { + isNetworkError: isNetworkError, + makeNetworkError: makeNetworkError, + makeResponse: makeResponse, + makeAppropriateNetworkError: makeAppropriateNetworkError, + filterResponse: filterResponse, + Response: Response, + cloneResponse: cloneResponse, + fromInnerResponse: fromInnerResponse +}; + +/***/ }, + +/***/ 4003 +(module) { + +"use strict"; + + +module.exports = { + kUrl: Symbol('url'), + kHeaders: Symbol('headers'), + kSignal: Symbol('signal'), + kState: Symbol('state'), + kDispatcher: Symbol('dispatcher') +}; + +/***/ }, + +/***/ 8440 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _regenerator = (__webpack_require__(6993)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _objectSpread = (__webpack_require__(2897)["default"]); +var _defineProperty = (__webpack_require__(3693)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _checkInRHS = (__webpack_require__(9709)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _wrapRegExp = (__webpack_require__(8250)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _require = __webpack_require__(7075), + Transform = _require.Transform; +var zlib = __webpack_require__(8522); +var _require2 = __webpack_require__(1319), + redirectStatusSet = _require2.redirectStatusSet, + referrerPolicyTokens = _require2.referrerPolicySet, + badPortsSet = _require2.badPortsSet; +var _require3 = __webpack_require__(2795), + getGlobalOrigin = _require3.getGlobalOrigin; +var _require4 = __webpack_require__(8388), + collectASequenceOfCodePoints = _require4.collectASequenceOfCodePoints, + collectAnHTTPQuotedString = _require4.collectAnHTTPQuotedString, + removeChars = _require4.removeChars, + parseMIMEType = _require4.parseMIMEType; +var _require5 = __webpack_require__(643), + performance = _require5.performance; +var _require6 = __webpack_require__(6632), + isBlobLike = _require6.isBlobLike, + ReadableStreamFrom = _require6.ReadableStreamFrom, + isValidHTTPToken = _require6.isValidHTTPToken, + normalizedMethodRecordsBase = _require6.normalizedMethodRecordsBase; +var assert = __webpack_require__(4589); +var _require7 = __webpack_require__(3429), + isUint8Array = _require7.isUint8Array; +var _require8 = __webpack_require__(2861), + webidl = _require8.webidl; +var supportedHashes = []; + +// https://nodejs.org/api/crypto.html#determining-if-crypto-support-is-unavailable +/** @type {import('crypto')} */ +var crypto; +try { + crypto = __webpack_require__(7598); + var possibleRelevantHashes = ['sha256', 'sha384', 'sha512']; + supportedHashes = crypto.getHashes().filter(function (hash) { + return possibleRelevantHashes.includes(hash); + }); + /* c8 ignore next 3 */ +} catch (_unused) {} +function responseURL(response) { + // https://fetch.spec.whatwg.org/#responses + // A response has an associated URL. It is a pointer to the last URL + // in response’s URL list and null if response’s URL list is empty. + var urlList = response.urlList; + var length = urlList.length; + return length === 0 ? null : urlList[length - 1].toString(); +} + +// https://fetch.spec.whatwg.org/#concept-response-location-url +function responseLocationURL(response, requestFragment) { + // 1. If response’s status is not a redirect status, then return null. + if (!redirectStatusSet.has(response.status)) { + return null; + } + + // 2. Let location be the result of extracting header list values given + // `Location` and response’s header list. + var location = response.headersList.get('location', true); + + // 3. If location is a header value, then set location to the result of + // parsing location with response’s URL. + if (location !== null && isValidHeaderValue(location)) { + if (!isValidEncodedURL(location)) { + // Some websites respond location header in UTF-8 form without encoding them as ASCII + // and major browsers redirect them to correctly UTF-8 encoded addresses. + // Here, we handle that behavior in the same way. + location = normalizeBinaryStringToUtf8(location); + } + location = new URL(location, responseURL(response)); + } + + // 4. If location is a URL whose fragment is null, then set location’s + // fragment to requestFragment. + if (location && !location.hash) { + location.hash = requestFragment; + } + + // 5. Return location. + return location; +} + +/** + * @see https://www.rfc-editor.org/rfc/rfc1738#section-2.2 + * @param {string} url + * @returns {boolean} + */ +function isValidEncodedURL(url) { + for (var i = 0; i < url.length; ++i) { + var code = url.charCodeAt(i); + if (code > 0x7E || + // Non-US-ASCII + DEL + code < 0x20 // Control characters NUL - US + ) { + return false; + } + } + return true; +} + +/** + * If string contains non-ASCII characters, assumes it's UTF-8 encoded and decodes it. + * Since UTF-8 is a superset of ASCII, this will work for ASCII strings as well. + * @param {string} value + * @returns {string} + */ +function normalizeBinaryStringToUtf8(value) { + return Buffer.from(value, 'binary').toString('utf8'); +} + +/** @returns {URL} */ +function requestCurrentURL(request) { + return request.urlList[request.urlList.length - 1]; +} +function requestBadPort(request) { + // 1. Let url be request’s current URL. + var url = requestCurrentURL(request); + + // 2. If url’s scheme is an HTTP(S) scheme and url’s port is a bad port, + // then return blocked. + if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { + return 'blocked'; + } + + // 3. Return allowed. + return 'allowed'; +} +function isErrorLike(object) { + var _object$constructor, _object$constructor2; + return object instanceof Error || (object === null || object === void 0 || (_object$constructor = object.constructor) === null || _object$constructor === void 0 ? void 0 : _object$constructor.name) === 'Error' || (object === null || object === void 0 || (_object$constructor2 = object.constructor) === null || _object$constructor2 === void 0 ? void 0 : _object$constructor2.name) === 'DOMException'; +} + +// Check whether |statusText| is a ByteString and +// matches the Reason-Phrase token production. +// RFC 2616: https://tools.ietf.org/html/rfc2616 +// RFC 7230: https://tools.ietf.org/html/rfc7230 +// "reason-phrase = *( HTAB / SP / VCHAR / obs-text )" +// https://github.com/chromium/chromium/blob/94.0.4604.1/third_party/blink/renderer/core/fetch/response.cc#L116 +function isValidReasonPhrase(statusText) { + for (var i = 0; i < statusText.length; ++i) { + var c = statusText.charCodeAt(i); + if (!(c === 0x09 || + // HTAB + c >= 0x20 && c <= 0x7e || + // SP / VCHAR + c >= 0x80 && c <= 0xff + // obs-text + )) { + return false; + } + } + return true; +} + +/** + * @see https://fetch.spec.whatwg.org/#header-name + * @param {string} potentialValue + */ +var isValidHeaderName = isValidHTTPToken; + +/** + * @see https://fetch.spec.whatwg.org/#header-value + * @param {string} potentialValue + */ +function isValidHeaderValue(potentialValue) { + // - Has no leading or trailing HTTP tab or space bytes. + // - Contains no 0x00 (NUL) or HTTP newline bytes. + return (potentialValue[0] === '\t' || potentialValue[0] === ' ' || potentialValue[potentialValue.length - 1] === '\t' || potentialValue[potentialValue.length - 1] === ' ' || potentialValue.includes('\n') || potentialValue.includes('\r') || potentialValue.includes('\0')) === false; +} + +// https://w3c.github.io/webappsec-referrer-policy/#set-requests-referrer-policy-on-redirect +function setRequestReferrerPolicyOnRedirect(request, actualResponse) { + var _headersList$get; + // Given a request request and a response actualResponse, this algorithm + // updates request’s referrer policy according to the Referrer-Policy + // header (if any) in actualResponse. + + // 1. Let policy be the result of executing § 8.1 Parse a referrer policy + // from a Referrer-Policy header on actualResponse. + + // 8.1 Parse a referrer policy from a Referrer-Policy header + // 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy` and response’s header list. + var headersList = actualResponse.headersList; + // 2. Let policy be the empty string. + // 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty string, then set policy to token. + // 4. Return policy. + var policyHeader = ((_headersList$get = headersList.get('referrer-policy', true)) !== null && _headersList$get !== void 0 ? _headersList$get : '').split(','); + + // Note: As the referrer-policy can contain multiple policies + // separated by comma, we need to loop through all of them + // and pick the first valid one. + // Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy#specify_a_fallback_policy + var policy = ''; + if (policyHeader.length > 0) { + // The right-most policy takes precedence. + // The left-most policy is the fallback. + for (var i = policyHeader.length; i !== 0; i--) { + var token = policyHeader[i - 1].trim(); + if (referrerPolicyTokens.has(token)) { + policy = token; + break; + } + } + } + + // 2. If policy is not the empty string, then set request’s referrer policy to policy. + if (policy !== '') { + request.referrerPolicy = policy; + } +} + +// https://fetch.spec.whatwg.org/#cross-origin-resource-policy-check +function crossOriginResourcePolicyCheck() { + // TODO + return 'allowed'; +} + +// https://fetch.spec.whatwg.org/#concept-cors-check +function corsCheck() { + // TODO + return 'success'; +} + +// https://fetch.spec.whatwg.org/#concept-tao-check +function TAOCheck() { + // TODO + return 'success'; +} +function appendFetchMetadata(httpRequest) { + // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-dest-header + // TODO + + // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-mode-header + + // 1. Assert: r’s url is a potentially trustworthy URL. + // TODO + + // 2. Let header be a Structured Header whose value is a token. + var header = null; + + // 3. Set header’s value to r’s mode. + header = httpRequest.mode; + + // 4. Set a structured field value `Sec-Fetch-Mode`/header in r’s header list. + httpRequest.headersList.set('sec-fetch-mode', header, true); + + // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-site-header + // TODO + + // https://w3c.github.io/webappsec-fetch-metadata/#sec-fetch-user-header + // TODO +} + +// https://fetch.spec.whatwg.org/#append-a-request-origin-header +function appendRequestOriginHeader(request) { + // 1. Let serializedOrigin be the result of byte-serializing a request origin + // with request. + // TODO: implement "byte-serializing a request origin" + var serializedOrigin = request.origin; + + // - "'client' is changed to an origin during fetching." + // This doesn't happen in undici (in most cases) because undici, by default, + // has no concept of origin. + // - request.origin can also be set to request.client.origin (client being + // an environment settings object), which is undefined without using + // setGlobalOrigin. + if (serializedOrigin === 'client' || serializedOrigin === undefined) { + return; + } + + // 2. If request’s response tainting is "cors" or request’s mode is "websocket", + // then append (`Origin`, serializedOrigin) to request’s header list. + // 3. Otherwise, if request’s method is neither `GET` nor `HEAD`, then: + if (request.responseTainting === 'cors' || request.mode === 'websocket') { + request.headersList.append('origin', serializedOrigin, true); + } else if (request.method !== 'GET' && request.method !== 'HEAD') { + // 1. Switch on request’s referrer policy: + switch (request.referrerPolicy) { + case 'no-referrer': + // Set serializedOrigin to `null`. + serializedOrigin = null; + break; + case 'no-referrer-when-downgrade': + case 'strict-origin': + case 'strict-origin-when-cross-origin': + // If request’s origin is a tuple origin, its scheme is "https", and + // request’s current URL’s scheme is not "https", then set + // serializedOrigin to `null`. + if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { + serializedOrigin = null; + } + break; + case 'same-origin': + // If request’s origin is not same origin with request’s current URL’s + // origin, then set serializedOrigin to `null`. + if (!sameOrigin(request, requestCurrentURL(request))) { + serializedOrigin = null; + } + break; + default: + // Do nothing. + } + + // 2. Append (`Origin`, serializedOrigin) to request’s header list. + request.headersList.append('origin', serializedOrigin, true); + } +} + +// https://w3c.github.io/hr-time/#dfn-coarsen-time +function coarsenTime(timestamp, crossOriginIsolatedCapability) { + // TODO + return timestamp; +} + +// https://fetch.spec.whatwg.org/#clamp-and-coarsen-connection-timing-info +function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) { + if (!(connectionTimingInfo !== null && connectionTimingInfo !== void 0 && connectionTimingInfo.startTime) || connectionTimingInfo.startTime < defaultStartTime) { + return { + domainLookupStartTime: defaultStartTime, + domainLookupEndTime: defaultStartTime, + connectionStartTime: defaultStartTime, + connectionEndTime: defaultStartTime, + secureConnectionStartTime: defaultStartTime, + ALPNNegotiatedProtocol: connectionTimingInfo === null || connectionTimingInfo === void 0 ? void 0 : connectionTimingInfo.ALPNNegotiatedProtocol + }; + } + return { + domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability), + domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability), + connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability), + connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability), + secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability), + ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol + }; +} + +// https://w3c.github.io/hr-time/#dfn-coarsened-shared-current-time +function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { + return coarsenTime(performance.now(), crossOriginIsolatedCapability); +} + +// https://fetch.spec.whatwg.org/#create-an-opaque-timing-info +function createOpaqueTimingInfo(timingInfo) { + var _timingInfo$startTime, _timingInfo$startTime2; + return { + startTime: (_timingInfo$startTime = timingInfo.startTime) !== null && _timingInfo$startTime !== void 0 ? _timingInfo$startTime : 0, + redirectStartTime: 0, + redirectEndTime: 0, + postRedirectStartTime: (_timingInfo$startTime2 = timingInfo.startTime) !== null && _timingInfo$startTime2 !== void 0 ? _timingInfo$startTime2 : 0, + finalServiceWorkerStartTime: 0, + finalNetworkResponseStartTime: 0, + finalNetworkRequestStartTime: 0, + endTime: 0, + encodedBodySize: 0, + decodedBodySize: 0, + finalConnectionTimingInfo: null + }; +} + +// https://html.spec.whatwg.org/multipage/origin.html#policy-container +function makePolicyContainer() { + // Note: the fetch spec doesn't make use of embedder policy or CSP list + return { + referrerPolicy: 'strict-origin-when-cross-origin' + }; +} + +// https://html.spec.whatwg.org/multipage/origin.html#clone-a-policy-container +function clonePolicyContainer(policyContainer) { + return { + referrerPolicy: policyContainer.referrerPolicy + }; +} + +// https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer +function determineRequestsReferrer(request) { + // 1. Let policy be request's referrer policy. + var policy = request.referrerPolicy; + + // Note: policy cannot (shouldn't) be null or an empty string. + assert(policy); + + // 2. Let environment be request’s client. + + var referrerSource = null; + + // 3. Switch on request’s referrer: + if (request.referrer === 'client') { + // Note: node isn't a browser and doesn't implement document/iframes, + // so we bypass this step and replace it with our own. + + var globalOrigin = getGlobalOrigin(); + if (!globalOrigin || globalOrigin.origin === 'null') { + return 'no-referrer'; + } + + // note: we need to clone it as it's mutated + referrerSource = new URL(globalOrigin); + } else if (request.referrer instanceof URL) { + // Let referrerSource be request’s referrer. + referrerSource = request.referrer; + } + + // 4. Let request’s referrerURL be the result of stripping referrerSource for + // use as a referrer. + var referrerURL = stripURLForReferrer(referrerSource); + + // 5. Let referrerOrigin be the result of stripping referrerSource for use as + // a referrer, with the origin-only flag set to true. + var referrerOrigin = stripURLForReferrer(referrerSource, true); + + // 6. If the result of serializing referrerURL is a string whose length is + // greater than 4096, set referrerURL to referrerOrigin. + if (referrerURL.toString().length > 4096) { + referrerURL = referrerOrigin; + } + var areSameOrigin = sameOrigin(request, referrerURL); + var isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); + + // 8. Execute the switch statements corresponding to the value of policy: + switch (policy) { + case 'origin': + return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); + case 'unsafe-url': + return referrerURL; + case 'same-origin': + return areSameOrigin ? referrerOrigin : 'no-referrer'; + case 'origin-when-cross-origin': + return areSameOrigin ? referrerURL : referrerOrigin; + case 'strict-origin-when-cross-origin': + { + var currentURL = requestCurrentURL(request); + + // 1. If the origin of referrerURL and the origin of request’s current + // URL are the same, then return referrerURL. + if (sameOrigin(referrerURL, currentURL)) { + return referrerURL; + } + + // 2. If referrerURL is a potentially trustworthy URL and request’s + // current URL is not a potentially trustworthy URL, then return no + // referrer. + if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { + return 'no-referrer'; + } + + // 3. Return referrerOrigin. + return referrerOrigin; + } + case 'strict-origin': // eslint-disable-line + /** + * 1. If referrerURL is a potentially trustworthy URL and + * request’s current URL is not a potentially trustworthy URL, + * then return no referrer. + * 2. Return referrerOrigin + */ + case 'no-referrer-when-downgrade': // eslint-disable-line + /** + * 1. If referrerURL is a potentially trustworthy URL and + * request’s current URL is not a potentially trustworthy URL, + * then return no referrer. + * 2. Return referrerOrigin + */ + + default: + // eslint-disable-line + return isNonPotentiallyTrustWorthy ? 'no-referrer' : referrerOrigin; + } +} + +/** + * @see https://w3c.github.io/webappsec-referrer-policy/#strip-url + * @param {URL} url + * @param {boolean|undefined} originOnly + */ +function stripURLForReferrer(url, originOnly) { + // 1. Assert: url is a URL. + assert(url instanceof URL); + url = new URL(url); + + // 2. If url’s scheme is a local scheme, then return no referrer. + if (url.protocol === 'file:' || url.protocol === 'about:' || url.protocol === 'blank:') { + return 'no-referrer'; + } + + // 3. Set url’s username to the empty string. + url.username = ''; + + // 4. Set url’s password to the empty string. + url.password = ''; + + // 5. Set url’s fragment to null. + url.hash = ''; + + // 6. If the origin-only flag is true, then: + if (originOnly) { + // 1. Set url’s path to « the empty string ». + url.pathname = ''; + + // 2. Set url’s query to null. + url.search = ''; + } + + // 7. Return url. + return url; +} +function isURLPotentiallyTrustworthy(url) { + if (!(url instanceof URL)) { + return false; + } + + // If child of about, return true + if (url.href === 'about:blank' || url.href === 'about:srcdoc') { + return true; + } + + // If scheme is data, return true + if (url.protocol === 'data:') return true; + + // If file, return true + if (url.protocol === 'file:') return true; + return isOriginPotentiallyTrustworthy(url.origin); + function isOriginPotentiallyTrustworthy(origin) { + // If origin is explicitly null, return false + if (origin == null || origin === 'null') return false; + var originAsURL = new URL(origin); + + // If secure, return true + if (originAsURL.protocol === 'https:' || originAsURL.protocol === 'wss:') { + return true; + } + + // If localhost or variants, return true + if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || originAsURL.hostname === 'localhost' || originAsURL.hostname.includes('localhost.') || originAsURL.hostname.endsWith('.localhost')) { + return true; + } + + // If any other, return false + return false; + } +} + +/** + * @see https://w3c.github.io/webappsec-subresource-integrity/#does-response-match-metadatalist + * @param {Uint8Array} bytes + * @param {string} metadataList + */ +function bytesMatch(bytes, metadataList) { + // If node is not built with OpenSSL support, we cannot check + // a request's integrity, so allow it by default (the spec will + // allow requests if an invalid hash is given, as precedence). + /* istanbul ignore if: only if node is built with --without-ssl */ + if (crypto === undefined) { + return true; + } + + // 1. Let parsedMetadata be the result of parsing metadataList. + var parsedMetadata = parseMetadata(metadataList); + + // 2. If parsedMetadata is no metadata, return true. + if (parsedMetadata === 'no metadata') { + return true; + } + + // 3. If response is not eligible for integrity validation, return false. + // TODO + + // 4. If parsedMetadata is the empty set, return true. + if (parsedMetadata.length === 0) { + return true; + } + + // 5. Let metadata be the result of getting the strongest + // metadata from parsedMetadata. + var strongest = getStrongestMetadata(parsedMetadata); + var metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); + + // 6. For each item in metadata: + var _iterator = _createForOfIteratorHelper(metadata), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var item = _step.value; + // 1. Let algorithm be the alg component of item. + var algorithm = item.algo; + + // 2. Let expectedValue be the val component of item. + var expectedValue = item.hash; + + // See https://github.com/web-platform-tests/wpt/commit/e4c5cc7a5e48093220528dfdd1c4012dc3837a0e + // "be liberal with padding". This is annoying, and it's not even in the spec. + + // 3. Let actualValue be the result of applying algorithm to bytes. + var actualValue = crypto.createHash(algorithm).update(bytes).digest('base64'); + if (actualValue[actualValue.length - 1] === '=') { + if (actualValue[actualValue.length - 2] === '=') { + actualValue = actualValue.slice(0, -2); + } else { + actualValue = actualValue.slice(0, -1); + } + } + + // 4. If actualValue is a case-sensitive match for expectedValue, + // return true. + if (compareBase64Mixed(actualValue, expectedValue)) { + return true; + } + } + + // 7. Return false. + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return false; +} + +// https://w3c.github.io/webappsec-subresource-integrity/#grammardef-hash-with-options +// https://www.w3.org/TR/CSP2/#source-list-syntax +// https://www.rfc-editor.org/rfc/rfc5234#appendix-B.1 +var parseHashWithOptions = /*#__PURE__*/_wrapRegExp(/(sha256|sha384|sha512)-(([A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i, { + algo: 1, + hash: 3 +}); + +/** + * @see https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata + * @param {string} metadata + */ +function parseMetadata(metadata) { + // 1. Let result be the empty set. + /** @type {{ algo: string, hash: string }[]} */ + var result = []; + + // 2. Let empty be equal to true. + var empty = true; + + // 3. For each token returned by splitting metadata on spaces: + var _iterator2 = _createForOfIteratorHelper(metadata.split(' ')), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var token = _step2.value; + // 1. Set empty to false. + empty = false; + + // 2. Parse token as a hash-with-options. + var parsedToken = parseHashWithOptions.exec(token); + + // 3. If token does not parse, continue to the next token. + if (parsedToken === null || parsedToken.groups === undefined || parsedToken.groups.algo === undefined) { + // Note: Chromium blocks the request at this point, but Firefox + // gives a warning that an invalid integrity was given. The + // correct behavior is to ignore these, and subsequently not + // check the integrity of the resource. + continue; + } + + // 4. Let algorithm be the hash-algo component of token. + var algorithm = parsedToken.groups.algo.toLowerCase(); + + // 5. If algorithm is a hash function recognized by the user + // agent, add the parsed token to result. + if (supportedHashes.includes(algorithm)) { + result.push(parsedToken.groups); + } + } + + // 4. Return no metadata if empty is true, otherwise return result. + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + if (empty === true) { + return 'no metadata'; + } + return result; +} + +/** + * @param {{ algo: 'sha256' | 'sha384' | 'sha512' }[]} metadataList + */ +function getStrongestMetadata(metadataList) { + // Let algorithm be the algo component of the first item in metadataList. + // Can be sha256 + var algorithm = metadataList[0].algo; + // If the algorithm is sha512, then it is the strongest + // and we can return immediately + if (algorithm[3] === '5') { + return algorithm; + } + for (var i = 1; i < metadataList.length; ++i) { + var metadata = metadataList[i]; + // If the algorithm is sha512, then it is the strongest + // and we can break the loop immediately + if (metadata.algo[3] === '5') { + algorithm = 'sha512'; + break; + // If the algorithm is sha384, then a potential sha256 or sha384 is ignored + } else if (algorithm[3] === '3') { + continue; + // algorithm is sha256, check if algorithm is sha384 and if so, set it as + // the strongest + } else if (metadata.algo[3] === '3') { + algorithm = 'sha384'; + } + } + return algorithm; +} +function filterMetadataListByAlgorithm(metadataList, algorithm) { + if (metadataList.length === 1) { + return metadataList; + } + var pos = 0; + for (var i = 0; i < metadataList.length; ++i) { + if (metadataList[i].algo === algorithm) { + metadataList[pos++] = metadataList[i]; + } + } + metadataList.length = pos; + return metadataList; +} + +/** + * Compares two base64 strings, allowing for base64url + * in the second string. + * +* @param {string} actualValue always base64 + * @param {string} expectedValue base64 or base64url + * @returns {boolean} + */ +function compareBase64Mixed(actualValue, expectedValue) { + if (actualValue.length !== expectedValue.length) { + return false; + } + for (var i = 0; i < actualValue.length; ++i) { + if (actualValue[i] !== expectedValue[i]) { + if (actualValue[i] === '+' && expectedValue[i] === '-' || actualValue[i] === '/' && expectedValue[i] === '_') { + continue; + } + return false; + } + } + return true; +} + +// https://w3c.github.io/webappsec-upgrade-insecure-requests/#upgrade-request +function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { + // TODO +} + +/** + * @link {https://html.spec.whatwg.org/multipage/origin.html#same-origin} + * @param {URL} A + * @param {URL} B + */ +function sameOrigin(A, B) { + // 1. If A and B are the same opaque origin, then return true. + if (A.origin === B.origin && A.origin === 'null') { + return true; + } + + // 2. If A and B are both tuple origins and their schemes, + // hosts, and port are identical, then return true. + if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) { + return true; + } + + // 3. Return false. + return false; +} +function createDeferredPromise() { + var res; + var rej; + var promise = new Promise(function (resolve, reject) { + res = resolve; + rej = reject; + }); + return { + promise: promise, + resolve: res, + reject: rej + }; +} +function isAborted(fetchParams) { + return fetchParams.controller.state === 'aborted'; +} +function isCancelled(fetchParams) { + return fetchParams.controller.state === 'aborted' || fetchParams.controller.state === 'terminated'; +} + +/** + * @see https://fetch.spec.whatwg.org/#concept-method-normalize + * @param {string} method + */ +function normalizeMethod(method) { + var _normalizedMethodReco; + return (_normalizedMethodReco = normalizedMethodRecordsBase[method.toLowerCase()]) !== null && _normalizedMethodReco !== void 0 ? _normalizedMethodReco : method; +} + +// https://infra.spec.whatwg.org/#serialize-a-javascript-value-to-a-json-string +function serializeJavascriptValueToJSONString(value) { + // 1. Let result be ? Call(%JSON.stringify%, undefined, « value »). + var result = JSON.stringify(value); + + // 2. If result is undefined, then throw a TypeError. + if (result === undefined) { + throw new TypeError('Value is not JSON serializable'); + } + + // 3. Assert: result is a string. + assert(typeof result === 'string'); + + // 4. Return result. + return result; +} + +// https://tc39.es/ecma262/#sec-%25iteratorprototype%25-object +var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + +/** + * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object + * @param {string} name name of the instance + * @param {symbol} kInternalIterator + * @param {string | number} [keyIndex] + * @param {string | number} [valueIndex] + */ +function createIterator(name, kInternalIterator) { + var keyIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var valueIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; + var _target = /*#__PURE__*/new WeakMap(); + var _kind = /*#__PURE__*/new WeakMap(); + var _index = /*#__PURE__*/new WeakMap(); + var FastIterableIterator = /*#__PURE__*/function () { + /** + * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object + * @param {unknown} target + * @param {'key' | 'value' | 'key+value'} kind + */ + function FastIterableIterator(target, kind) { + _classCallCheck(this, FastIterableIterator); + /** @type {any} */ + _classPrivateFieldInitSpec(this, _target, void 0); + /** @type {'key' | 'value' | 'key+value'} */ + _classPrivateFieldInitSpec(this, _kind, void 0); + /** @type {number} */ + _classPrivateFieldInitSpec(this, _index, void 0); + _classPrivateFieldSet(_target, this, target); + _classPrivateFieldSet(_kind, this, kind); + _classPrivateFieldSet(_index, this, 0); + } + return _createClass(FastIterableIterator, [{ + key: "next", + value: function next() { + // 1. Let interface be the interface for which the iterator prototype object exists. + // 2. Let thisValue be the this value. + // 3. Let object be ? ToObject(thisValue). + // 4. If object is a platform object, then perform a security + // check, passing: + // 5. If object is not a default iterator object for interface, + // then throw a TypeError. + if (typeof this !== 'object' || this === null || !_target.has(_checkInRHS(this))) { + throw new TypeError("'next' called on an object that does not implement interface ".concat(name, " Iterator.")); + } + + // 6. Let index be object’s index. + // 7. Let kind be object’s kind. + // 8. Let values be object’s target's value pairs to iterate over. + var index = _classPrivateFieldGet(_index, this); + var values = _classPrivateFieldGet(_target, this)[kInternalIterator]; + + // 9. Let len be the length of values. + var len = values.length; + + // 10. If index is greater than or equal to len, then return + // CreateIterResultObject(undefined, true). + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + // 11. Let pair be the entry in values at index index. + var _values$index = values[index], + key = _values$index[keyIndex], + value = _values$index[valueIndex]; + + // 12. Set object’s index to index + 1. + _classPrivateFieldSet(_index, this, index + 1); + + // 13. Return the iterator result for pair and kind. + + // https://webidl.spec.whatwg.org/#iterator-result + + // 1. Let result be a value determined by the value of kind: + var result; + switch (_classPrivateFieldGet(_kind, this)) { + case 'key': + // 1. Let idlKey be pair’s key. + // 2. Let key be the result of converting idlKey to an + // ECMAScript value. + // 3. result is key. + result = key; + break; + case 'value': + // 1. Let idlValue be pair’s value. + // 2. Let value be the result of converting idlValue to + // an ECMAScript value. + // 3. result is value. + result = value; + break; + case 'key+value': + // 1. Let idlKey be pair’s key. + // 2. Let idlValue be pair’s value. + // 3. Let key be the result of converting idlKey to an + // ECMAScript value. + // 4. Let value be the result of converting idlValue to + // an ECMAScript value. + // 5. Let array be ! ArrayCreate(2). + // 6. Call ! CreateDataProperty(array, "0", key). + // 7. Call ! CreateDataProperty(array, "1", value). + // 8. result is array. + result = [key, value]; + break; + } + + // 2. Return CreateIterResultObject(result, false). + return { + value: result, + done: false + }; + } + }]); + }(); // https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object + // @ts-ignore + delete FastIterableIterator.prototype.constructor; + Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype); + Object.defineProperties(FastIterableIterator.prototype, _defineProperty(_defineProperty({}, Symbol.toStringTag, { + writable: false, + enumerable: false, + configurable: true, + value: "".concat(name, " Iterator") + }), "next", { + writable: true, + enumerable: true, + configurable: true + })); + + /** + * @param {unknown} target + * @param {'key' | 'value' | 'key+value'} kind + * @returns {IterableIterator} + */ + return function (target, kind) { + return new FastIterableIterator(target, kind); + }; +} + +/** + * @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object + * @param {string} name name of the instance + * @param {any} object class + * @param {symbol} kInternalIterator + * @param {string | number} [keyIndex] + * @param {string | number} [valueIndex] + */ +function iteratorMixin(name, object, kInternalIterator) { + var keyIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var valueIndex = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex); + var properties = { + keys: { + writable: true, + enumerable: true, + configurable: true, + value: function keys() { + webidl.brandCheck(this, object); + return makeIterator(this, 'key'); + } + }, + values: { + writable: true, + enumerable: true, + configurable: true, + value: function values() { + webidl.brandCheck(this, object); + return makeIterator(this, 'value'); + } + }, + entries: { + writable: true, + enumerable: true, + configurable: true, + value: function entries() { + webidl.brandCheck(this, object); + return makeIterator(this, 'key+value'); + } + }, + forEach: { + writable: true, + enumerable: true, + configurable: true, + value: function forEach(callbackfn) { + var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : globalThis; + webidl.brandCheck(this, object); + webidl.argumentLengthCheck(arguments, 1, "".concat(name, ".forEach")); + if (typeof callbackfn !== 'function') { + throw new TypeError("Failed to execute 'forEach' on '".concat(name, "': parameter 1 is not of type 'Function'.")); + } + var _iterator3 = _createForOfIteratorHelper(makeIterator(this, 'key+value')), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _step3$value = _step3.value, + key = _step3$value[0], + value = _step3$value[1]; + callbackfn.call(thisArg, value, key, this); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + } + }; + return Object.defineProperties(object.prototype, _objectSpread(_objectSpread({}, properties), {}, _defineProperty({}, Symbol.iterator, { + writable: true, + enumerable: false, + configurable: true, + value: properties.entries.value + }))); +} + +/** + * @see https://fetch.spec.whatwg.org/#body-fully-read + */ +function fullyReadBody(_x, _x2, _x3) { + return _fullyReadBody.apply(this, arguments); +} +function _fullyReadBody() { + _fullyReadBody = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(body, processBody, processBodyError) { + var successSteps, errorSteps, reader, _t, _t2, _t3; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + // 1. If taskDestination is null, then set taskDestination to + // the result of starting a new parallel queue. + // 2. Let successSteps given a byte sequence bytes be to queue a + // fetch task to run processBody given bytes, with taskDestination. + successSteps = processBody; // 3. Let errorSteps be to queue a fetch task to run processBodyError, + // with taskDestination. + errorSteps = processBodyError; // 4. Let reader be the result of getting a reader for body’s stream. + // If that threw an exception, then run errorSteps with that + // exception and return. + _context.p = 1; + reader = body.stream.getReader(); + _context.n = 3; + break; + case 2: + _context.p = 2; + _t = _context.v; + errorSteps(_t); + return _context.a(2); + case 3: + _context.p = 3; + _t2 = successSteps; + _context.n = 4; + return readAllBytes(reader); + case 4: + _t2(_context.v); + _context.n = 6; + break; + case 5: + _context.p = 5; + _t3 = _context.v; + errorSteps(_t3); + case 6: + return _context.a(2); + } + }, _callee, null, [[3, 5], [1, 2]]); + })); + return _fullyReadBody.apply(this, arguments); +} +function isReadableStreamLike(stream) { + return stream instanceof ReadableStream || stream[Symbol.toStringTag] === 'ReadableStream' && typeof stream.tee === 'function'; +} + +/** + * @param {ReadableStreamController} controller + */ +function readableStreamClose(controller) { + try { + var _controller$byobReque; + controller.close(); + (_controller$byobReque = controller.byobRequest) === null || _controller$byobReque === void 0 || _controller$byobReque.respond(0); + } catch (err) { + // TODO: add comment explaining why this error occurs. + if (!err.message.includes('Controller is already closed') && !err.message.includes('ReadableStream is already closed')) { + throw err; + } + } +} +var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; // eslint-disable-line + +/** + * @see https://infra.spec.whatwg.org/#isomorphic-encode + * @param {string} input + */ +function isomorphicEncode(input) { + // 1. Assert: input contains no code points greater than U+00FF. + assert(!invalidIsomorphicEncodeValueRegex.test(input)); + + // 2. Return a byte sequence whose length is equal to input’s code + // point length and whose bytes have the same values as the + // values of input’s code points, in the same order + return input; +} + +/** + * @see https://streams.spec.whatwg.org/#readablestreamdefaultreader-read-all-bytes + * @see https://streams.spec.whatwg.org/#read-loop + * @param {ReadableStreamDefaultReader} reader + */ +function readAllBytes(_x4) { + return _readAllBytes.apply(this, arguments); +} +/** + * @see https://fetch.spec.whatwg.org/#is-local + * @param {URL} url + */ +function _readAllBytes() { + _readAllBytes = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(reader) { + var bytes, byteLength, _yield$reader$read, done, chunk; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + bytes = []; + byteLength = 0; + case 1: + if (false) // removed by dead control flow +{} + _context2.n = 2; + return reader.read(); + case 2: + _yield$reader$read = _context2.v; + done = _yield$reader$read.done; + chunk = _yield$reader$read.value; + if (!done) { + _context2.n = 3; + break; + } + return _context2.a(2, Buffer.concat(bytes, byteLength)); + case 3: + if (isUint8Array(chunk)) { + _context2.n = 4; + break; + } + throw new TypeError('Received non-Uint8Array chunk'); + case 4: + // 2. Append the bytes represented by chunk to bytes. + bytes.push(chunk); + byteLength += chunk.length; + + // 3. Read-loop given reader, bytes, successSteps, and failureSteps. + _context2.n = 1; + break; + case 5: + return _context2.a(2); + } + }, _callee2); + })); + return _readAllBytes.apply(this, arguments); +} +function urlIsLocal(url) { + assert('protocol' in url); // ensure it's a url object + + var protocol = url.protocol; + return protocol === 'about:' || protocol === 'blob:' || protocol === 'data:'; +} + +/** + * @param {string|URL} url + * @returns {boolean} + */ +function urlHasHttpsScheme(url) { + return typeof url === 'string' && url[5] === ':' && url[0] === 'h' && url[1] === 't' && url[2] === 't' && url[3] === 'p' && url[4] === 's' || url.protocol === 'https:'; +} + +/** + * @see https://fetch.spec.whatwg.org/#http-scheme + * @param {URL} url + */ +function urlIsHttpHttpsScheme(url) { + assert('protocol' in url); // ensure it's a url object + + var protocol = url.protocol; + return protocol === 'http:' || protocol === 'https:'; +} + +/** + * @see https://fetch.spec.whatwg.org/#simple-range-header-value + * @param {string} value + * @param {boolean} allowWhitespace + */ +function simpleRangeHeaderValue(value, allowWhitespace) { + // 1. Let data be the isomorphic decoding of value. + // Note: isomorphic decoding takes a sequence of bytes (ie. a Uint8Array) and turns it into a string, + // nothing more. We obviously don't need to do that if value is a string already. + var data = value; + + // 2. If data does not start with "bytes", then return failure. + if (!data.startsWith('bytes')) { + return 'failure'; + } + + // 3. Let position be a position variable for data, initially pointing at the 5th code point of data. + var position = { + position: 5 + }; + + // 4. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space, + // from data given position. + if (allowWhitespace) { + collectASequenceOfCodePoints(function (_char) { + return _char === '\t' || _char === ' '; + }, data, position); + } + + // 5. If the code point at position within data is not U+003D (=), then return failure. + if (data.charCodeAt(position.position) !== 0x3D) { + return 'failure'; + } + + // 6. Advance position by 1. + position.position++; + + // 7. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space, from + // data given position. + if (allowWhitespace) { + collectASequenceOfCodePoints(function (_char2) { + return _char2 === '\t' || _char2 === ' '; + }, data, position); + } + + // 8. Let rangeStart be the result of collecting a sequence of code points that are ASCII digits, + // from data given position. + var rangeStart = collectASequenceOfCodePoints(function (_char3) { + var code = _char3.charCodeAt(0); + return code >= 0x30 && code <= 0x39; + }, data, position); + + // 9. Let rangeStartValue be rangeStart, interpreted as decimal number, if rangeStart is not the + // empty string; otherwise null. + var rangeStartValue = rangeStart.length ? Number(rangeStart) : null; + + // 10. If allowWhitespace is true, collect a sequence of code points that are HTTP tab or space, + // from data given position. + if (allowWhitespace) { + collectASequenceOfCodePoints(function (_char4) { + return _char4 === '\t' || _char4 === ' '; + }, data, position); + } + + // 11. If the code point at position within data is not U+002D (-), then return failure. + if (data.charCodeAt(position.position) !== 0x2D) { + return 'failure'; + } + + // 12. Advance position by 1. + position.position++; + + // 13. If allowWhitespace is true, collect a sequence of code points that are HTTP tab + // or space, from data given position. + // Note from Khafra: its the same step as in #8 again lol + if (allowWhitespace) { + collectASequenceOfCodePoints(function (_char5) { + return _char5 === '\t' || _char5 === ' '; + }, data, position); + } + + // 14. Let rangeEnd be the result of collecting a sequence of code points that are + // ASCII digits, from data given position. + // Note from Khafra: you wouldn't guess it, but this is also the same step as #8 + var rangeEnd = collectASequenceOfCodePoints(function (_char6) { + var code = _char6.charCodeAt(0); + return code >= 0x30 && code <= 0x39; + }, data, position); + + // 15. Let rangeEndValue be rangeEnd, interpreted as decimal number, if rangeEnd + // is not the empty string; otherwise null. + // Note from Khafra: THE SAME STEP, AGAIN!!! + // Note: why interpret as a decimal if we only collect ascii digits? + var rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null; + + // 16. If position is not past the end of data, then return failure. + if (position.position < data.length) { + return 'failure'; + } + + // 17. If rangeEndValue and rangeStartValue are null, then return failure. + if (rangeEndValue === null && rangeStartValue === null) { + return 'failure'; + } + + // 18. If rangeStartValue and rangeEndValue are numbers, and rangeStartValue is + // greater than rangeEndValue, then return failure. + // Note: ... when can they not be numbers? + if (rangeStartValue > rangeEndValue) { + return 'failure'; + } + + // 19. Return (rangeStartValue, rangeEndValue). + return { + rangeStartValue: rangeStartValue, + rangeEndValue: rangeEndValue + }; +} + +/** + * @see https://fetch.spec.whatwg.org/#build-a-content-range + * @param {number} rangeStart + * @param {number} rangeEnd + * @param {number} fullLength + */ +function buildContentRange(rangeStart, rangeEnd, fullLength) { + // 1. Let contentRange be `bytes `. + var contentRange = 'bytes '; + + // 2. Append rangeStart, serialized and isomorphic encoded, to contentRange. + contentRange += isomorphicEncode("".concat(rangeStart)); + + // 3. Append 0x2D (-) to contentRange. + contentRange += '-'; + + // 4. Append rangeEnd, serialized and isomorphic encoded to contentRange. + contentRange += isomorphicEncode("".concat(rangeEnd)); + + // 5. Append 0x2F (/) to contentRange. + contentRange += '/'; + + // 6. Append fullLength, serialized and isomorphic encoded to contentRange. + contentRange += isomorphicEncode("".concat(fullLength)); + + // 7. Return contentRange. + return contentRange; +} + +// A Stream, which pipes the response to zlib.createInflate() or +// zlib.createInflateRaw() depending on the first byte of the Buffer. +// If the lower byte of the first byte is 0x08, then the stream is +// interpreted as a zlib stream, otherwise it's interpreted as a +// raw deflate stream. +var _zlibOptions = /*#__PURE__*/new WeakMap(); +var InflateStream = /*#__PURE__*/function (_Transform) { + /** @param {zlib.ZlibOptions} [zlibOptions] */ + function InflateStream(zlibOptions) { + var _this; + _classCallCheck(this, InflateStream); + _this = _callSuper(this, InflateStream); + _classPrivateFieldInitSpec(_this, _zlibOptions, void 0); + _classPrivateFieldSet(_zlibOptions, _this, zlibOptions); + return _this; + } + _inherits(InflateStream, _Transform); + return _createClass(InflateStream, [{ + key: "_transform", + value: function _transform(chunk, encoding, callback) { + var _this2 = this; + if (!this._inflateStream) { + if (chunk.length === 0) { + callback(); + return; + } + this._inflateStream = (chunk[0] & 0x0F) === 0x08 ? zlib.createInflate(_classPrivateFieldGet(_zlibOptions, this)) : zlib.createInflateRaw(_classPrivateFieldGet(_zlibOptions, this)); + this._inflateStream.on('data', this.push.bind(this)); + this._inflateStream.on('end', function () { + return _this2.push(null); + }); + this._inflateStream.on('error', function (err) { + return _this2.destroy(err); + }); + } + this._inflateStream.write(chunk, encoding, callback); + } + }, { + key: "_final", + value: function _final(callback) { + if (this._inflateStream) { + this._inflateStream.end(); + this._inflateStream = null; + } + callback(); + } + }]); +}(Transform); +/** + * @param {zlib.ZlibOptions} [zlibOptions] + * @returns {InflateStream} + */ +function createInflate(zlibOptions) { + return new InflateStream(zlibOptions); +} + +/** + * @see https://fetch.spec.whatwg.org/#concept-header-extract-mime-type + * @param {import('./headers').HeadersList} headers + */ +function extractMimeType(headers) { + // 1. Let charset be null. + var charset = null; + + // 2. Let essence be null. + var essence = null; + + // 3. Let mimeType be null. + var mimeType = null; + + // 4. Let values be the result of getting, decoding, and splitting `Content-Type` from headers. + var values = getDecodeSplit('content-type', headers); + + // 5. If values is null, then return failure. + if (values === null) { + return 'failure'; + } + + // 6. For each value of values: + var _iterator4 = _createForOfIteratorHelper(values), + _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var value = _step4.value; + // 6.1. Let temporaryMimeType be the result of parsing value. + var temporaryMimeType = parseMIMEType(value); + + // 6.2. If temporaryMimeType is failure or its essence is "*/*", then continue. + if (temporaryMimeType === 'failure' || temporaryMimeType.essence === '*/*') { + continue; + } + + // 6.3. Set mimeType to temporaryMimeType. + mimeType = temporaryMimeType; + + // 6.4. If mimeType’s essence is not essence, then: + if (mimeType.essence !== essence) { + // 6.4.1. Set charset to null. + charset = null; + + // 6.4.2. If mimeType’s parameters["charset"] exists, then set charset to + // mimeType’s parameters["charset"]. + if (mimeType.parameters.has('charset')) { + charset = mimeType.parameters.get('charset'); + } + + // 6.4.3. Set essence to mimeType’s essence. + essence = mimeType.essence; + } else if (!mimeType.parameters.has('charset') && charset !== null) { + // 6.5. Otherwise, if mimeType’s parameters["charset"] does not exist, and + // charset is non-null, set mimeType’s parameters["charset"] to charset. + mimeType.parameters.set('charset', charset); + } + } + + // 7. If mimeType is null, then return failure. + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + if (mimeType == null) { + return 'failure'; + } + + // 8. Return mimeType. + return mimeType; +} + +/** + * @see https://fetch.spec.whatwg.org/#header-value-get-decode-and-split + * @param {string|null} value + */ +function gettingDecodingSplitting(value) { + // 1. Let input be the result of isomorphic decoding value. + var input = value; + + // 2. Let position be a position variable for input, initially pointing at the start of input. + var position = { + position: 0 + }; + + // 3. Let values be a list of strings, initially empty. + var values = []; + + // 4. Let temporaryValue be the empty string. + var temporaryValue = ''; + + // 5. While position is not past the end of input: + while (position.position < input.length) { + // 5.1. Append the result of collecting a sequence of code points that are not U+0022 (") + // or U+002C (,) from input, given position, to temporaryValue. + temporaryValue += collectASequenceOfCodePoints(function (_char7) { + return _char7 !== '"' && _char7 !== ','; + }, input, position); + + // 5.2. If position is not past the end of input, then: + if (position.position < input.length) { + // 5.2.1. If the code point at position within input is U+0022 ("), then: + if (input.charCodeAt(position.position) === 0x22) { + // 5.2.1.1. Append the result of collecting an HTTP quoted string from input, given position, to temporaryValue. + temporaryValue += collectAnHTTPQuotedString(input, position); + + // 5.2.1.2. If position is not past the end of input, then continue. + if (position.position < input.length) { + continue; + } + } else { + // 5.2.2. Otherwise: + + // 5.2.2.1. Assert: the code point at position within input is U+002C (,). + assert(input.charCodeAt(position.position) === 0x2C); + + // 5.2.2.2. Advance position by 1. + position.position++; + } + } + + // 5.3. Remove all HTTP tab or space from the start and end of temporaryValue. + temporaryValue = removeChars(temporaryValue, true, true, function (_char8) { + return _char8 === 0x9 || _char8 === 0x20; + }); + + // 5.4. Append temporaryValue to values. + values.push(temporaryValue); + + // 5.6. Set temporaryValue to the empty string. + temporaryValue = ''; + } + + // 6. Return values. + return values; +} + +/** + * @see https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split + * @param {string} name lowercase header name + * @param {import('./headers').HeadersList} list + */ +function getDecodeSplit(name, list) { + // 1. Let value be the result of getting name from list. + var value = list.get(name, true); + + // 2. If value is null, then return null. + if (value === null) { + return null; + } + + // 3. Return the result of getting, decoding, and splitting value. + return gettingDecodingSplitting(value); +} +var textDecoder = new TextDecoder(); + +/** + * @see https://encoding.spec.whatwg.org/#utf-8-decode + * @param {Buffer} buffer + */ +function utf8DecodeBytes(buffer) { + if (buffer.length === 0) { + return ''; + } + + // 1. Let buffer be the result of peeking three bytes from + // ioQueue, converted to a byte sequence. + + // 2. If buffer is 0xEF 0xBB 0xBF, then read three + // bytes from ioQueue. (Do nothing with those bytes.) + if (buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) { + buffer = buffer.subarray(3); + } + + // 3. Process a queue with an instance of UTF-8’s + // decoder, ioQueue, output, and "replacement". + var output = textDecoder.decode(buffer); + + // 4. Return output. + return output; +} +var EnvironmentSettingsObjectBase = /*#__PURE__*/function () { + function EnvironmentSettingsObjectBase() { + _classCallCheck(this, EnvironmentSettingsObjectBase); + _defineProperty(this, "policyContainer", makePolicyContainer()); + } + return _createClass(EnvironmentSettingsObjectBase, [{ + key: "baseUrl", + get: function get() { + return getGlobalOrigin(); + } + }, { + key: "origin", + get: function get() { + var _this$baseUrl; + return (_this$baseUrl = this.baseUrl) === null || _this$baseUrl === void 0 ? void 0 : _this$baseUrl.origin; + } + }]); +}(); +var EnvironmentSettingsObject = /*#__PURE__*/_createClass(function EnvironmentSettingsObject() { + _classCallCheck(this, EnvironmentSettingsObject); + _defineProperty(this, "settingsObject", new EnvironmentSettingsObjectBase()); +}); +var environmentSettingsObject = new EnvironmentSettingsObject(); +module.exports = { + isAborted: isAborted, + isCancelled: isCancelled, + isValidEncodedURL: isValidEncodedURL, + createDeferredPromise: createDeferredPromise, + ReadableStreamFrom: ReadableStreamFrom, + tryUpgradeRequestToAPotentiallyTrustworthyURL: tryUpgradeRequestToAPotentiallyTrustworthyURL, + clampAndCoarsenConnectionTimingInfo: clampAndCoarsenConnectionTimingInfo, + coarsenedSharedCurrentTime: coarsenedSharedCurrentTime, + determineRequestsReferrer: determineRequestsReferrer, + makePolicyContainer: makePolicyContainer, + clonePolicyContainer: clonePolicyContainer, + appendFetchMetadata: appendFetchMetadata, + appendRequestOriginHeader: appendRequestOriginHeader, + TAOCheck: TAOCheck, + corsCheck: corsCheck, + crossOriginResourcePolicyCheck: crossOriginResourcePolicyCheck, + createOpaqueTimingInfo: createOpaqueTimingInfo, + setRequestReferrerPolicyOnRedirect: setRequestReferrerPolicyOnRedirect, + isValidHTTPToken: isValidHTTPToken, + requestBadPort: requestBadPort, + requestCurrentURL: requestCurrentURL, + responseURL: responseURL, + responseLocationURL: responseLocationURL, + isBlobLike: isBlobLike, + isURLPotentiallyTrustworthy: isURLPotentiallyTrustworthy, + isValidReasonPhrase: isValidReasonPhrase, + sameOrigin: sameOrigin, + normalizeMethod: normalizeMethod, + serializeJavascriptValueToJSONString: serializeJavascriptValueToJSONString, + iteratorMixin: iteratorMixin, + createIterator: createIterator, + isValidHeaderName: isValidHeaderName, + isValidHeaderValue: isValidHeaderValue, + isErrorLike: isErrorLike, + fullyReadBody: fullyReadBody, + bytesMatch: bytesMatch, + isReadableStreamLike: isReadableStreamLike, + readableStreamClose: readableStreamClose, + isomorphicEncode: isomorphicEncode, + urlIsLocal: urlIsLocal, + urlHasHttpsScheme: urlHasHttpsScheme, + urlIsHttpHttpsScheme: urlIsHttpHttpsScheme, + readAllBytes: readAllBytes, + simpleRangeHeaderValue: simpleRangeHeaderValue, + buildContentRange: buildContentRange, + parseMetadata: parseMetadata, + createInflate: createInflate, + extractMimeType: extractMimeType, + getDecodeSplit: getDecodeSplit, + utf8DecodeBytes: utf8DecodeBytes, + environmentSettingsObject: environmentSettingsObject +}; + +/***/ }, + +/***/ 2861 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _objectSpread = (__webpack_require__(2897)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _toConsumableArray = (__webpack_require__(1132)["default"]); +var _require = __webpack_require__(7975), + types = _require.types, + inspect = _require.inspect; +var _require2 = __webpack_require__(5919), + markAsUncloneable = _require2.markAsUncloneable; +var _require3 = __webpack_require__(6632), + toUSVString = _require3.toUSVString; + +/** @type {import('../../../types/webidl').Webidl} */ +var webidl = {}; +webidl.converters = {}; +webidl.util = {}; +webidl.errors = {}; +webidl.errors.exception = function (message) { + return new TypeError("".concat(message.header, ": ").concat(message.message)); +}; +webidl.errors.conversionFailed = function (context) { + var plural = context.types.length === 1 ? '' : ' one of'; + var message = "".concat(context.argument, " could not be converted to") + "".concat(plural, ": ").concat(context.types.join(', '), "."); + return webidl.errors.exception({ + header: context.prefix, + message: message + }); +}; +webidl.errors.invalidArgument = function (context) { + return webidl.errors.exception({ + header: context.prefix, + message: "\"".concat(context.value, "\" is an invalid ").concat(context.type, ".") + }); +}; + +// https://webidl.spec.whatwg.org/#implements +webidl.brandCheck = function (V, I, opts) { + if ((opts === null || opts === void 0 ? void 0 : opts.strict) !== false) { + if (!(V instanceof I)) { + var err = new TypeError('Illegal invocation'); + err.code = 'ERR_INVALID_THIS'; // node compat. + throw err; + } + } else { + if ((V === null || V === void 0 ? void 0 : V[Symbol.toStringTag]) !== I.prototype[Symbol.toStringTag]) { + var _err = new TypeError('Illegal invocation'); + _err.code = 'ERR_INVALID_THIS'; // node compat. + throw _err; + } + } +}; +webidl.argumentLengthCheck = function (_ref, min, ctx) { + var length = _ref.length; + if (length < min) { + throw webidl.errors.exception({ + message: "".concat(min, " argument").concat(min !== 1 ? 's' : '', " required, ") + "but".concat(length ? ' only' : '', " ").concat(length, " found."), + header: ctx + }); + } +}; +webidl.illegalConstructor = function () { + throw webidl.errors.exception({ + header: 'TypeError', + message: 'Illegal constructor' + }); +}; + +// https://tc39.es/ecma262/#sec-ecmascript-data-types-and-values +webidl.util.Type = function (V) { + switch (typeof V) { + case 'undefined': + return 'Undefined'; + case 'boolean': + return 'Boolean'; + case 'string': + return 'String'; + case 'symbol': + return 'Symbol'; + case 'number': + return 'Number'; + case 'bigint': + return 'BigInt'; + case 'function': + case 'object': + { + if (V === null) { + return 'Null'; + } + return 'Object'; + } + } +}; +webidl.util.markAsUncloneable = markAsUncloneable || function () {}; +// https://webidl.spec.whatwg.org/#abstract-opdef-converttoint +webidl.util.ConvertToInt = function (V, bitLength, signedness, opts) { + var upperBound; + var lowerBound; + + // 1. If bitLength is 64, then: + if (bitLength === 64) { + // 1. Let upperBound be 2^53 − 1. + upperBound = Math.pow(2, 53) - 1; + + // 2. If signedness is "unsigned", then let lowerBound be 0. + if (signedness === 'unsigned') { + lowerBound = 0; + } else { + // 3. Otherwise let lowerBound be −2^53 + 1. + lowerBound = Math.pow(-2, 53) + 1; + } + } else if (signedness === 'unsigned') { + // 2. Otherwise, if signedness is "unsigned", then: + + // 1. Let lowerBound be 0. + lowerBound = 0; + + // 2. Let upperBound be 2^bitLength − 1. + upperBound = Math.pow(2, bitLength) - 1; + } else { + // 3. Otherwise: + + // 1. Let lowerBound be -2^bitLength − 1. + lowerBound = Math.pow(-2, bitLength) - 1; + + // 2. Let upperBound be 2^bitLength − 1 − 1. + upperBound = Math.pow(2, bitLength - 1) - 1; + } + + // 4. Let x be ? ToNumber(V). + var x = Number(V); + + // 5. If x is −0, then set x to +0. + if (x === 0) { + x = 0; + } + + // 6. If the conversion is to an IDL type associated + // with the [EnforceRange] extended attribute, then: + if ((opts === null || opts === void 0 ? void 0 : opts.enforceRange) === true) { + // 1. If x is NaN, +∞, or −∞, then throw a TypeError. + if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + throw webidl.errors.exception({ + header: 'Integer conversion', + message: "Could not convert ".concat(webidl.util.Stringify(V), " to an integer.") + }); + } + + // 2. Set x to IntegerPart(x). + x = webidl.util.IntegerPart(x); + + // 3. If x < lowerBound or x > upperBound, then + // throw a TypeError. + if (x < lowerBound || x > upperBound) { + throw webidl.errors.exception({ + header: 'Integer conversion', + message: "Value must be between ".concat(lowerBound, "-").concat(upperBound, ", got ").concat(x, ".") + }); + } + + // 4. Return x. + return x; + } + + // 7. If x is not NaN and the conversion is to an IDL + // type associated with the [Clamp] extended + // attribute, then: + if (!Number.isNaN(x) && (opts === null || opts === void 0 ? void 0 : opts.clamp) === true) { + // 1. Set x to min(max(x, lowerBound), upperBound). + x = Math.min(Math.max(x, lowerBound), upperBound); + + // 2. Round x to the nearest integer, choosing the + // even integer if it lies halfway between two, + // and choosing +0 rather than −0. + if (Math.floor(x) % 2 === 0) { + x = Math.floor(x); + } else { + x = Math.ceil(x); + } + + // 3. Return x. + return x; + } + + // 8. If x is NaN, +0, +∞, or −∞, then return +0. + if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + return 0; + } + + // 9. Set x to IntegerPart(x). + x = webidl.util.IntegerPart(x); + + // 10. Set x to x modulo 2^bitLength. + x = x % Math.pow(2, bitLength); + + // 11. If signedness is "signed" and x ≥ 2^bitLength − 1, + // then return x − 2^bitLength. + if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) { + return x - Math.pow(2, bitLength); + } + + // 12. Otherwise, return x. + return x; +}; + +// https://webidl.spec.whatwg.org/#abstract-opdef-integerpart +webidl.util.IntegerPart = function (n) { + // 1. Let r be floor(abs(n)). + var r = Math.floor(Math.abs(n)); + + // 2. If n < 0, then return -1 × r. + if (n < 0) { + return -1 * r; + } + + // 3. Otherwise, return r. + return r; +}; +webidl.util.Stringify = function (V) { + var type = webidl.util.Type(V); + switch (type) { + case 'Symbol': + return "Symbol(".concat(V.description, ")"); + case 'Object': + return inspect(V); + case 'String': + return "\"".concat(V, "\""); + default: + return "".concat(V); + } +}; + +// https://webidl.spec.whatwg.org/#es-sequence +webidl.sequenceConverter = function (converter) { + return function (V, prefix, argument, Iterable) { + var _V$Symbol$iterator; + // 1. If Type(V) is not Object, throw a TypeError. + if (webidl.util.Type(V) !== 'Object') { + throw webidl.errors.exception({ + header: prefix, + message: "".concat(argument, " (").concat(webidl.util.Stringify(V), ") is not iterable.") + }); + } + + // 2. Let method be ? GetMethod(V, @@iterator). + /** @type {Generator} */ + var method = typeof Iterable === 'function' ? Iterable() : V === null || V === void 0 || (_V$Symbol$iterator = V[Symbol.iterator]) === null || _V$Symbol$iterator === void 0 ? void 0 : _V$Symbol$iterator.call(V); + var seq = []; + var index = 0; + + // 3. If method is undefined, throw a TypeError. + if (method === undefined || typeof method.next !== 'function') { + throw webidl.errors.exception({ + header: prefix, + message: "".concat(argument, " is not iterable.") + }); + } + + // https://webidl.spec.whatwg.org/#create-sequence-from-iterable + while (true) { + var _method$next = method.next(), + done = _method$next.done, + value = _method$next.value; + if (done) { + break; + } + seq.push(converter(value, prefix, "".concat(argument, "[").concat(index++, "]"))); + } + return seq; + }; +}; + +// https://webidl.spec.whatwg.org/#es-to-record +webidl.recordConverter = function (keyConverter, valueConverter) { + return function (O, prefix, argument) { + // 1. If Type(O) is not Object, throw a TypeError. + if (webidl.util.Type(O) !== 'Object') { + throw webidl.errors.exception({ + header: prefix, + message: "".concat(argument, " (\"").concat(webidl.util.Type(O), "\") is not an Object.") + }); + } + + // 2. Let result be a new empty instance of record. + var result = {}; + if (!types.isProxy(O)) { + // 1. Let desc be ? O.[[GetOwnProperty]](key). + var _keys = [].concat(_toConsumableArray(Object.getOwnPropertyNames(O)), _toConsumableArray(Object.getOwnPropertySymbols(O))); + var _iterator = _createForOfIteratorHelper(_keys), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var key = _step.value; + // 1. Let typedKey be key converted to an IDL value of type K. + var typedKey = keyConverter(key, prefix, argument); + + // 2. Let value be ? Get(O, key). + // 3. Let typedValue be value converted to an IDL value of type V. + var typedValue = valueConverter(O[key], prefix, argument); + + // 4. Set result[typedKey] to typedValue. + result[typedKey] = typedValue; + } + + // 5. Return result. + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return result; + } + + // 3. Let keys be ? O.[[OwnPropertyKeys]](). + var keys = Reflect.ownKeys(O); + + // 4. For each key of keys. + var _iterator2 = _createForOfIteratorHelper(keys), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _key = _step2.value; + // 1. Let desc be ? O.[[GetOwnProperty]](key). + var desc = Reflect.getOwnPropertyDescriptor(O, _key); + + // 2. If desc is not undefined and desc.[[Enumerable]] is true: + if (desc !== null && desc !== void 0 && desc.enumerable) { + // 1. Let typedKey be key converted to an IDL value of type K. + var _typedKey = keyConverter(_key, prefix, argument); + + // 2. Let value be ? Get(O, key). + // 3. Let typedValue be value converted to an IDL value of type V. + var _typedValue = valueConverter(O[_key], prefix, argument); + + // 4. Set result[typedKey] to typedValue. + result[_typedKey] = _typedValue; + } + } + + // 5. Return result. + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + return result; + }; +}; +webidl.interfaceConverter = function (i) { + return function (V, prefix, argument, opts) { + if ((opts === null || opts === void 0 ? void 0 : opts.strict) !== false && !(V instanceof i)) { + throw webidl.errors.exception({ + header: prefix, + message: "Expected ".concat(argument, " (\"").concat(webidl.util.Stringify(V), "\") to be an instance of ").concat(i.name, ".") + }); + } + return V; + }; +}; +webidl.dictionaryConverter = function (converters) { + return function (dictionary, prefix, argument) { + var type = webidl.util.Type(dictionary); + var dict = {}; + if (type === 'Null' || type === 'Undefined') { + return dict; + } else if (type !== 'Object') { + throw webidl.errors.exception({ + header: prefix, + message: "Expected ".concat(dictionary, " to be one of: Null, Undefined, Object.") + }); + } + var _iterator3 = _createForOfIteratorHelper(converters), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var options = _step3.value; + var key = options.key, + defaultValue = options.defaultValue, + required = options.required, + converter = options.converter; + if (required === true) { + if (!Object.hasOwn(dictionary, key)) { + throw webidl.errors.exception({ + header: prefix, + message: "Missing required key \"".concat(key, "\".") + }); + } + } + var value = dictionary[key]; + var hasDefault = Object.hasOwn(options, 'defaultValue'); + + // Only use defaultValue if value is undefined and + // a defaultValue options was provided. + if (hasDefault && value !== null) { + value !== null && value !== void 0 ? value : value = defaultValue(); + } + + // A key can be optional and have no default value. + // When this happens, do not perform a conversion, + // and do not assign the key a value. + if (required || hasDefault || value !== undefined) { + value = converter(value, prefix, "".concat(argument, ".").concat(key)); + if (options.allowedValues && !options.allowedValues.includes(value)) { + throw webidl.errors.exception({ + header: prefix, + message: "".concat(value, " is not an accepted type. Expected one of ").concat(options.allowedValues.join(', '), ".") + }); + } + dict[key] = value; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + return dict; + }; +}; +webidl.nullableConverter = function (converter) { + return function (V, prefix, argument) { + if (V === null) { + return V; + } + return converter(V, prefix, argument); + }; +}; + +// https://webidl.spec.whatwg.org/#es-DOMString +webidl.converters.DOMString = function (V, prefix, argument, opts) { + // 1. If V is null and the conversion is to an IDL type + // associated with the [LegacyNullToEmptyString] + // extended attribute, then return the DOMString value + // that represents the empty string. + if (V === null && opts !== null && opts !== void 0 && opts.legacyNullToEmptyString) { + return ''; + } + + // 2. Let x be ? ToString(V). + if (typeof V === 'symbol') { + throw webidl.errors.exception({ + header: prefix, + message: "".concat(argument, " is a symbol, which cannot be converted to a DOMString.") + }); + } + + // 3. Return the IDL DOMString value that represents the + // same sequence of code units as the one the + // ECMAScript String value x represents. + return String(V); +}; + +// https://webidl.spec.whatwg.org/#es-ByteString +webidl.converters.ByteString = function (V, prefix, argument) { + // 1. Let x be ? ToString(V). + // Note: DOMString converter perform ? ToString(V) + var x = webidl.converters.DOMString(V, prefix, argument); + + // 2. If the value of any element of x is greater than + // 255, then throw a TypeError. + for (var index = 0; index < x.length; index++) { + if (x.charCodeAt(index) > 255) { + throw new TypeError('Cannot convert argument to a ByteString because the character at ' + "index ".concat(index, " has a value of ").concat(x.charCodeAt(index), " which is greater than 255.")); + } + } + + // 3. Return an IDL ByteString value whose length is the + // length of x, and where the value of each element is + // the value of the corresponding element of x. + return x; +}; + +// https://webidl.spec.whatwg.org/#es-USVString +// TODO: rewrite this so we can control the errors thrown +webidl.converters.USVString = toUSVString; + +// https://webidl.spec.whatwg.org/#es-boolean +webidl.converters["boolean"] = function (V) { + // 1. Let x be the result of computing ToBoolean(V). + var x = Boolean(V); + + // 2. Return the IDL boolean value that is the one that represents + // the same truth value as the ECMAScript Boolean value x. + return x; +}; + +// https://webidl.spec.whatwg.org/#es-any +webidl.converters.any = function (V) { + return V; +}; + +// https://webidl.spec.whatwg.org/#es-long-long +webidl.converters['long long'] = function (V, prefix, argument) { + // 1. Let x be ? ConvertToInt(V, 64, "signed"). + var x = webidl.util.ConvertToInt(V, 64, 'signed', undefined, prefix, argument); + + // 2. Return the IDL long long value that represents + // the same numeric value as x. + return x; +}; + +// https://webidl.spec.whatwg.org/#es-unsigned-long-long +webidl.converters['unsigned long long'] = function (V, prefix, argument) { + // 1. Let x be ? ConvertToInt(V, 64, "unsigned"). + var x = webidl.util.ConvertToInt(V, 64, 'unsigned', undefined, prefix, argument); + + // 2. Return the IDL unsigned long long value that + // represents the same numeric value as x. + return x; +}; + +// https://webidl.spec.whatwg.org/#es-unsigned-long +webidl.converters['unsigned long'] = function (V, prefix, argument) { + // 1. Let x be ? ConvertToInt(V, 32, "unsigned"). + var x = webidl.util.ConvertToInt(V, 32, 'unsigned', undefined, prefix, argument); + + // 2. Return the IDL unsigned long value that + // represents the same numeric value as x. + return x; +}; + +// https://webidl.spec.whatwg.org/#es-unsigned-short +webidl.converters['unsigned short'] = function (V, prefix, argument, opts) { + // 1. Let x be ? ConvertToInt(V, 16, "unsigned"). + var x = webidl.util.ConvertToInt(V, 16, 'unsigned', opts, prefix, argument); + + // 2. Return the IDL unsigned short value that represents + // the same numeric value as x. + return x; +}; + +// https://webidl.spec.whatwg.org/#idl-ArrayBuffer +webidl.converters.ArrayBuffer = function (V, prefix, argument, opts) { + // 1. If Type(V) is not Object, or V does not have an + // [[ArrayBufferData]] internal slot, then throw a + // TypeError. + // see: https://tc39.es/ecma262/#sec-properties-of-the-arraybuffer-instances + // see: https://tc39.es/ecma262/#sec-properties-of-the-sharedarraybuffer-instances + if (webidl.util.Type(V) !== 'Object' || !types.isAnyArrayBuffer(V)) { + throw webidl.errors.conversionFailed({ + prefix: prefix, + argument: "".concat(argument, " (\"").concat(webidl.util.Stringify(V), "\")"), + types: ['ArrayBuffer'] + }); + } + + // 2. If the conversion is not to an IDL type associated + // with the [AllowShared] extended attribute, and + // IsSharedArrayBuffer(V) is true, then throw a + // TypeError. + if ((opts === null || opts === void 0 ? void 0 : opts.allowShared) === false && types.isSharedArrayBuffer(V)) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }); + } + + // 3. If the conversion is not to an IDL type associated + // with the [AllowResizable] extended attribute, and + // IsResizableArrayBuffer(V) is true, then throw a + // TypeError. + if (V.resizable || V.growable) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'Received a resizable ArrayBuffer.' + }); + } + + // 4. Return the IDL ArrayBuffer value that is a + // reference to the same object as V. + return V; +}; +webidl.converters.TypedArray = function (V, T, prefix, name, opts) { + // 1. Let T be the IDL type V is being converted to. + + // 2. If Type(V) is not Object, or V does not have a + // [[TypedArrayName]] internal slot with a value + // equal to T’s name, then throw a TypeError. + if (webidl.util.Type(V) !== 'Object' || !types.isTypedArray(V) || V.constructor.name !== T.name) { + throw webidl.errors.conversionFailed({ + prefix: prefix, + argument: "".concat(name, " (\"").concat(webidl.util.Stringify(V), "\")"), + types: [T.name] + }); + } + + // 3. If the conversion is not to an IDL type associated + // with the [AllowShared] extended attribute, and + // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is + // true, then throw a TypeError. + if ((opts === null || opts === void 0 ? void 0 : opts.allowShared) === false && types.isSharedArrayBuffer(V.buffer)) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }); + } + + // 4. If the conversion is not to an IDL type associated + // with the [AllowResizable] extended attribute, and + // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is + // true, then throw a TypeError. + if (V.buffer.resizable || V.buffer.growable) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'Received a resizable ArrayBuffer.' + }); + } + + // 5. Return the IDL value of type T that is a reference + // to the same object as V. + return V; +}; +webidl.converters.DataView = function (V, prefix, name, opts) { + // 1. If Type(V) is not Object, or V does not have a + // [[DataView]] internal slot, then throw a TypeError. + if (webidl.util.Type(V) !== 'Object' || !types.isDataView(V)) { + throw webidl.errors.exception({ + header: prefix, + message: "".concat(name, " is not a DataView.") + }); + } + + // 2. If the conversion is not to an IDL type associated + // with the [AllowShared] extended attribute, and + // IsSharedArrayBuffer(V.[[ViewedArrayBuffer]]) is true, + // then throw a TypeError. + if ((opts === null || opts === void 0 ? void 0 : opts.allowShared) === false && types.isSharedArrayBuffer(V.buffer)) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'SharedArrayBuffer is not allowed.' + }); + } + + // 3. If the conversion is not to an IDL type associated + // with the [AllowResizable] extended attribute, and + // IsResizableArrayBuffer(V.[[ViewedArrayBuffer]]) is + // true, then throw a TypeError. + if (V.buffer.resizable || V.buffer.growable) { + throw webidl.errors.exception({ + header: 'ArrayBuffer', + message: 'Received a resizable ArrayBuffer.' + }); + } + + // 4. Return the IDL DataView value that is a reference + // to the same object as V. + return V; +}; + +// https://webidl.spec.whatwg.org/#BufferSource +webidl.converters.BufferSource = function (V, prefix, name, opts) { + if (types.isAnyArrayBuffer(V)) { + return webidl.converters.ArrayBuffer(V, prefix, name, _objectSpread(_objectSpread({}, opts), {}, { + allowShared: false + })); + } + if (types.isTypedArray(V)) { + return webidl.converters.TypedArray(V, V.constructor, prefix, name, _objectSpread(_objectSpread({}, opts), {}, { + allowShared: false + })); + } + if (types.isDataView(V)) { + return webidl.converters.DataView(V, prefix, name, _objectSpread(_objectSpread({}, opts), {}, { + allowShared: false + })); + } + throw webidl.errors.conversionFailed({ + prefix: prefix, + argument: "".concat(name, " (\"").concat(webidl.util.Stringify(V), "\")"), + types: ['BufferSource'] + }); +}; +webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.ByteString); +webidl.converters['sequence>'] = webidl.sequenceConverter(webidl.converters['sequence']); +webidl.converters['record'] = webidl.recordConverter(webidl.converters.ByteString, webidl.converters.ByteString); +module.exports = { + webidl: webidl +}; + +/***/ }, + +/***/ 1463 +(module) { + +"use strict"; + + +/** + * @see https://encoding.spec.whatwg.org/#concept-encoding-get + * @param {string|undefined} label + */ +function getEncoding(label) { + if (!label) { + return 'failure'; + } + + // 1. Remove any leading and trailing ASCII whitespace from label. + // 2. If label is an ASCII case-insensitive match for any of the + // labels listed in the table below, then return the + // corresponding encoding; otherwise return failure. + switch (label.trim().toLowerCase()) { + case 'unicode-1-1-utf-8': + case 'unicode11utf8': + case 'unicode20utf8': + case 'utf-8': + case 'utf8': + case 'x-unicode20utf8': + return 'UTF-8'; + case '866': + case 'cp866': + case 'csibm866': + case 'ibm866': + return 'IBM866'; + case 'csisolatin2': + case 'iso-8859-2': + case 'iso-ir-101': + case 'iso8859-2': + case 'iso88592': + case 'iso_8859-2': + case 'iso_8859-2:1987': + case 'l2': + case 'latin2': + return 'ISO-8859-2'; + case 'csisolatin3': + case 'iso-8859-3': + case 'iso-ir-109': + case 'iso8859-3': + case 'iso88593': + case 'iso_8859-3': + case 'iso_8859-3:1988': + case 'l3': + case 'latin3': + return 'ISO-8859-3'; + case 'csisolatin4': + case 'iso-8859-4': + case 'iso-ir-110': + case 'iso8859-4': + case 'iso88594': + case 'iso_8859-4': + case 'iso_8859-4:1988': + case 'l4': + case 'latin4': + return 'ISO-8859-4'; + case 'csisolatincyrillic': + case 'cyrillic': + case 'iso-8859-5': + case 'iso-ir-144': + case 'iso8859-5': + case 'iso88595': + case 'iso_8859-5': + case 'iso_8859-5:1988': + return 'ISO-8859-5'; + case 'arabic': + case 'asmo-708': + case 'csiso88596e': + case 'csiso88596i': + case 'csisolatinarabic': + case 'ecma-114': + case 'iso-8859-6': + case 'iso-8859-6-e': + case 'iso-8859-6-i': + case 'iso-ir-127': + case 'iso8859-6': + case 'iso88596': + case 'iso_8859-6': + case 'iso_8859-6:1987': + return 'ISO-8859-6'; + case 'csisolatingreek': + case 'ecma-118': + case 'elot_928': + case 'greek': + case 'greek8': + case 'iso-8859-7': + case 'iso-ir-126': + case 'iso8859-7': + case 'iso88597': + case 'iso_8859-7': + case 'iso_8859-7:1987': + case 'sun_eu_greek': + return 'ISO-8859-7'; + case 'csiso88598e': + case 'csisolatinhebrew': + case 'hebrew': + case 'iso-8859-8': + case 'iso-8859-8-e': + case 'iso-ir-138': + case 'iso8859-8': + case 'iso88598': + case 'iso_8859-8': + case 'iso_8859-8:1988': + case 'visual': + return 'ISO-8859-8'; + case 'csiso88598i': + case 'iso-8859-8-i': + case 'logical': + return 'ISO-8859-8-I'; + case 'csisolatin6': + case 'iso-8859-10': + case 'iso-ir-157': + case 'iso8859-10': + case 'iso885910': + case 'l6': + case 'latin6': + return 'ISO-8859-10'; + case 'iso-8859-13': + case 'iso8859-13': + case 'iso885913': + return 'ISO-8859-13'; + case 'iso-8859-14': + case 'iso8859-14': + case 'iso885914': + return 'ISO-8859-14'; + case 'csisolatin9': + case 'iso-8859-15': + case 'iso8859-15': + case 'iso885915': + case 'iso_8859-15': + case 'l9': + return 'ISO-8859-15'; + case 'iso-8859-16': + return 'ISO-8859-16'; + case 'cskoi8r': + case 'koi': + case 'koi8': + case 'koi8-r': + case 'koi8_r': + return 'KOI8-R'; + case 'koi8-ru': + case 'koi8-u': + return 'KOI8-U'; + case 'csmacintosh': + case 'mac': + case 'macintosh': + case 'x-mac-roman': + return 'macintosh'; + case 'iso-8859-11': + case 'iso8859-11': + case 'iso885911': + case 'tis-620': + case 'windows-874': + return 'windows-874'; + case 'cp1250': + case 'windows-1250': + case 'x-cp1250': + return 'windows-1250'; + case 'cp1251': + case 'windows-1251': + case 'x-cp1251': + return 'windows-1251'; + case 'ansi_x3.4-1968': + case 'ascii': + case 'cp1252': + case 'cp819': + case 'csisolatin1': + case 'ibm819': + case 'iso-8859-1': + case 'iso-ir-100': + case 'iso8859-1': + case 'iso88591': + case 'iso_8859-1': + case 'iso_8859-1:1987': + case 'l1': + case 'latin1': + case 'us-ascii': + case 'windows-1252': + case 'x-cp1252': + return 'windows-1252'; + case 'cp1253': + case 'windows-1253': + case 'x-cp1253': + return 'windows-1253'; + case 'cp1254': + case 'csisolatin5': + case 'iso-8859-9': + case 'iso-ir-148': + case 'iso8859-9': + case 'iso88599': + case 'iso_8859-9': + case 'iso_8859-9:1989': + case 'l5': + case 'latin5': + case 'windows-1254': + case 'x-cp1254': + return 'windows-1254'; + case 'cp1255': + case 'windows-1255': + case 'x-cp1255': + return 'windows-1255'; + case 'cp1256': + case 'windows-1256': + case 'x-cp1256': + return 'windows-1256'; + case 'cp1257': + case 'windows-1257': + case 'x-cp1257': + return 'windows-1257'; + case 'cp1258': + case 'windows-1258': + case 'x-cp1258': + return 'windows-1258'; + case 'x-mac-cyrillic': + case 'x-mac-ukrainian': + return 'x-mac-cyrillic'; + case 'chinese': + case 'csgb2312': + case 'csiso58gb231280': + case 'gb2312': + case 'gb_2312': + case 'gb_2312-80': + case 'gbk': + case 'iso-ir-58': + case 'x-gbk': + return 'GBK'; + case 'gb18030': + return 'gb18030'; + case 'big5': + case 'big5-hkscs': + case 'cn-big5': + case 'csbig5': + case 'x-x-big5': + return 'Big5'; + case 'cseucpkdfmtjapanese': + case 'euc-jp': + case 'x-euc-jp': + return 'EUC-JP'; + case 'csiso2022jp': + case 'iso-2022-jp': + return 'ISO-2022-JP'; + case 'csshiftjis': + case 'ms932': + case 'ms_kanji': + case 'shift-jis': + case 'shift_jis': + case 'sjis': + case 'windows-31j': + case 'x-sjis': + return 'Shift_JIS'; + case 'cseuckr': + case 'csksc56011987': + case 'euc-kr': + case 'iso-ir-149': + case 'korean': + case 'ks_c_5601-1987': + case 'ks_c_5601-1989': + case 'ksc5601': + case 'ksc_5601': + case 'windows-949': + return 'EUC-KR'; + case 'csiso2022kr': + case 'hz-gb-2312': + case 'iso-2022-cn': + case 'iso-2022-cn-ext': + case 'iso-2022-kr': + case 'replacement': + return 'replacement'; + case 'unicodefffe': + case 'utf-16be': + return 'UTF-16BE'; + case 'csunicode': + case 'iso-10646-ucs-2': + case 'ucs-2': + case 'unicode': + case 'unicodefeff': + case 'utf-16': + case 'utf-16le': + return 'UTF-16LE'; + case 'x-user-defined': + return 'x-user-defined'; + default: + return 'failure'; + } +} +module.exports = { + getEncoding: getEncoding +}; + +/***/ }, + +/***/ 187 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _defineProperty = (__webpack_require__(3693)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _wrapNativeSuper = (__webpack_require__(1837)["default"]); +var _require = __webpack_require__(6002), + staticPropertyDescriptors = _require.staticPropertyDescriptors, + readOperation = _require.readOperation, + fireAProgressEvent = _require.fireAProgressEvent; +var _require2 = __webpack_require__(1593), + kState = _require2.kState, + kError = _require2.kError, + kResult = _require2.kResult, + kEvents = _require2.kEvents, + kAborted = _require2.kAborted; +var _require3 = __webpack_require__(2861), + webidl = _require3.webidl; +var _require4 = __webpack_require__(6632), + kEnumerableProperty = _require4.kEnumerableProperty; +var FileReader = /*#__PURE__*/function (_EventTarget) { + function FileReader() { + var _this; + _classCallCheck(this, FileReader); + _this = _callSuper(this, FileReader); + _this[kState] = 'empty'; + _this[kResult] = null; + _this[kError] = null; + _this[kEvents] = { + loadend: null, + error: null, + abort: null, + load: null, + progress: null, + loadstart: null + }; + return _this; + } + + /** + * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer + * @param {import('buffer').Blob} blob + */ + _inherits(FileReader, _EventTarget); + return _createClass(FileReader, [{ + key: "readAsArrayBuffer", + value: function readAsArrayBuffer(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsArrayBuffer'); + blob = webidl.converters.Blob(blob, { + strict: false + }); + + // The readAsArrayBuffer(blob) method, when invoked, + // must initiate a read operation for blob with ArrayBuffer. + readOperation(this, blob, 'ArrayBuffer'); + } + + /** + * @see https://w3c.github.io/FileAPI/#readAsBinaryString + * @param {import('buffer').Blob} blob + */ + }, { + key: "readAsBinaryString", + value: function readAsBinaryString(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsBinaryString'); + blob = webidl.converters.Blob(blob, { + strict: false + }); + + // The readAsBinaryString(blob) method, when invoked, + // must initiate a read operation for blob with BinaryString. + readOperation(this, blob, 'BinaryString'); + } + + /** + * @see https://w3c.github.io/FileAPI/#readAsDataText + * @param {import('buffer').Blob} blob + * @param {string?} encoding + */ + }, { + key: "readAsText", + value: function readAsText(blob) { + var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsText'); + blob = webidl.converters.Blob(blob, { + strict: false + }); + if (encoding !== undefined) { + encoding = webidl.converters.DOMString(encoding, 'FileReader.readAsText', 'encoding'); + } + + // The readAsText(blob, encoding) method, when invoked, + // must initiate a read operation for blob with Text and encoding. + readOperation(this, blob, 'Text', encoding); + } + + /** + * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL + * @param {import('buffer').Blob} blob + */ + }, { + key: "readAsDataURL", + value: function readAsDataURL(blob) { + webidl.brandCheck(this, FileReader); + webidl.argumentLengthCheck(arguments, 1, 'FileReader.readAsDataURL'); + blob = webidl.converters.Blob(blob, { + strict: false + }); + + // The readAsDataURL(blob) method, when invoked, must + // initiate a read operation for blob with DataURL. + readOperation(this, blob, 'DataURL'); + } + + /** + * @see https://w3c.github.io/FileAPI/#dfn-abort + */ + }, { + key: "abort", + value: function abort() { + // 1. If this's state is "empty" or if this's state is + // "done" set this's result to null and terminate + // this algorithm. + if (this[kState] === 'empty' || this[kState] === 'done') { + this[kResult] = null; + return; + } + + // 2. If this's state is "loading" set this's state to + // "done" and set this's result to null. + if (this[kState] === 'loading') { + this[kState] = 'done'; + this[kResult] = null; + } + + // 3. If there are any tasks from this on the file reading + // task source in an affiliated task queue, then remove + // those tasks from that task queue. + this[kAborted] = true; + + // 4. Terminate the algorithm for the read method being processed. + // TODO + + // 5. Fire a progress event called abort at this. + fireAProgressEvent('abort', this); + + // 6. If this's state is not "loading", fire a progress + // event called loadend at this. + if (this[kState] !== 'loading') { + fireAProgressEvent('loadend', this); + } + } + + /** + * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate + */ + }, { + key: "readyState", + get: function get() { + webidl.brandCheck(this, FileReader); + switch (this[kState]) { + case 'empty': + return this.EMPTY; + case 'loading': + return this.LOADING; + case 'done': + return this.DONE; + } + } + + /** + * @see https://w3c.github.io/FileAPI/#dom-filereader-result + */ + }, { + key: "result", + get: function get() { + webidl.brandCheck(this, FileReader); + + // The result attribute’s getter, when invoked, must return + // this's result. + return this[kResult]; + } + + /** + * @see https://w3c.github.io/FileAPI/#dom-filereader-error + */ + }, { + key: "error", + get: function get() { + webidl.brandCheck(this, FileReader); + + // The error attribute’s getter, when invoked, must return + // this's error. + return this[kError]; + } + }, { + key: "onloadend", + get: function get() { + webidl.brandCheck(this, FileReader); + return this[kEvents].loadend; + }, + set: function set(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].loadend) { + this.removeEventListener('loadend', this[kEvents].loadend); + } + if (typeof fn === 'function') { + this[kEvents].loadend = fn; + this.addEventListener('loadend', fn); + } else { + this[kEvents].loadend = null; + } + } + }, { + key: "onerror", + get: function get() { + webidl.brandCheck(this, FileReader); + return this[kEvents].error; + }, + set: function set(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].error) { + this.removeEventListener('error', this[kEvents].error); + } + if (typeof fn === 'function') { + this[kEvents].error = fn; + this.addEventListener('error', fn); + } else { + this[kEvents].error = null; + } + } + }, { + key: "onloadstart", + get: function get() { + webidl.brandCheck(this, FileReader); + return this[kEvents].loadstart; + }, + set: function set(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].loadstart) { + this.removeEventListener('loadstart', this[kEvents].loadstart); + } + if (typeof fn === 'function') { + this[kEvents].loadstart = fn; + this.addEventListener('loadstart', fn); + } else { + this[kEvents].loadstart = null; + } + } + }, { + key: "onprogress", + get: function get() { + webidl.brandCheck(this, FileReader); + return this[kEvents].progress; + }, + set: function set(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].progress) { + this.removeEventListener('progress', this[kEvents].progress); + } + if (typeof fn === 'function') { + this[kEvents].progress = fn; + this.addEventListener('progress', fn); + } else { + this[kEvents].progress = null; + } + } + }, { + key: "onload", + get: function get() { + webidl.brandCheck(this, FileReader); + return this[kEvents].load; + }, + set: function set(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].load) { + this.removeEventListener('load', this[kEvents].load); + } + if (typeof fn === 'function') { + this[kEvents].load = fn; + this.addEventListener('load', fn); + } else { + this[kEvents].load = null; + } + } + }, { + key: "onabort", + get: function get() { + webidl.brandCheck(this, FileReader); + return this[kEvents].abort; + }, + set: function set(fn) { + webidl.brandCheck(this, FileReader); + if (this[kEvents].abort) { + this.removeEventListener('abort', this[kEvents].abort); + } + if (typeof fn === 'function') { + this[kEvents].abort = fn; + this.addEventListener('abort', fn); + } else { + this[kEvents].abort = null; + } + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(EventTarget)); // https://w3c.github.io/FileAPI/#dom-filereader-empty +FileReader.EMPTY = FileReader.prototype.EMPTY = 0; +// https://w3c.github.io/FileAPI/#dom-filereader-loading +FileReader.LOADING = FileReader.prototype.LOADING = 1; +// https://w3c.github.io/FileAPI/#dom-filereader-done +FileReader.DONE = FileReader.prototype.DONE = 2; +Object.defineProperties(FileReader.prototype, _defineProperty({ + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors, + readAsArrayBuffer: kEnumerableProperty, + readAsBinaryString: kEnumerableProperty, + readAsText: kEnumerableProperty, + readAsDataURL: kEnumerableProperty, + abort: kEnumerableProperty, + readyState: kEnumerableProperty, + result: kEnumerableProperty, + error: kEnumerableProperty, + onloadstart: kEnumerableProperty, + onprogress: kEnumerableProperty, + onload: kEnumerableProperty, + onabort: kEnumerableProperty, + onerror: kEnumerableProperty, + onloadend: kEnumerableProperty +}, Symbol.toStringTag, { + value: 'FileReader', + writable: false, + enumerable: false, + configurable: true +})); +Object.defineProperties(FileReader, { + EMPTY: staticPropertyDescriptors, + LOADING: staticPropertyDescriptors, + DONE: staticPropertyDescriptors +}); +module.exports = { + FileReader: FileReader +}; + +/***/ }, + +/***/ 6421 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _wrapNativeSuper = (__webpack_require__(1837)["default"]); +var _require = __webpack_require__(2861), + webidl = _require.webidl; +var kState = Symbol('ProgressEvent state'); + +/** + * @see https://xhr.spec.whatwg.org/#progressevent + */ +var ProgressEvent = /*#__PURE__*/function (_Event) { + function ProgressEvent(type) { + var _this; + var eventInitDict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, ProgressEvent); + type = webidl.converters.DOMString(type, 'ProgressEvent constructor', 'type'); + eventInitDict = webidl.converters.ProgressEventInit(eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {}); + _this = _callSuper(this, ProgressEvent, [type, eventInitDict]); + _this[kState] = { + lengthComputable: eventInitDict.lengthComputable, + loaded: eventInitDict.loaded, + total: eventInitDict.total + }; + return _this; + } + _inherits(ProgressEvent, _Event); + return _createClass(ProgressEvent, [{ + key: "lengthComputable", + get: function get() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].lengthComputable; + } + }, { + key: "loaded", + get: function get() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].loaded; + } + }, { + key: "total", + get: function get() { + webidl.brandCheck(this, ProgressEvent); + return this[kState].total; + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(Event)); +webidl.converters.ProgressEventInit = webidl.dictionaryConverter([{ + key: 'lengthComputable', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'loaded', + converter: webidl.converters['unsigned long long'], + defaultValue: function defaultValue() { + return 0; + } +}, { + key: 'total', + converter: webidl.converters['unsigned long long'], + defaultValue: function defaultValue() { + return 0; + } +}, { + key: 'bubbles', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'cancelable', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'composed', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}]); +module.exports = { + ProgressEvent: ProgressEvent +}; + +/***/ }, + +/***/ 1593 +(module) { + +"use strict"; + + +module.exports = { + kState: Symbol('FileReader state'), + kResult: Symbol('FileReader result'), + kError: Symbol('FileReader error'), + kLastProgressEventFired: Symbol('FileReader last progress event fired timestamp'), + kEvents: Symbol('FileReader events'), + kAborted: Symbol('FileReader aborted') +}; + +/***/ }, + +/***/ 6002 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _regeneratorValues = (__webpack_require__(579)["default"]); +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _require = __webpack_require__(1593), + kState = _require.kState, + kError = _require.kError, + kResult = _require.kResult, + kAborted = _require.kAborted, + kLastProgressEventFired = _require.kLastProgressEventFired; +var _require2 = __webpack_require__(6421), + ProgressEvent = _require2.ProgressEvent; +var _require3 = __webpack_require__(1463), + getEncoding = _require3.getEncoding; +var _require4 = __webpack_require__(8388), + serializeAMimeType = _require4.serializeAMimeType, + parseMIMEType = _require4.parseMIMEType; +var _require5 = __webpack_require__(7975), + types = _require5.types; +var _require6 = __webpack_require__(3193), + StringDecoder = _require6.StringDecoder; +var _require7 = __webpack_require__(4573), + btoa = _require7.btoa; + +/** @type {PropertyDescriptor} */ +var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false +}; + +/** + * @see https://w3c.github.io/FileAPI/#readOperation + * @param {import('./filereader').FileReader} fr + * @param {import('buffer').Blob} blob + * @param {string} type + * @param {string?} encodingName + */ +function readOperation(fr, blob, type, encodingName) { + // 1. If fr’s state is "loading", throw an InvalidStateError + // DOMException. + if (fr[kState] === 'loading') { + throw new DOMException('Invalid state', 'InvalidStateError'); + } + + // 2. Set fr’s state to "loading". + fr[kState] = 'loading'; + + // 3. Set fr’s result to null. + fr[kResult] = null; + + // 4. Set fr’s error to null. + fr[kError] = null; + + // 5. Let stream be the result of calling get stream on blob. + /** @type {import('stream/web').ReadableStream} */ + var stream = blob.stream(); + + // 6. Let reader be the result of getting a reader from stream. + var reader = stream.getReader(); + + // 7. Let bytes be an empty byte sequence. + /** @type {Uint8Array[]} */ + var bytes = []; + + // 8. Let chunkPromise be the result of reading a chunk from + // stream with reader. + var chunkPromise = reader.read(); + + // 9. Let isFirstChunk be true. + var isFirstChunk = true + + // 10. In parallel, while true: + // Note: "In parallel" just means non-blocking + // Note 2: readOperation itself cannot be async as double + // reading the body would then reject the promise, instead + // of throwing an error. +; + _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var _loop, _ret; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + _loop = /*#__PURE__*/_regenerator().m(function _loop() { + var _yield$chunkPromise, done, value, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + _context.p = 0; + _context.n = 1; + return chunkPromise; + case 1: + _yield$chunkPromise = _context.v; + done = _yield$chunkPromise.done; + value = _yield$chunkPromise.value; + // 2. If chunkPromise is fulfilled, and isFirstChunk is + // true, queue a task to fire a progress event called + // loadstart at fr. + if (isFirstChunk && !fr[kAborted]) { + queueMicrotask(function () { + fireAProgressEvent('loadstart', fr); + }); + } + + // 3. Set isFirstChunk to false. + isFirstChunk = false; + + // 4. If chunkPromise is fulfilled with an object whose + // done property is false and whose value property is + // a Uint8Array object, run these steps: + if (!(!done && types.isUint8Array(value))) { + _context.n = 2; + break; + } + // 1. Let bs be the byte sequence represented by the + // Uint8Array object. + + // 2. Append bs to bytes. + bytes.push(value); + + // 3. If roughly 50ms have passed since these steps + // were last invoked, queue a task to fire a + // progress event called progress at fr. + if ((fr[kLastProgressEventFired] === undefined || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) { + fr[kLastProgressEventFired] = Date.now(); + queueMicrotask(function () { + fireAProgressEvent('progress', fr); + }); + } + + // 4. Set chunkPromise to the result of reading a + // chunk from stream with reader. + chunkPromise = reader.read(); + _context.n = 3; + break; + case 2: + if (!done) { + _context.n = 3; + break; + } + // 5. Otherwise, if chunkPromise is fulfilled with an + // object whose done property is true, queue a task + // to run the following steps and abort this algorithm: + queueMicrotask(function () { + // 1. Set fr’s state to "done". + fr[kState] = 'done'; + + // 2. Let result be the result of package data given + // bytes, type, blob’s type, and encodingName. + try { + var result = packageData(bytes, type, blob.type, encodingName); + + // 4. Else: + + if (fr[kAborted]) { + return; + } + + // 1. Set fr’s result to result. + fr[kResult] = result; + + // 2. Fire a progress event called load at the fr. + fireAProgressEvent('load', fr); + } catch (error) { + // 3. If package data threw an exception error: + + // 1. Set fr’s error to error. + fr[kError] = error; + + // 2. Fire a progress event called error at fr. + fireAProgressEvent('error', fr); + } + + // 5. If fr’s state is not "loading", fire a progress + // event called loadend at the fr. + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr); + } + }); + return _context.a(2, 0); + case 3: + _context.n = 6; + break; + case 4: + _context.p = 4; + _t = _context.v; + if (!fr[kAborted]) { + _context.n = 5; + break; + } + return _context.a(2, { + v: void 0 + }); + case 5: + // 6. Otherwise, if chunkPromise is rejected with an + // error error, queue a task to run the following + // steps and abort this algorithm: + queueMicrotask(function () { + // 1. Set fr’s state to "done". + fr[kState] = 'done'; + + // 2. Set fr’s error to error. + fr[kError] = _t; + + // 3. Fire a progress event called error at fr. + fireAProgressEvent('error', fr); + + // 4. If fr’s state is not "loading", fire a progress + // event called loadend at fr. + if (fr[kState] !== 'loading') { + fireAProgressEvent('loadend', fr); + } + }); + return _context.a(2, 0); + case 6: + return _context.a(2); + } + }, _loop, null, [[0, 4]]); + }); + case 1: + if (fr[kAborted]) { + _context2.n = 5; + break; + } + return _context2.d(_regeneratorValues(_loop()), 2); + case 2: + _ret = _context2.v; + if (!(_ret === 0)) { + _context2.n = 3; + break; + } + return _context2.a(3, 5); + case 3: + if (!_ret) { + _context2.n = 4; + break; + } + return _context2.a(2, _ret.v); + case 4: + _context2.n = 1; + break; + case 5: + return _context2.a(2); + } + }, _callee); + }))(); +} + +/** + * @see https://w3c.github.io/FileAPI/#fire-a-progress-event + * @see https://dom.spec.whatwg.org/#concept-event-fire + * @param {string} e The name of the event + * @param {import('./filereader').FileReader} reader + */ +function fireAProgressEvent(e, reader) { + // The progress event e does not bubble. e.bubbles must be false + // The progress event e is NOT cancelable. e.cancelable must be false + var event = new ProgressEvent(e, { + bubbles: false, + cancelable: false + }); + reader.dispatchEvent(event); +} + +/** + * @see https://w3c.github.io/FileAPI/#blob-package-data + * @param {Uint8Array[]} bytes + * @param {string} type + * @param {string?} mimeType + * @param {string?} encodingName + */ +function packageData(bytes, type, mimeType, encodingName) { + // 1. A Blob has an associated package data algorithm, given + // bytes, a type, a optional mimeType, and a optional + // encodingName, which switches on type and runs the + // associated steps: + + switch (type) { + case 'DataURL': + { + // 1. Return bytes as a DataURL [RFC2397] subject to + // the considerations below: + // * Use mimeType as part of the Data URL if it is + // available in keeping with the Data URL + // specification [RFC2397]. + // * If mimeType is not available return a Data URL + // without a media-type. [RFC2397]. + + // https://datatracker.ietf.org/doc/html/rfc2397#section-3 + // dataurl := "data:" [ mediatype ] [ ";base64" ] "," data + // mediatype := [ type "/" subtype ] *( ";" parameter ) + // data := *urlchar + // parameter := attribute "=" value + var dataURL = 'data:'; + var parsed = parseMIMEType(mimeType || 'application/octet-stream'); + if (parsed !== 'failure') { + dataURL += serializeAMimeType(parsed); + } + dataURL += ';base64,'; + var decoder = new StringDecoder('latin1'); + var _iterator = _createForOfIteratorHelper(bytes), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var chunk = _step.value; + dataURL += btoa(decoder.write(chunk)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + dataURL += btoa(decoder.end()); + return dataURL; + } + case 'Text': + { + // 1. Let encoding be failure + var encoding = 'failure'; + + // 2. If the encodingName is present, set encoding to the + // result of getting an encoding from encodingName. + if (encodingName) { + encoding = getEncoding(encodingName); + } + + // 3. If encoding is failure, and mimeType is present: + if (encoding === 'failure' && mimeType) { + // 1. Let type be the result of parse a MIME type + // given mimeType. + var _type = parseMIMEType(mimeType); + + // 2. If type is not failure, set encoding to the result + // of getting an encoding from type’s parameters["charset"]. + if (_type !== 'failure') { + encoding = getEncoding(_type.parameters.get('charset')); + } + } + + // 4. If encoding is failure, then set encoding to UTF-8. + if (encoding === 'failure') { + encoding = 'UTF-8'; + } + + // 5. Decode bytes using fallback encoding encoding, and + // return the result. + return decode(bytes, encoding); + } + case 'ArrayBuffer': + { + // Return a new ArrayBuffer whose contents are bytes. + var sequence = combineByteSequences(bytes); + return sequence.buffer; + } + case 'BinaryString': + { + // Return bytes as a binary string, in which every byte + // is represented by a code unit of equal value [0..255]. + var binaryString = ''; + var _decoder = new StringDecoder('latin1'); + var _iterator2 = _createForOfIteratorHelper(bytes), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _chunk = _step2.value; + binaryString += _decoder.write(_chunk); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + binaryString += _decoder.end(); + return binaryString; + } + } +} + +/** + * @see https://encoding.spec.whatwg.org/#decode + * @param {Uint8Array[]} ioQueue + * @param {string} encoding + */ +function decode(ioQueue, encoding) { + var bytes = combineByteSequences(ioQueue); + + // 1. Let BOMEncoding be the result of BOM sniffing ioQueue. + var BOMEncoding = BOMSniffing(bytes); + var slice = 0; + + // 2. If BOMEncoding is non-null: + if (BOMEncoding !== null) { + // 1. Set encoding to BOMEncoding. + encoding = BOMEncoding; + + // 2. Read three bytes from ioQueue, if BOMEncoding is + // UTF-8; otherwise read two bytes. + // (Do nothing with those bytes.) + slice = BOMEncoding === 'UTF-8' ? 3 : 2; + } + + // 3. Process a queue with an instance of encoding’s + // decoder, ioQueue, output, and "replacement". + + // 4. Return output. + + var sliced = bytes.slice(slice); + return new TextDecoder(encoding).decode(sliced); +} + +/** + * @see https://encoding.spec.whatwg.org/#bom-sniff + * @param {Uint8Array} ioQueue + */ +function BOMSniffing(ioQueue) { + // 1. Let BOM be the result of peeking 3 bytes from ioQueue, + // converted to a byte sequence. + var _ioQueue = _slicedToArray(ioQueue, 3), + a = _ioQueue[0], + b = _ioQueue[1], + c = _ioQueue[2]; + + // 2. For each of the rows in the table below, starting with + // the first one and going down, if BOM starts with the + // bytes given in the first column, then return the + // encoding given in the cell in the second column of that + // row. Otherwise, return null. + if (a === 0xEF && b === 0xBB && c === 0xBF) { + return 'UTF-8'; + } else if (a === 0xFE && b === 0xFF) { + return 'UTF-16BE'; + } else if (a === 0xFF && b === 0xFE) { + return 'UTF-16LE'; + } + return null; +} + +/** + * @param {Uint8Array[]} sequences + */ +function combineByteSequences(sequences) { + var size = sequences.reduce(function (a, b) { + return a + b.byteLength; + }, 0); + var offset = 0; + return sequences.reduce(function (a, b) { + a.set(b, offset); + offset += b.byteLength; + return a; + }, new Uint8Array(size)); +} +module.exports = { + staticPropertyDescriptors: staticPropertyDescriptors, + readOperation: readOperation, + fireAProgressEvent: fireAProgressEvent +}; + +/***/ }, + +/***/ 8105 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _createForOfIteratorHelper = (__webpack_require__(883)["default"]); +var _require = __webpack_require__(5976), + uid = _require.uid, + states = _require.states, + sentCloseFrameState = _require.sentCloseFrameState, + emptyBuffer = _require.emptyBuffer, + opcodes = _require.opcodes; +var _require2 = __webpack_require__(9912), + kReadyState = _require2.kReadyState, + kSentClose = _require2.kSentClose, + kByteParser = _require2.kByteParser, + kReceivedClose = _require2.kReceivedClose, + kResponse = _require2.kResponse; +var _require3 = __webpack_require__(8153), + fireEvent = _require3.fireEvent, + failWebsocketConnection = _require3.failWebsocketConnection, + isClosing = _require3.isClosing, + isClosed = _require3.isClosed, + isEstablished = _require3.isEstablished, + parseExtensions = _require3.parseExtensions; +var _require4 = __webpack_require__(662), + channels = _require4.channels; +var _require5 = __webpack_require__(8028), + CloseEvent = _require5.CloseEvent; +var _require6 = __webpack_require__(1447), + makeRequest = _require6.makeRequest; +var _require7 = __webpack_require__(1574), + fetching = _require7.fetching; +var _require8 = __webpack_require__(8588), + Headers = _require8.Headers, + getHeadersList = _require8.getHeadersList; +var _require9 = __webpack_require__(8440), + getDecodeSplit = _require9.getDecodeSplit; +var _require0 = __webpack_require__(456), + WebsocketFrameSend = _require0.WebsocketFrameSend; + +/** @type {import('crypto')} */ +var crypto; +try { + crypto = __webpack_require__(7598); + /* c8 ignore next 3 */ +} catch (_unused) {} + +/** + * @see https://websockets.spec.whatwg.org/#concept-websocket-establish + * @param {URL} url + * @param {string|string[]} protocols + * @param {import('./websocket').WebSocket} ws + * @param {(response: any, extensions: string[] | undefined) => void} onEstablish + * @param {Partial} options + */ +function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) { + // 1. Let requestURL be a copy of url, with its scheme set to "http", if url’s + // scheme is "ws", and to "https" otherwise. + var requestURL = url; + requestURL.protocol = url.protocol === 'ws:' ? 'http:' : 'https:'; + + // 2. Let request be a new request, whose URL is requestURL, client is client, + // service-workers mode is "none", referrer is "no-referrer", mode is + // "websocket", credentials mode is "include", cache mode is "no-store" , + // and redirect mode is "error". + var request = makeRequest({ + urlList: [requestURL], + client: client, + serviceWorkers: 'none', + referrer: 'no-referrer', + mode: 'websocket', + credentials: 'include', + cache: 'no-store', + redirect: 'error' + }); + + // Note: undici extension, allow setting custom headers. + if (options.headers) { + var headersList = getHeadersList(new Headers(options.headers)); + request.headersList = headersList; + } + + // 3. Append (`Upgrade`, `websocket`) to request’s header list. + // 4. Append (`Connection`, `Upgrade`) to request’s header list. + // Note: both of these are handled by undici currently. + // https://github.com/nodejs/undici/blob/68c269c4144c446f3f1220951338daef4a6b5ec4/lib/client.js#L1397 + + // 5. Let keyValue be a nonce consisting of a randomly selected + // 16-byte value that has been forgiving-base64-encoded and + // isomorphic encoded. + var keyValue = crypto.randomBytes(16).toString('base64'); + + // 6. Append (`Sec-WebSocket-Key`, keyValue) to request’s + // header list. + request.headersList.append('sec-websocket-key', keyValue); + + // 7. Append (`Sec-WebSocket-Version`, `13`) to request’s + // header list. + request.headersList.append('sec-websocket-version', '13'); + + // 8. For each protocol in protocols, combine + // (`Sec-WebSocket-Protocol`, protocol) in request’s header + // list. + var _iterator = _createForOfIteratorHelper(protocols), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var protocol = _step.value; + request.headersList.append('sec-websocket-protocol', protocol); + } + + // 9. Let permessageDeflate be a user-agent defined + // "permessage-deflate" extension header value. + // https://github.com/mozilla/gecko-dev/blob/ce78234f5e653a5d3916813ff990f053510227bc/netwerk/protocol/websocket/WebSocketChannel.cpp#L2673 + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + var permessageDeflate = 'permessage-deflate; client_max_window_bits'; + + // 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to + // request’s header list. + request.headersList.append('sec-websocket-extensions', permessageDeflate); + + // 11. Fetch request with useParallelQueue set to true, and + // processResponse given response being these steps: + var controller = fetching({ + request: request, + useParallelQueue: true, + dispatcher: options.dispatcher, + processResponse: function processResponse(response) { + var _response$headersList, _response$headersList2; + // 1. If response is a network error or its status is not 101, + // fail the WebSocket connection. + if (response.type === 'error' || response.status !== 101) { + failWebsocketConnection(ws, 'Received network error or non-101 status code.'); + return; + } + + // 2. If protocols is not the empty list and extracting header + // list values given `Sec-WebSocket-Protocol` and response’s + // header list results in null, failure, or the empty byte + // sequence, then fail the WebSocket connection. + if (protocols.length !== 0 && !response.headersList.get('Sec-WebSocket-Protocol')) { + failWebsocketConnection(ws, 'Server did not respond with sent protocols.'); + return; + } + + // 3. Follow the requirements stated step 2 to step 6, inclusive, + // of the last set of steps in section 4.1 of The WebSocket + // Protocol to validate response. This either results in fail + // the WebSocket connection or the WebSocket connection is + // established. + + // 2. If the response lacks an |Upgrade| header field or the |Upgrade| + // header field contains a value that is not an ASCII case- + // insensitive match for the value "websocket", the client MUST + // _Fail the WebSocket Connection_. + if (((_response$headersList = response.headersList.get('Upgrade')) === null || _response$headersList === void 0 ? void 0 : _response$headersList.toLowerCase()) !== 'websocket') { + failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); + return; + } + + // 3. If the response lacks a |Connection| header field or the + // |Connection| header field doesn't contain a token that is an + // ASCII case-insensitive match for the value "Upgrade", the client + // MUST _Fail the WebSocket Connection_. + if (((_response$headersList2 = response.headersList.get('Connection')) === null || _response$headersList2 === void 0 ? void 0 : _response$headersList2.toLowerCase()) !== 'upgrade') { + failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); + return; + } + + // 4. If the response lacks a |Sec-WebSocket-Accept| header field or + // the |Sec-WebSocket-Accept| contains a value other than the + // base64-encoded SHA-1 of the concatenation of the |Sec-WebSocket- + // Key| (as a string, not base64-decoded) with the string "258EAFA5- + // E914-47DA-95CA-C5AB0DC85B11" but ignoring any leading and + // trailing whitespace, the client MUST _Fail the WebSocket + // Connection_. + var secWSAccept = response.headersList.get('Sec-WebSocket-Accept'); + var digest = crypto.createHash('sha1').update(keyValue + uid).digest('base64'); + if (secWSAccept !== digest) { + failWebsocketConnection(ws, 'Incorrect hash received in Sec-WebSocket-Accept header.'); + return; + } + + // 5. If the response includes a |Sec-WebSocket-Extensions| header + // field and this header field indicates the use of an extension + // that was not present in the client's handshake (the server has + // indicated an extension not requested by the client), the client + // MUST _Fail the WebSocket Connection_. (The parsing of this + // header field to determine which extensions are requested is + // discussed in Section 9.1.) + var secExtension = response.headersList.get('Sec-WebSocket-Extensions'); + var extensions; + if (secExtension !== null) { + extensions = parseExtensions(secExtension); + if (!extensions.has('permessage-deflate')) { + failWebsocketConnection(ws, 'Sec-WebSocket-Extensions header does not match.'); + return; + } + } + + // 6. If the response includes a |Sec-WebSocket-Protocol| header field + // and this header field indicates the use of a subprotocol that was + // not present in the client's handshake (the server has indicated a + // subprotocol not requested by the client), the client MUST _Fail + // the WebSocket Connection_. + var secProtocol = response.headersList.get('Sec-WebSocket-Protocol'); + if (secProtocol !== null) { + var requestProtocols = getDecodeSplit('sec-websocket-protocol', request.headersList); + + // The client can request that the server use a specific subprotocol by + // including the |Sec-WebSocket-Protocol| field in its handshake. If it + // is specified, the server needs to include the same field and one of + // the selected subprotocol values in its response for the connection to + // be established. + if (!requestProtocols.includes(secProtocol)) { + failWebsocketConnection(ws, 'Protocol was not set in the opening handshake.'); + return; + } + } + response.socket.on('data', onSocketData); + response.socket.on('close', onSocketClose); + response.socket.on('error', onSocketError); + if (channels.open.hasSubscribers) { + channels.open.publish({ + address: response.socket.address(), + protocol: secProtocol, + extensions: secExtension + }); + } + onEstablish(response, extensions); + } + }); + return controller; +} +function closeWebSocketConnection(ws, code, reason, reasonByteLength) { + if (isClosing(ws) || isClosed(ws)) { + // If this's ready state is CLOSING (2) or CLOSED (3) + // Do nothing. + } else if (!isEstablished(ws)) { + // If the WebSocket connection is not yet established + // Fail the WebSocket connection and set this's ready state + // to CLOSING (2). + failWebsocketConnection(ws, 'Connection was closed before it was established.'); + ws[kReadyState] = states.CLOSING; + } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) { + // If the WebSocket closing handshake has not yet been started + // Start the WebSocket closing handshake and set this's ready + // state to CLOSING (2). + // - If neither code nor reason is present, the WebSocket Close + // message must not have a body. + // - If code is present, then the status code to use in the + // WebSocket Close message must be the integer given by code. + // - If reason is also present, then reasonBytes must be + // provided in the Close message after the status code. + + ws[kSentClose] = sentCloseFrameState.PROCESSING; + var frame = new WebsocketFrameSend(); + + // If neither code nor reason is present, the WebSocket Close + // message must not have a body. + + // If code is present, then the status code to use in the + // WebSocket Close message must be the integer given by code. + if (code !== undefined && reason === undefined) { + frame.frameData = Buffer.allocUnsafe(2); + frame.frameData.writeUInt16BE(code, 0); + } else if (code !== undefined && reason !== undefined) { + // If reason is also present, then reasonBytes must be + // provided in the Close message after the status code. + frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); + frame.frameData.writeUInt16BE(code, 0); + // the body MAY contain UTF-8-encoded data with value /reason/ + frame.frameData.write(reason, 2, 'utf-8'); + } else { + frame.frameData = emptyBuffer; + } + + /** @type {import('stream').Duplex} */ + var socket = ws[kResponse].socket; + socket.write(frame.createFrame(opcodes.CLOSE)); + ws[kSentClose] = sentCloseFrameState.SENT; + + // Upon either sending or receiving a Close control frame, it is said + // that _The WebSocket Closing Handshake is Started_ and that the + // WebSocket connection is in the CLOSING state. + ws[kReadyState] = states.CLOSING; + } else { + // Otherwise + // Set this's ready state to CLOSING (2). + ws[kReadyState] = states.CLOSING; + } +} + +/** + * @param {Buffer} chunk + */ +function onSocketData(chunk) { + if (!this.ws[kByteParser].write(chunk)) { + this.pause(); + } +} + +/** + * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol + * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4 + */ +function onSocketClose() { + var ws = this.ws; + var response = ws[kResponse]; + response.socket.off('data', onSocketData); + response.socket.off('close', onSocketClose); + response.socket.off('error', onSocketError); + + // If the TCP connection was closed after the + // WebSocket closing handshake was completed, the WebSocket connection + // is said to have been closed _cleanly_. + var wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose]; + var code = 1005; + var reason = ''; + var result = ws[kByteParser].closingInfo; + if (result && !result.error) { + var _result$code; + code = (_result$code = result.code) !== null && _result$code !== void 0 ? _result$code : 1005; + reason = result.reason; + } else if (!ws[kReceivedClose]) { + // If _The WebSocket + // Connection is Closed_ and no Close control frame was received by the + // endpoint (such as could occur if the underlying transport connection + // is lost), _The WebSocket Connection Close Code_ is considered to be + // 1006. + code = 1006; + } + + // 1. Change the ready state to CLOSED (3). + ws[kReadyState] = states.CLOSED; + + // 2. If the user agent was required to fail the WebSocket + // connection, or if the WebSocket connection was closed + // after being flagged as full, fire an event named error + // at the WebSocket object. + // TODO + + // 3. Fire an event named close at the WebSocket object, + // using CloseEvent, with the wasClean attribute + // initialized to true if the connection closed cleanly + // and false otherwise, the code attribute initialized to + // the WebSocket connection close code, and the reason + // attribute initialized to the result of applying UTF-8 + // decode without BOM to the WebSocket connection close + // reason. + // TODO: process.nextTick + fireEvent('close', ws, function (type, init) { + return new CloseEvent(type, init); + }, { + wasClean: wasClean, + code: code, + reason: reason + }); + if (channels.close.hasSubscribers) { + channels.close.publish({ + websocket: ws, + code: code, + reason: reason + }); + } +} +function onSocketError(error) { + var ws = this.ws; + ws[kReadyState] = states.CLOSING; + if (channels.socketError.hasSubscribers) { + channels.socketError.publish(error); + } + this.destroy(); +} +module.exports = { + establishWebSocketConnection: establishWebSocketConnection, + closeWebSocketConnection: closeWebSocketConnection +}; + +/***/ }, + +/***/ 5976 +(module) { + +"use strict"; + + +// This is a Globally Unique Identifier unique used +// to validate that the endpoint accepts websocket +// connections. +// See https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3 +var uid = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'; + +/** @type {PropertyDescriptor} */ +var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false +}; +var states = { + CONNECTING: 0, + OPEN: 1, + CLOSING: 2, + CLOSED: 3 +}; +var sentCloseFrameState = { + NOT_SENT: 0, + PROCESSING: 1, + SENT: 2 +}; +var opcodes = { + CONTINUATION: 0x0, + TEXT: 0x1, + BINARY: 0x2, + CLOSE: 0x8, + PING: 0x9, + PONG: 0xA +}; +var maxUnsigned16Bit = Math.pow(2, 16) - 1; // 65535 + +var parserStates = { + INFO: 0, + PAYLOADLENGTH_16: 2, + PAYLOADLENGTH_64: 3, + READ_DATA: 4 +}; +var emptyBuffer = Buffer.allocUnsafe(0); +var sendHints = { + string: 1, + typedArray: 2, + arrayBuffer: 3, + blob: 4 +}; +module.exports = { + uid: uid, + sentCloseFrameState: sentCloseFrameState, + staticPropertyDescriptors: staticPropertyDescriptors, + states: states, + opcodes: opcodes, + maxUnsigned16Bit: maxUnsigned16Bit, + parserStates: parserStates, + emptyBuffer: emptyBuffer, + sendHints: sendHints +}; + +/***/ }, + +/***/ 8028 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _defineProperty = (__webpack_require__(3693)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _possibleConstructorReturn = (__webpack_require__(8452)["default"]); +var _assertThisInitialized = (__webpack_require__(2475)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _wrapNativeSuper = (__webpack_require__(1837)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(2861), + webidl = _require.webidl; +var _require2 = __webpack_require__(6632), + kEnumerableProperty = _require2.kEnumerableProperty; +var _require3 = __webpack_require__(6771), + kConstruct = _require3.kConstruct; +var _require4 = __webpack_require__(5919), + MessagePort = _require4.MessagePort; + +/** + * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent + */ +var _eventInit = /*#__PURE__*/new WeakMap(); +var MessageEvent = /*#__PURE__*/function (_Event) { + function MessageEvent(type) { + var _this; + var eventInitDict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, MessageEvent); + if (type === kConstruct) { + _this = _callSuper(this, MessageEvent, [arguments[1], arguments[2]]); + _classPrivateFieldInitSpec(_assertThisInitialized(_this), _eventInit, void 0); + webidl.util.markAsUncloneable(_assertThisInitialized(_this)); + return _possibleConstructorReturn(_this); + } + var prefix = 'MessageEvent constructor'; + webidl.argumentLengthCheck(arguments, 1, prefix); + type = webidl.converters.DOMString(type, prefix, 'type'); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, 'eventInitDict'); + _this = _callSuper(this, MessageEvent, [type, eventInitDict]); + _classPrivateFieldInitSpec(_assertThisInitialized(_this), _eventInit, void 0); + _classPrivateFieldSet(_eventInit, _assertThisInitialized(_this), eventInitDict); + webidl.util.markAsUncloneable(_assertThisInitialized(_this)); + return _assertThisInitialized(_this); + } + _inherits(MessageEvent, _Event); + return _createClass(MessageEvent, [{ + key: "data", + get: function get() { + webidl.brandCheck(this, MessageEvent); + return _classPrivateFieldGet(_eventInit, this).data; + } + }, { + key: "origin", + get: function get() { + webidl.brandCheck(this, MessageEvent); + return _classPrivateFieldGet(_eventInit, this).origin; + } + }, { + key: "lastEventId", + get: function get() { + webidl.brandCheck(this, MessageEvent); + return _classPrivateFieldGet(_eventInit, this).lastEventId; + } + }, { + key: "source", + get: function get() { + webidl.brandCheck(this, MessageEvent); + return _classPrivateFieldGet(_eventInit, this).source; + } + }, { + key: "ports", + get: function get() { + webidl.brandCheck(this, MessageEvent); + if (!Object.isFrozen(_classPrivateFieldGet(_eventInit, this).ports)) { + Object.freeze(_classPrivateFieldGet(_eventInit, this).ports); + } + return _classPrivateFieldGet(_eventInit, this).ports; + } + }, { + key: "initMessageEvent", + value: function initMessageEvent(type) { + var bubbles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var cancelable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + var origin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : ''; + var lastEventId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : ''; + var source = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; + var ports = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : []; + webidl.brandCheck(this, MessageEvent); + webidl.argumentLengthCheck(arguments, 1, 'MessageEvent.initMessageEvent'); + return new MessageEvent(type, { + bubbles: bubbles, + cancelable: cancelable, + data: data, + origin: origin, + lastEventId: lastEventId, + source: source, + ports: ports + }); + } + }], [{ + key: "createFastMessageEvent", + value: function createFastMessageEvent(type, init) { + var _classPrivateFieldGet2, _classPrivateFieldGet3, _classPrivateFieldGet4, _classPrivateFieldGet5, _classPrivateFieldGet6, _classPrivateFieldGet7, _classPrivateFieldGet8, _classPrivateFieldGet9, _classPrivateFieldGet0, _classPrivateFieldGet1; + var messageEvent = new MessageEvent(kConstruct, type, init); + _classPrivateFieldSet(_eventInit, messageEvent, init); + (_classPrivateFieldGet3 = (_classPrivateFieldGet2 = _classPrivateFieldGet(_eventInit, messageEvent)).data) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : _classPrivateFieldGet2.data = null; + (_classPrivateFieldGet5 = (_classPrivateFieldGet4 = _classPrivateFieldGet(_eventInit, messageEvent)).origin) !== null && _classPrivateFieldGet5 !== void 0 ? _classPrivateFieldGet5 : _classPrivateFieldGet4.origin = ''; + (_classPrivateFieldGet7 = (_classPrivateFieldGet6 = _classPrivateFieldGet(_eventInit, messageEvent)).lastEventId) !== null && _classPrivateFieldGet7 !== void 0 ? _classPrivateFieldGet7 : _classPrivateFieldGet6.lastEventId = ''; + (_classPrivateFieldGet9 = (_classPrivateFieldGet8 = _classPrivateFieldGet(_eventInit, messageEvent)).source) !== null && _classPrivateFieldGet9 !== void 0 ? _classPrivateFieldGet9 : _classPrivateFieldGet8.source = null; + (_classPrivateFieldGet1 = (_classPrivateFieldGet0 = _classPrivateFieldGet(_eventInit, messageEvent)).ports) !== null && _classPrivateFieldGet1 !== void 0 ? _classPrivateFieldGet1 : _classPrivateFieldGet0.ports = []; + return messageEvent; + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(Event)); +var createFastMessageEvent = MessageEvent.createFastMessageEvent; +delete MessageEvent.createFastMessageEvent; + +/** + * @see https://websockets.spec.whatwg.org/#the-closeevent-interface + */ +var _eventInit2 = /*#__PURE__*/new WeakMap(); +var CloseEvent = /*#__PURE__*/function (_Event2) { + function CloseEvent(type) { + var _this2; + var eventInitDict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + _classCallCheck(this, CloseEvent); + var prefix = 'CloseEvent constructor'; + webidl.argumentLengthCheck(arguments, 1, prefix); + type = webidl.converters.DOMString(type, prefix, 'type'); + eventInitDict = webidl.converters.CloseEventInit(eventInitDict); + _this2 = _callSuper(this, CloseEvent, [type, eventInitDict]); + _classPrivateFieldInitSpec(_this2, _eventInit2, void 0); + _classPrivateFieldSet(_eventInit2, _this2, eventInitDict); + webidl.util.markAsUncloneable(_this2); + return _this2; + } + _inherits(CloseEvent, _Event2); + return _createClass(CloseEvent, [{ + key: "wasClean", + get: function get() { + webidl.brandCheck(this, CloseEvent); + return _classPrivateFieldGet(_eventInit2, this).wasClean; + } + }, { + key: "code", + get: function get() { + webidl.brandCheck(this, CloseEvent); + return _classPrivateFieldGet(_eventInit2, this).code; + } + }, { + key: "reason", + get: function get() { + webidl.brandCheck(this, CloseEvent); + return _classPrivateFieldGet(_eventInit2, this).reason; + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(Event)); // https://html.spec.whatwg.org/multipage/webappapis.html#the-errorevent-interface +var _eventInit3 = /*#__PURE__*/new WeakMap(); +var ErrorEvent = /*#__PURE__*/function (_Event3) { + function ErrorEvent(type, eventInitDict) { + var _this3; + _classCallCheck(this, ErrorEvent); + var prefix = 'ErrorEvent constructor'; + webidl.argumentLengthCheck(arguments, 1, prefix); + _this3 = _callSuper(this, ErrorEvent, [type, eventInitDict]); + _classPrivateFieldInitSpec(_this3, _eventInit3, void 0); + webidl.util.markAsUncloneable(_this3); + type = webidl.converters.DOMString(type, prefix, 'type'); + eventInitDict = webidl.converters.ErrorEventInit(eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {}); + _classPrivateFieldSet(_eventInit3, _this3, eventInitDict); + return _this3; + } + _inherits(ErrorEvent, _Event3); + return _createClass(ErrorEvent, [{ + key: "message", + get: function get() { + webidl.brandCheck(this, ErrorEvent); + return _classPrivateFieldGet(_eventInit3, this).message; + } + }, { + key: "filename", + get: function get() { + webidl.brandCheck(this, ErrorEvent); + return _classPrivateFieldGet(_eventInit3, this).filename; + } + }, { + key: "lineno", + get: function get() { + webidl.brandCheck(this, ErrorEvent); + return _classPrivateFieldGet(_eventInit3, this).lineno; + } + }, { + key: "colno", + get: function get() { + webidl.brandCheck(this, ErrorEvent); + return _classPrivateFieldGet(_eventInit3, this).colno; + } + }, { + key: "error", + get: function get() { + webidl.brandCheck(this, ErrorEvent); + return _classPrivateFieldGet(_eventInit3, this).error; + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(Event)); +Object.defineProperties(MessageEvent.prototype, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Symbol.toStringTag, { + value: 'MessageEvent', + configurable: true +}), "data", kEnumerableProperty), "origin", kEnumerableProperty), "lastEventId", kEnumerableProperty), "source", kEnumerableProperty), "ports", kEnumerableProperty), "initMessageEvent", kEnumerableProperty)); +Object.defineProperties(CloseEvent.prototype, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Symbol.toStringTag, { + value: 'CloseEvent', + configurable: true +}), "reason", kEnumerableProperty), "code", kEnumerableProperty), "wasClean", kEnumerableProperty)); +Object.defineProperties(ErrorEvent.prototype, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Symbol.toStringTag, { + value: 'ErrorEvent', + configurable: true +}), "message", kEnumerableProperty), "filename", kEnumerableProperty), "lineno", kEnumerableProperty), "colno", kEnumerableProperty), "error", kEnumerableProperty)); +webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); +webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.MessagePort); +var eventInit = [{ + key: 'bubbles', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'cancelable', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'composed', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}]; +webidl.converters.MessageEventInit = webidl.dictionaryConverter([].concat(eventInit, [{ + key: 'data', + converter: webidl.converters.any, + defaultValue: function defaultValue() { + return null; + } +}, { + key: 'origin', + converter: webidl.converters.USVString, + defaultValue: function defaultValue() { + return ''; + } +}, { + key: 'lastEventId', + converter: webidl.converters.DOMString, + defaultValue: function defaultValue() { + return ''; + } +}, { + key: 'source', + // Node doesn't implement WindowProxy or ServiceWorker, so the only + // valid value for source is a MessagePort. + converter: webidl.nullableConverter(webidl.converters.MessagePort), + defaultValue: function defaultValue() { + return null; + } +}, { + key: 'ports', + converter: webidl.converters['sequence'], + defaultValue: function defaultValue() { + return new Array(0); + } +}])); +webidl.converters.CloseEventInit = webidl.dictionaryConverter([].concat(eventInit, [{ + key: 'wasClean', + converter: webidl.converters["boolean"], + defaultValue: function defaultValue() { + return false; + } +}, { + key: 'code', + converter: webidl.converters['unsigned short'], + defaultValue: function defaultValue() { + return 0; + } +}, { + key: 'reason', + converter: webidl.converters.USVString, + defaultValue: function defaultValue() { + return ''; + } +}])); +webidl.converters.ErrorEventInit = webidl.dictionaryConverter([].concat(eventInit, [{ + key: 'message', + converter: webidl.converters.DOMString, + defaultValue: function defaultValue() { + return ''; + } +}, { + key: 'filename', + converter: webidl.converters.USVString, + defaultValue: function defaultValue() { + return ''; + } +}, { + key: 'lineno', + converter: webidl.converters['unsigned long'], + defaultValue: function defaultValue() { + return 0; + } +}, { + key: 'colno', + converter: webidl.converters['unsigned long'], + defaultValue: function defaultValue() { + return 0; + } +}, { + key: 'error', + converter: webidl.converters.any +}])); +module.exports = { + MessageEvent: MessageEvent, + CloseEvent: CloseEvent, + ErrorEvent: ErrorEvent, + createFastMessageEvent: createFastMessageEvent +}; + +/***/ }, + +/***/ 456 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _require = __webpack_require__(5976), + maxUnsigned16Bit = _require.maxUnsigned16Bit; +var BUFFER_SIZE = 16386; + +/** @type {import('crypto')} */ +var crypto; +var buffer = null; +var bufIdx = BUFFER_SIZE; +try { + crypto = __webpack_require__(7598); + /* c8 ignore next 3 */ +} catch (_unused) { + crypto = { + // not full compatibility, but minimum. + randomFillSync: function randomFillSync(buffer, _offset, _size) { + for (var i = 0; i < buffer.length; ++i) { + buffer[i] = Math.random() * 255 | 0; + } + return buffer; + } + }; +} +function generateMask() { + if (bufIdx === BUFFER_SIZE) { + bufIdx = 0; + crypto.randomFillSync(buffer !== null && buffer !== void 0 ? buffer : buffer = Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE); + } + return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]; +} +var WebsocketFrameSend = /*#__PURE__*/function () { + /** + * @param {Buffer|undefined} data + */ + function WebsocketFrameSend(data) { + _classCallCheck(this, WebsocketFrameSend); + this.frameData = data; + } + return _createClass(WebsocketFrameSend, [{ + key: "createFrame", + value: function createFrame(opcode) { + var _frameData$byteLength; + var frameData = this.frameData; + var maskKey = generateMask(); + var bodyLength = (_frameData$byteLength = frameData === null || frameData === void 0 ? void 0 : frameData.byteLength) !== null && _frameData$byteLength !== void 0 ? _frameData$byteLength : 0; + + /** @type {number} */ + var payloadLength = bodyLength; // 0-125 + var offset = 6; + if (bodyLength > maxUnsigned16Bit) { + offset += 8; // payload length is next 8 bytes + payloadLength = 127; + } else if (bodyLength > 125) { + offset += 2; // payload length is next 2 bytes + payloadLength = 126; + } + var buffer = Buffer.allocUnsafe(bodyLength + offset); + + // Clear first 2 bytes, everything else is overwritten + buffer[0] = buffer[1] = 0; + buffer[0] |= 0x80; // FIN + buffer[0] = (buffer[0] & 0xF0) + opcode; // opcode + + /*! ws. MIT License. Einar Otto Stangvik */ + buffer[offset - 4] = maskKey[0]; + buffer[offset - 3] = maskKey[1]; + buffer[offset - 2] = maskKey[2]; + buffer[offset - 1] = maskKey[3]; + buffer[1] = payloadLength; + if (payloadLength === 126) { + buffer.writeUInt16BE(bodyLength, 2); + } else if (payloadLength === 127) { + // Clear extended payload length + buffer[2] = buffer[3] = 0; + buffer.writeUIntBE(bodyLength, 4, 6); + } + buffer[1] |= 0x80; // MASK + + // mask body + for (var i = 0; i < bodyLength; ++i) { + buffer[offset + i] = frameData[i] ^ maskKey[i & 3]; + } + return buffer; + } + }]); +}(); +module.exports = { + WebsocketFrameSend: WebsocketFrameSend +}; + +/***/ }, + +/***/ 5109 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _require = __webpack_require__(8522), + createInflateRaw = _require.createInflateRaw, + Z_DEFAULT_WINDOWBITS = _require.Z_DEFAULT_WINDOWBITS; +var _require2 = __webpack_require__(8153), + isValidClientWindowBits = _require2.isValidClientWindowBits; +var _require3 = __webpack_require__(3515), + MessageSizeExceededError = _require3.MessageSizeExceededError; +var tail = Buffer.from([0x00, 0x00, 0xff, 0xff]); +var kBuffer = Symbol('kBuffer'); +var kLength = Symbol('kLength'); + +// Default maximum decompressed message size: 4 MB +var kDefaultMaxDecompressedSize = 4 * 1024 * 1024; +var _inflate = /*#__PURE__*/new WeakMap(); +var _options = /*#__PURE__*/new WeakMap(); +var _aborted = /*#__PURE__*/new WeakMap(); +var _currentCallback = /*#__PURE__*/new WeakMap(); +var PerMessageDeflate = /*#__PURE__*/function () { + /** + * @param {Map} extensions + */ + function PerMessageDeflate(extensions) { + _classCallCheck(this, PerMessageDeflate); + /** @type {import('node:zlib').InflateRaw} */ + _classPrivateFieldInitSpec(this, _inflate, void 0); + _classPrivateFieldInitSpec(this, _options, {}); + /** @type {boolean} */ + _classPrivateFieldInitSpec(this, _aborted, false); + /** @type {Function|null} */ + _classPrivateFieldInitSpec(this, _currentCallback, null); + _classPrivateFieldGet(_options, this).serverNoContextTakeover = extensions.has('server_no_context_takeover'); + _classPrivateFieldGet(_options, this).serverMaxWindowBits = extensions.get('server_max_window_bits'); + } + return _createClass(PerMessageDeflate, [{ + key: "decompress", + value: function decompress(chunk, fin, callback) { + var _this = this; + // An endpoint uses the following algorithm to decompress a message. + // 1. Append 4 octets of 0x00 0x00 0xff 0xff to the tail end of the + // payload of the message. + // 2. Decompress the resulting data using DEFLATE. + + if (_classPrivateFieldGet(_aborted, this)) { + callback(new MessageSizeExceededError()); + return; + } + if (!_classPrivateFieldGet(_inflate, this)) { + var windowBits = Z_DEFAULT_WINDOWBITS; + if (_classPrivateFieldGet(_options, this).serverMaxWindowBits) { + // empty values default to Z_DEFAULT_WINDOWBITS + if (!isValidClientWindowBits(_classPrivateFieldGet(_options, this).serverMaxWindowBits)) { + callback(new Error('Invalid server_max_window_bits')); + return; + } + windowBits = Number.parseInt(_classPrivateFieldGet(_options, this).serverMaxWindowBits); + } + try { + _classPrivateFieldSet(_inflate, this, createInflateRaw({ + windowBits: windowBits + })); + } catch (err) { + callback(err); + return; + } + _classPrivateFieldGet(_inflate, this)[kBuffer] = []; + _classPrivateFieldGet(_inflate, this)[kLength] = 0; + _classPrivateFieldGet(_inflate, this).on('data', function (data) { + if (_classPrivateFieldGet(_aborted, _this)) { + return; + } + _classPrivateFieldGet(_inflate, _this)[kLength] += data.length; + if (_classPrivateFieldGet(_inflate, _this)[kLength] > kDefaultMaxDecompressedSize) { + _classPrivateFieldSet(_aborted, _this, true); + _classPrivateFieldGet(_inflate, _this).removeAllListeners(); + _classPrivateFieldGet(_inflate, _this).destroy(); + _classPrivateFieldSet(_inflate, _this, null); + if (_classPrivateFieldGet(_currentCallback, _this)) { + var cb = _classPrivateFieldGet(_currentCallback, _this); + _classPrivateFieldSet(_currentCallback, _this, null); + cb(new MessageSizeExceededError()); + } + return; + } + _classPrivateFieldGet(_inflate, _this)[kBuffer].push(data); + }); + _classPrivateFieldGet(_inflate, this).on('error', function (err) { + _classPrivateFieldSet(_inflate, _this, null); + callback(err); + }); + } + _classPrivateFieldSet(_currentCallback, this, callback); + _classPrivateFieldGet(_inflate, this).write(chunk); + if (fin) { + _classPrivateFieldGet(_inflate, this).write(tail); + } + _classPrivateFieldGet(_inflate, this).flush(function () { + if (_classPrivateFieldGet(_aborted, _this) || !_classPrivateFieldGet(_inflate, _this)) { + return; + } + var full = Buffer.concat(_classPrivateFieldGet(_inflate, _this)[kBuffer], _classPrivateFieldGet(_inflate, _this)[kLength]); + _classPrivateFieldGet(_inflate, _this)[kBuffer].length = 0; + _classPrivateFieldGet(_inflate, _this)[kLength] = 0; + _classPrivateFieldSet(_currentCallback, _this, null); + callback(null, full); + }); + } + }]); +}(); +module.exports = { + PerMessageDeflate: PerMessageDeflate +}; + +/***/ }, + +/***/ 9100 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(7075), + Writable = _require.Writable; +var assert = __webpack_require__(4589); +var _require2 = __webpack_require__(5976), + parserStates = _require2.parserStates, + opcodes = _require2.opcodes, + states = _require2.states, + emptyBuffer = _require2.emptyBuffer, + sentCloseFrameState = _require2.sentCloseFrameState; +var _require3 = __webpack_require__(9912), + kReadyState = _require3.kReadyState, + kSentClose = _require3.kSentClose, + kResponse = _require3.kResponse, + kReceivedClose = _require3.kReceivedClose; +var _require4 = __webpack_require__(662), + channels = _require4.channels; +var _require5 = __webpack_require__(8153), + isValidStatusCode = _require5.isValidStatusCode, + isValidOpcode = _require5.isValidOpcode, + failWebsocketConnection = _require5.failWebsocketConnection, + websocketMessageReceived = _require5.websocketMessageReceived, + utf8Decode = _require5.utf8Decode, + isControlFrame = _require5.isControlFrame, + isTextBinaryFrame = _require5.isTextBinaryFrame, + isContinuationFrame = _require5.isContinuationFrame; +var _require6 = __webpack_require__(456), + WebsocketFrameSend = _require6.WebsocketFrameSend; +var _require7 = __webpack_require__(8105), + closeWebSocketConnection = _require7.closeWebSocketConnection; +var _require8 = __webpack_require__(5109), + PerMessageDeflate = _require8.PerMessageDeflate; + +// This code was influenced by ws released under the MIT license. +// Copyright (c) 2011 Einar Otto Stangvik +// Copyright (c) 2013 Arnout Kazemier and contributors +// Copyright (c) 2016 Luigi Pinca and contributors +var _buffers = /*#__PURE__*/new WeakMap(); +var _byteOffset = /*#__PURE__*/new WeakMap(); +var _loop = /*#__PURE__*/new WeakMap(); +var _state = /*#__PURE__*/new WeakMap(); +var _info = /*#__PURE__*/new WeakMap(); +var _fragments = /*#__PURE__*/new WeakMap(); +var _extensions = /*#__PURE__*/new WeakMap(); +var ByteParser = /*#__PURE__*/function (_Writable) { + /** + * @param {import('./websocket').WebSocket} ws + * @param {Map|null} extensions + */ + function ByteParser(ws, extensions) { + var _this; + _classCallCheck(this, ByteParser); + _this = _callSuper(this, ByteParser); + _classPrivateFieldInitSpec(_this, _buffers, []); + _classPrivateFieldInitSpec(_this, _byteOffset, 0); + _classPrivateFieldInitSpec(_this, _loop, false); + _classPrivateFieldInitSpec(_this, _state, parserStates.INFO); + _classPrivateFieldInitSpec(_this, _info, {}); + _classPrivateFieldInitSpec(_this, _fragments, []); + /** @type {Map} */ + _classPrivateFieldInitSpec(_this, _extensions, void 0); + _this.ws = ws; + _classPrivateFieldSet(_extensions, _this, extensions == null ? new Map() : extensions); + if (_classPrivateFieldGet(_extensions, _this).has('permessage-deflate')) { + _classPrivateFieldGet(_extensions, _this).set('permessage-deflate', new PerMessageDeflate(extensions)); + } + return _this; + } + + /** + * @param {Buffer} chunk + * @param {() => void} callback + */ + _inherits(ByteParser, _Writable); + return _createClass(ByteParser, [{ + key: "_write", + value: function _write(chunk, _, callback) { + _classPrivateFieldGet(_buffers, this).push(chunk); + _classPrivateFieldSet(_byteOffset, this, _classPrivateFieldGet(_byteOffset, this) + chunk.length); + _classPrivateFieldSet(_loop, this, true); + this.run(callback); + } + + /** + * Runs whenever a new chunk is received. + * Callback is called whenever there are no more chunks buffering, + * or not enough bytes are buffered to parse. + */ + }, { + key: "run", + value: function run(callback) { + var _this2 = this; + while (_classPrivateFieldGet(_loop, this)) { + if (_classPrivateFieldGet(_state, this) === parserStates.INFO) { + // If there aren't enough bytes to parse the payload length, etc. + if (_classPrivateFieldGet(_byteOffset, this) < 2) { + return callback(); + } + var buffer = this.consume(2); + var fin = (buffer[0] & 0x80) !== 0; + var opcode = buffer[0] & 0x0F; + var masked = (buffer[1] & 0x80) === 0x80; + var fragmented = !fin && opcode !== opcodes.CONTINUATION; + var payloadLength = buffer[1] & 0x7F; + var rsv1 = buffer[0] & 0x40; + var rsv2 = buffer[0] & 0x20; + var rsv3 = buffer[0] & 0x10; + if (!isValidOpcode(opcode)) { + failWebsocketConnection(this.ws, 'Invalid opcode received'); + return callback(); + } + if (masked) { + failWebsocketConnection(this.ws, 'Frame cannot be masked'); + return callback(); + } + + // MUST be 0 unless an extension is negotiated that defines meanings + // for non-zero values. If a nonzero value is received and none of + // the negotiated extensions defines the meaning of such a nonzero + // value, the receiving endpoint MUST _Fail the WebSocket + // Connection_. + // This document allocates the RSV1 bit of the WebSocket header for + // PMCEs and calls the bit the "Per-Message Compressed" bit. On a + // WebSocket connection where a PMCE is in use, this bit indicates + // whether a message is compressed or not. + if (rsv1 !== 0 && !_classPrivateFieldGet(_extensions, this).has('permessage-deflate')) { + failWebsocketConnection(this.ws, 'Expected RSV1 to be clear.'); + return; + } + if (rsv2 !== 0 || rsv3 !== 0) { + failWebsocketConnection(this.ws, 'RSV1, RSV2, RSV3 must be clear'); + return; + } + if (fragmented && !isTextBinaryFrame(opcode)) { + // Only text and binary frames can be fragmented + failWebsocketConnection(this.ws, 'Invalid frame type was fragmented.'); + return; + } + + // If we are already parsing a text/binary frame and do not receive either + // a continuation frame or close frame, fail the connection. + if (isTextBinaryFrame(opcode) && _classPrivateFieldGet(_fragments, this).length > 0) { + failWebsocketConnection(this.ws, 'Expected continuation frame'); + return; + } + if (_classPrivateFieldGet(_info, this).fragmented && fragmented) { + // A fragmented frame can't be fragmented itself + failWebsocketConnection(this.ws, 'Fragmented frame exceeded 125 bytes.'); + return; + } + + // "All control frames MUST have a payload length of 125 bytes or less + // and MUST NOT be fragmented." + if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) { + failWebsocketConnection(this.ws, 'Control frame either too large or fragmented'); + return; + } + if (isContinuationFrame(opcode) && _classPrivateFieldGet(_fragments, this).length === 0 && !_classPrivateFieldGet(_info, this).compressed) { + failWebsocketConnection(this.ws, 'Unexpected continuation frame'); + return; + } + if (payloadLength <= 125) { + _classPrivateFieldGet(_info, this).payloadLength = payloadLength; + _classPrivateFieldSet(_state, this, parserStates.READ_DATA); + } else if (payloadLength === 126) { + _classPrivateFieldSet(_state, this, parserStates.PAYLOADLENGTH_16); + } else if (payloadLength === 127) { + _classPrivateFieldSet(_state, this, parserStates.PAYLOADLENGTH_64); + } + if (isTextBinaryFrame(opcode)) { + _classPrivateFieldGet(_info, this).binaryType = opcode; + _classPrivateFieldGet(_info, this).compressed = rsv1 !== 0; + } + _classPrivateFieldGet(_info, this).opcode = opcode; + _classPrivateFieldGet(_info, this).masked = masked; + _classPrivateFieldGet(_info, this).fin = fin; + _classPrivateFieldGet(_info, this).fragmented = fragmented; + } else if (_classPrivateFieldGet(_state, this) === parserStates.PAYLOADLENGTH_16) { + if (_classPrivateFieldGet(_byteOffset, this) < 2) { + return callback(); + } + var _buffer = this.consume(2); + _classPrivateFieldGet(_info, this).payloadLength = _buffer.readUInt16BE(0); + _classPrivateFieldSet(_state, this, parserStates.READ_DATA); + } else if (_classPrivateFieldGet(_state, this) === parserStates.PAYLOADLENGTH_64) { + if (_classPrivateFieldGet(_byteOffset, this) < 8) { + return callback(); + } + var _buffer2 = this.consume(8); + var upper = _buffer2.readUInt32BE(0); + var lower = _buffer2.readUInt32BE(4); + + // 2^31 is the maximum bytes an arraybuffer can contain + // on 32-bit systems. Although, on 64-bit systems, this is + // 2^53-1 bytes. + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length + // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/common/globals.h;drc=1946212ac0100668f14eb9e2843bdd846e510a1e;bpv=1;bpt=1;l=1275 + // https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/js-array-buffer.h;l=34;drc=1946212ac0100668f14eb9e2843bdd846e510a1e + if (upper !== 0 || lower > Math.pow(2, 31) - 1) { + failWebsocketConnection(this.ws, 'Received payload length > 2^31 bytes.'); + return; + } + _classPrivateFieldGet(_info, this).payloadLength = lower; + _classPrivateFieldSet(_state, this, parserStates.READ_DATA); + } else if (_classPrivateFieldGet(_state, this) === parserStates.READ_DATA) { + if (_classPrivateFieldGet(_byteOffset, this) < _classPrivateFieldGet(_info, this).payloadLength) { + return callback(); + } + var body = this.consume(_classPrivateFieldGet(_info, this).payloadLength); + if (isControlFrame(_classPrivateFieldGet(_info, this).opcode)) { + _classPrivateFieldSet(_loop, this, this.parseControlFrame(body)); + _classPrivateFieldSet(_state, this, parserStates.INFO); + } else { + if (!_classPrivateFieldGet(_info, this).compressed) { + _classPrivateFieldGet(_fragments, this).push(body); + + // If the frame is not fragmented, a message has been received. + // If the frame is fragmented, it will terminate with a fin bit set + // and an opcode of 0 (continuation), therefore we handle that when + // parsing continuation frames, not here. + if (!_classPrivateFieldGet(_info, this).fragmented && _classPrivateFieldGet(_info, this).fin) { + var fullMessage = Buffer.concat(_classPrivateFieldGet(_fragments, this)); + websocketMessageReceived(this.ws, _classPrivateFieldGet(_info, this).binaryType, fullMessage); + _classPrivateFieldGet(_fragments, this).length = 0; + } + _classPrivateFieldSet(_state, this, parserStates.INFO); + } else { + _classPrivateFieldGet(_extensions, this).get('permessage-deflate').decompress(body, _classPrivateFieldGet(_info, this).fin, function (error, data) { + if (error) { + failWebsocketConnection(_this2.ws, error.message); + return; + } + _classPrivateFieldGet(_fragments, _this2).push(data); + if (!_classPrivateFieldGet(_info, _this2).fin) { + _classPrivateFieldSet(_state, _this2, parserStates.INFO); + _classPrivateFieldSet(_loop, _this2, true); + _this2.run(callback); + return; + } + websocketMessageReceived(_this2.ws, _classPrivateFieldGet(_info, _this2).binaryType, Buffer.concat(_classPrivateFieldGet(_fragments, _this2))); + _classPrivateFieldSet(_loop, _this2, true); + _classPrivateFieldSet(_state, _this2, parserStates.INFO); + _classPrivateFieldGet(_fragments, _this2).length = 0; + _this2.run(callback); + }); + _classPrivateFieldSet(_loop, this, false); + break; + } + } + } + } + } + + /** + * Take n bytes from the buffered Buffers + * @param {number} n + * @returns {Buffer} + */ + }, { + key: "consume", + value: function consume(n) { + if (n > _classPrivateFieldGet(_byteOffset, this)) { + throw new Error('Called consume() before buffers satiated.'); + } else if (n === 0) { + return emptyBuffer; + } + if (_classPrivateFieldGet(_buffers, this)[0].length === n) { + _classPrivateFieldSet(_byteOffset, this, _classPrivateFieldGet(_byteOffset, this) - _classPrivateFieldGet(_buffers, this)[0].length); + return _classPrivateFieldGet(_buffers, this).shift(); + } + var buffer = Buffer.allocUnsafe(n); + var offset = 0; + while (offset !== n) { + var next = _classPrivateFieldGet(_buffers, this)[0]; + var length = next.length; + if (length + offset === n) { + buffer.set(_classPrivateFieldGet(_buffers, this).shift(), offset); + break; + } else if (length + offset > n) { + buffer.set(next.subarray(0, n - offset), offset); + _classPrivateFieldGet(_buffers, this)[0] = next.subarray(n - offset); + break; + } else { + buffer.set(_classPrivateFieldGet(_buffers, this).shift(), offset); + offset += next.length; + } + } + _classPrivateFieldSet(_byteOffset, this, _classPrivateFieldGet(_byteOffset, this) - n); + return buffer; + } + }, { + key: "parseCloseBody", + value: function parseCloseBody(data) { + assert(data.length !== 1); + + // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.5 + /** @type {number|undefined} */ + var code; + if (data.length >= 2) { + // _The WebSocket Connection Close Code_ is + // defined as the status code (Section 7.4) contained in the first Close + // control frame received by the application + code = data.readUInt16BE(0); + } + if (code !== undefined && !isValidStatusCode(code)) { + return { + code: 1002, + reason: 'Invalid status code', + error: true + }; + } + + // https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.6 + /** @type {Buffer} */ + var reason = data.subarray(2); + + // Remove BOM + if (reason[0] === 0xEF && reason[1] === 0xBB && reason[2] === 0xBF) { + reason = reason.subarray(3); + } + try { + reason = utf8Decode(reason); + } catch (_unused) { + return { + code: 1007, + reason: 'Invalid UTF-8', + error: true + }; + } + return { + code: code, + reason: reason, + error: false + }; + } + + /** + * Parses control frames. + * @param {Buffer} body + */ + }, { + key: "parseControlFrame", + value: function parseControlFrame(body) { + var _this3 = this; + var _classPrivateFieldGet2 = _classPrivateFieldGet(_info, this), + opcode = _classPrivateFieldGet2.opcode, + payloadLength = _classPrivateFieldGet2.payloadLength; + if (opcode === opcodes.CLOSE) { + if (payloadLength === 1) { + failWebsocketConnection(this.ws, 'Received close frame with a 1-byte body.'); + return false; + } + _classPrivateFieldGet(_info, this).closeInfo = this.parseCloseBody(body); + if (_classPrivateFieldGet(_info, this).closeInfo.error) { + var _classPrivateFieldGet3 = _classPrivateFieldGet(_info, this).closeInfo, + code = _classPrivateFieldGet3.code, + reason = _classPrivateFieldGet3.reason; + closeWebSocketConnection(this.ws, code, reason, reason.length); + failWebsocketConnection(this.ws, reason); + return false; + } + if (this.ws[kSentClose] !== sentCloseFrameState.SENT) { + // If an endpoint receives a Close frame and did not previously send a + // Close frame, the endpoint MUST send a Close frame in response. (When + // sending a Close frame in response, the endpoint typically echos the + // status code it received.) + var _body = emptyBuffer; + if (_classPrivateFieldGet(_info, this).closeInfo.code) { + _body = Buffer.allocUnsafe(2); + _body.writeUInt16BE(_classPrivateFieldGet(_info, this).closeInfo.code, 0); + } + var closeFrame = new WebsocketFrameSend(_body); + this.ws[kResponse].socket.write(closeFrame.createFrame(opcodes.CLOSE), function (err) { + if (!err) { + _this3.ws[kSentClose] = sentCloseFrameState.SENT; + } + }); + } + + // Upon either sending or receiving a Close control frame, it is said + // that _The WebSocket Closing Handshake is Started_ and that the + // WebSocket connection is in the CLOSING state. + this.ws[kReadyState] = states.CLOSING; + this.ws[kReceivedClose] = true; + return false; + } else if (opcode === opcodes.PING) { + // Upon receipt of a Ping frame, an endpoint MUST send a Pong frame in + // response, unless it already received a Close frame. + // A Pong frame sent in response to a Ping frame must have identical + // "Application data" + + if (!this.ws[kReceivedClose]) { + var frame = new WebsocketFrameSend(body); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body + }); + } + } + } else if (opcode === opcodes.PONG) { + // A Pong frame MAY be sent unsolicited. This serves as a + // unidirectional heartbeat. A response to an unsolicited Pong frame is + // not expected. + + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body + }); + } + } + return true; + } + }, { + key: "closingInfo", + get: function get() { + return _classPrivateFieldGet(_info, this).closeInfo; + } + }]); +}(Writable); +module.exports = { + ByteParser: ByteParser +}; + +/***/ }, + +/***/ 4100 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _regenerator = (__webpack_require__(6993)["default"]); +var _asyncToGenerator = (__webpack_require__(9293)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _require = __webpack_require__(456), + WebsocketFrameSend = _require.WebsocketFrameSend; +var _require2 = __webpack_require__(5976), + opcodes = _require2.opcodes, + sendHints = _require2.sendHints; +var FixedQueue = __webpack_require__(1084); + +/** @type {typeof Uint8Array} */ +var FastBuffer = Buffer[Symbol.species]; + +/** + * @typedef {object} SendQueueNode + * @property {Promise | null} promise + * @property {((...args: any[]) => any)} callback + * @property {Buffer | null} frame + */ +var _queue = /*#__PURE__*/new WeakMap(); +var _running = /*#__PURE__*/new WeakMap(); +var _socket = /*#__PURE__*/new WeakMap(); +var _SendQueue_brand = /*#__PURE__*/new WeakSet(); +var SendQueue = /*#__PURE__*/function () { + function SendQueue(socket) { + _classCallCheck(this, SendQueue); + _classPrivateMethodInitSpec(this, _SendQueue_brand); + /** + * @type {FixedQueue} + */ + _classPrivateFieldInitSpec(this, _queue, new FixedQueue()); + /** + * @type {boolean} + */ + _classPrivateFieldInitSpec(this, _running, false); + /** @type {import('node:net').Socket} */ + _classPrivateFieldInitSpec(this, _socket, void 0); + _classPrivateFieldSet(_socket, this, socket); + } + return _createClass(SendQueue, [{ + key: "add", + value: function add(item, cb, hint) { + if (hint !== sendHints.blob) { + var frame = createFrame(item, hint); + if (!_classPrivateFieldGet(_running, this)) { + // fast-path + _classPrivateFieldGet(_socket, this).write(frame, cb); + } else { + /** @type {SendQueueNode} */ + var _node = { + promise: null, + callback: cb, + frame: frame + }; + _classPrivateFieldGet(_queue, this).push(_node); + } + return; + } + + /** @type {SendQueueNode} */ + var node = { + promise: item.arrayBuffer().then(function (ab) { + node.promise = null; + node.frame = createFrame(ab, hint); + }), + callback: cb, + frame: null + }; + _classPrivateFieldGet(_queue, this).push(node); + if (!_classPrivateFieldGet(_running, this)) { + _assertClassBrand(_SendQueue_brand, this, _run).call(this); + } + } + }]); +}(); +function _run() { + return _run2.apply(this, arguments); +} +function _run2() { + _run2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { + var queue, node; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _classPrivateFieldSet(_running, this, true); + queue = _classPrivateFieldGet(_queue, this); + case 1: + if (queue.isEmpty()) { + _context.n = 3; + break; + } + node = queue.shift(); // wait pending promise + if (!(node.promise !== null)) { + _context.n = 2; + break; + } + _context.n = 2; + return node.promise; + case 2: + // write + _classPrivateFieldGet(_socket, this).write(node.frame, node.callback); + // cleanup + node.callback = node.frame = null; + _context.n = 1; + break; + case 3: + _classPrivateFieldSet(_running, this, false); + case 4: + return _context.a(2); + } + }, _callee, this); + })); + return _run2.apply(this, arguments); +} +function createFrame(data, hint) { + return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY); +} +function toBuffer(data, hint) { + switch (hint) { + case sendHints.string: + return Buffer.from(data); + case sendHints.arrayBuffer: + case sendHints.blob: + return new FastBuffer(data); + case sendHints.typedArray: + return new FastBuffer(data.buffer, data.byteOffset, data.byteLength); + } +} +module.exports = { + SendQueue: SendQueue +}; + +/***/ }, + +/***/ 9912 +(module) { + +"use strict"; + + +module.exports = { + kWebSocketURL: Symbol('url'), + kReadyState: Symbol('ready state'), + kController: Symbol('controller'), + kResponse: Symbol('response'), + kBinaryType: Symbol('binary type'), + kSentClose: Symbol('sent close'), + kReceivedClose: Symbol('received close'), + kByteParser: Symbol('byte parser') +}; + +/***/ }, + +/***/ 8153 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _slicedToArray = (__webpack_require__(5715)["default"]); +var _require = __webpack_require__(9912), + kReadyState = _require.kReadyState, + kController = _require.kController, + kResponse = _require.kResponse, + kBinaryType = _require.kBinaryType, + kWebSocketURL = _require.kWebSocketURL; +var _require2 = __webpack_require__(5976), + states = _require2.states, + opcodes = _require2.opcodes; +var _require3 = __webpack_require__(8028), + ErrorEvent = _require3.ErrorEvent, + createFastMessageEvent = _require3.createFastMessageEvent; +var _require4 = __webpack_require__(4573), + isUtf8 = _require4.isUtf8; +var _require5 = __webpack_require__(8388), + collectASequenceOfCodePointsFast = _require5.collectASequenceOfCodePointsFast, + removeHTTPWhitespace = _require5.removeHTTPWhitespace; + +/* globals Blob */ + +/** + * @param {import('./websocket').WebSocket} ws + * @returns {boolean} + */ +function isConnecting(ws) { + // If the WebSocket connection is not yet established, and the connection + // is not yet closed, then the WebSocket connection is in the CONNECTING state. + return ws[kReadyState] === states.CONNECTING; +} + +/** + * @param {import('./websocket').WebSocket} ws + * @returns {boolean} + */ +function isEstablished(ws) { + // If the server's response is validated as provided for above, it is + // said that _The WebSocket Connection is Established_ and that the + // WebSocket Connection is in the OPEN state. + return ws[kReadyState] === states.OPEN; +} + +/** + * @param {import('./websocket').WebSocket} ws + * @returns {boolean} + */ +function isClosing(ws) { + // Upon either sending or receiving a Close control frame, it is said + // that _The WebSocket Closing Handshake is Started_ and that the + // WebSocket connection is in the CLOSING state. + return ws[kReadyState] === states.CLOSING; +} + +/** + * @param {import('./websocket').WebSocket} ws + * @returns {boolean} + */ +function isClosed(ws) { + return ws[kReadyState] === states.CLOSED; +} + +/** + * @see https://dom.spec.whatwg.org/#concept-event-fire + * @param {string} e + * @param {EventTarget} target + * @param {(...args: ConstructorParameters) => Event} eventFactory + * @param {EventInit | undefined} eventInitDict + */ +function fireEvent(e, target) { + var eventFactory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (type, init) { + return new Event(type, init); + }; + var eventInitDict = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + // 1. If eventConstructor is not given, then let eventConstructor be Event. + + // 2. Let event be the result of creating an event given eventConstructor, + // in the relevant realm of target. + // 3. Initialize event’s type attribute to e. + var event = eventFactory(e, eventInitDict); + + // 4. Initialize any other IDL attributes of event as described in the + // invocation of this algorithm. + + // 5. Return the result of dispatching event at target, with legacy target + // override flag set if set. + target.dispatchEvent(event); +} + +/** + * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol + * @param {import('./websocket').WebSocket} ws + * @param {number} type Opcode + * @param {Buffer} data application data + */ +function websocketMessageReceived(ws, type, data) { + // 1. If ready state is not OPEN (1), then return. + if (ws[kReadyState] !== states.OPEN) { + return; + } + + // 2. Let dataForEvent be determined by switching on type and binary type: + var dataForEvent; + if (type === opcodes.TEXT) { + // -> type indicates that the data is Text + // a new DOMString containing data + try { + dataForEvent = utf8Decode(data); + } catch (_unused) { + failWebsocketConnection(ws, 'Received invalid UTF-8 in text frame.'); + return; + } + } else if (type === opcodes.BINARY) { + if (ws[kBinaryType] === 'blob') { + // -> type indicates that the data is Binary and binary type is "blob" + // a new Blob object, created in the relevant Realm of the WebSocket + // object, that represents data as its raw data + dataForEvent = new Blob([data]); + } else { + // -> type indicates that the data is Binary and binary type is "arraybuffer" + // a new ArrayBuffer object, created in the relevant Realm of the + // WebSocket object, whose contents are data + dataForEvent = toArrayBuffer(data); + } + } + + // 3. Fire an event named message at the WebSocket object, using MessageEvent, + // with the origin attribute initialized to the serialization of the WebSocket + // object’s url's origin, and the data attribute initialized to dataForEvent. + fireEvent('message', ws, createFastMessageEvent, { + origin: ws[kWebSocketURL].origin, + data: dataForEvent + }); +} +function toArrayBuffer(buffer) { + if (buffer.byteLength === buffer.buffer.byteLength) { + return buffer.buffer; + } + return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); +} + +/** + * @see https://datatracker.ietf.org/doc/html/rfc6455 + * @see https://datatracker.ietf.org/doc/html/rfc2616 + * @see https://bugs.chromium.org/p/chromium/issues/detail?id=398407 + * @param {string} protocol + */ +function isValidSubprotocol(protocol) { + // If present, this value indicates one + // or more comma-separated subprotocol the client wishes to speak, + // ordered by preference. The elements that comprise this value + // MUST be non-empty strings with characters in the range U+0021 to + // U+007E not including separator characters as defined in + // [RFC2616] and MUST all be unique strings. + if (protocol.length === 0) { + return false; + } + for (var i = 0; i < protocol.length; ++i) { + var code = protocol.charCodeAt(i); + if (code < 0x21 || + // CTL, contains SP (0x20) and HT (0x09) + code > 0x7E || code === 0x22 || + // " + code === 0x28 || + // ( + code === 0x29 || + // ) + code === 0x2C || + // , + code === 0x2F || + // / + code === 0x3A || + // : + code === 0x3B || + // ; + code === 0x3C || + // < + code === 0x3D || + // = + code === 0x3E || + // > + code === 0x3F || + // ? + code === 0x40 || + // @ + code === 0x5B || + // [ + code === 0x5C || + // \ + code === 0x5D || + // ] + code === 0x7B || + // { + code === 0x7D // } + ) { + return false; + } + } + return true; +} + +/** + * @see https://datatracker.ietf.org/doc/html/rfc6455#section-7-4 + * @param {number} code + */ +function isValidStatusCode(code) { + if (code >= 1000 && code < 1015) { + return code !== 1004 && + // reserved + code !== 1005 && + // "MUST NOT be set as a status code" + code !== 1006 // "MUST NOT be set as a status code" +; + } + return code >= 3000 && code <= 4999; +} + +/** + * @param {import('./websocket').WebSocket} ws + * @param {string|undefined} reason + */ +function failWebsocketConnection(ws, reason) { + var controller = ws[kController], + response = ws[kResponse]; + controller.abort(); + if (response !== null && response !== void 0 && response.socket && !response.socket.destroyed) { + response.socket.destroy(); + } + if (reason) { + // TODO: process.nextTick + fireEvent('error', ws, function (type, init) { + return new ErrorEvent(type, init); + }, { + error: new Error(reason), + message: reason + }); + } +} + +/** + * @see https://datatracker.ietf.org/doc/html/rfc6455#section-5.5 + * @param {number} opcode + */ +function isControlFrame(opcode) { + return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG; +} +function isContinuationFrame(opcode) { + return opcode === opcodes.CONTINUATION; +} +function isTextBinaryFrame(opcode) { + return opcode === opcodes.TEXT || opcode === opcodes.BINARY; +} +function isValidOpcode(opcode) { + return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode); +} + +/** + * Parses a Sec-WebSocket-Extensions header value. + * @param {string} extensions + * @returns {Map} + */ +// TODO(@Uzlopak, @KhafraDev): make compliant https://datatracker.ietf.org/doc/html/rfc6455#section-9.1 +function parseExtensions(extensions) { + var position = { + position: 0 + }; + var extensionList = new Map(); + while (position.position < extensions.length) { + var pair = collectASequenceOfCodePointsFast(';', extensions, position); + var _pair$split = pair.split('='), + _pair$split2 = _slicedToArray(_pair$split, 2), + name = _pair$split2[0], + _pair$split2$ = _pair$split2[1], + value = _pair$split2$ === void 0 ? '' : _pair$split2$; + extensionList.set(removeHTTPWhitespace(name, true, false), removeHTTPWhitespace(value, false, true)); + position.position++; + } + return extensionList; +} + +/** + * @see https://www.rfc-editor.org/rfc/rfc7692#section-7.1.2.2 + * @description "client-max-window-bits = 1*DIGIT" + * @param {string} value + */ +function isValidClientWindowBits(value) { + // Must have at least one character + if (value.length === 0) { + return false; + } + + // Check all characters are ASCII digits + for (var i = 0; i < value.length; i++) { + var _byte = value.charCodeAt(i); + if (_byte < 0x30 || _byte > 0x39) { + return false; + } + } + + // Check numeric range: zlib requires windowBits in range 8-15 + var num = Number.parseInt(value, 10); + return num >= 8 && num <= 15; +} + +// https://nodejs.org/api/intl.html#detecting-internationalization-support +var hasIntl = typeof process.versions.icu === 'string'; +var fatalDecoder = hasIntl ? new TextDecoder('utf-8', { + fatal: true +}) : undefined; + +/** + * Converts a Buffer to utf-8, even on platforms without icu. + * @param {Buffer} buffer + */ +var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function (buffer) { + if (isUtf8(buffer)) { + return buffer.toString('utf-8'); + } + throw new TypeError('Invalid utf-8 received.'); +}; +module.exports = { + isConnecting: isConnecting, + isEstablished: isEstablished, + isClosing: isClosing, + isClosed: isClosed, + fireEvent: fireEvent, + isValidSubprotocol: isValidSubprotocol, + isValidStatusCode: isValidStatusCode, + failWebsocketConnection: failWebsocketConnection, + websocketMessageReceived: websocketMessageReceived, + utf8Decode: utf8Decode, + isControlFrame: isControlFrame, + isContinuationFrame: isContinuationFrame, + isTextBinaryFrame: isTextBinaryFrame, + isValidOpcode: isValidOpcode, + parseExtensions: parseExtensions, + isValidClientWindowBits: isValidClientWindowBits +}; + +/***/ }, + +/***/ 4966 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _defineProperty = (__webpack_require__(3693)["default"]); +var _classCallCheck = (__webpack_require__(7383)["default"]); +var _createClass = (__webpack_require__(4579)["default"]); +var _callSuper = (__webpack_require__(8336)["default"]); +var _inherits = (__webpack_require__(9511)["default"]); +var _wrapNativeSuper = (__webpack_require__(1837)["default"]); +var _classPrivateMethodInitSpec = (__webpack_require__(3312)["default"]); +var _classPrivateFieldInitSpec = (__webpack_require__(2459)["default"]); +var _classPrivateFieldSet = (__webpack_require__(7088)["default"]); +var _classPrivateFieldGet = (__webpack_require__(6668)["default"]); +var _assertClassBrand = (__webpack_require__(1756)["default"]); +var _require = __webpack_require__(2861), + webidl = _require.webidl; +var _require2 = __webpack_require__(8388), + URLSerializer = _require2.URLSerializer; +var _require3 = __webpack_require__(8440), + environmentSettingsObject = _require3.environmentSettingsObject; +var _require4 = __webpack_require__(5976), + staticPropertyDescriptors = _require4.staticPropertyDescriptors, + states = _require4.states, + sentCloseFrameState = _require4.sentCloseFrameState, + sendHints = _require4.sendHints; +var _require5 = __webpack_require__(9912), + kWebSocketURL = _require5.kWebSocketURL, + kReadyState = _require5.kReadyState, + kController = _require5.kController, + kBinaryType = _require5.kBinaryType, + kResponse = _require5.kResponse, + kSentClose = _require5.kSentClose, + kByteParser = _require5.kByteParser; +var _require6 = __webpack_require__(8153), + isConnecting = _require6.isConnecting, + isEstablished = _require6.isEstablished, + isClosing = _require6.isClosing, + isValidSubprotocol = _require6.isValidSubprotocol, + fireEvent = _require6.fireEvent; +var _require7 = __webpack_require__(8105), + establishWebSocketConnection = _require7.establishWebSocketConnection, + closeWebSocketConnection = _require7.closeWebSocketConnection; +var _require8 = __webpack_require__(9100), + ByteParser = _require8.ByteParser; +var _require9 = __webpack_require__(6632), + kEnumerableProperty = _require9.kEnumerableProperty, + isBlobLike = _require9.isBlobLike; +var _require0 = __webpack_require__(4397), + getGlobalDispatcher = _require0.getGlobalDispatcher; +var _require1 = __webpack_require__(7975), + types = _require1.types; +var _require10 = __webpack_require__(8028), + ErrorEvent = _require10.ErrorEvent, + CloseEvent = _require10.CloseEvent; +var _require11 = __webpack_require__(4100), + SendQueue = _require11.SendQueue; + +// https://websockets.spec.whatwg.org/#interface-definition +var _events = /*#__PURE__*/new WeakMap(); +var _bufferedAmount = /*#__PURE__*/new WeakMap(); +var _protocol = /*#__PURE__*/new WeakMap(); +var _extensions = /*#__PURE__*/new WeakMap(); +var _sendQueue = /*#__PURE__*/new WeakMap(); +var _WebSocket_brand = /*#__PURE__*/new WeakSet(); +var WebSocket = /*#__PURE__*/function (_EventTarget) { + /** + * @param {string} url + * @param {string|string[]} protocols + */ + function WebSocket(url) { + var _this; + var protocols = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + _classCallCheck(this, WebSocket); + _this = _callSuper(this, WebSocket); + /** + * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol + */ + _classPrivateMethodInitSpec(_this, _WebSocket_brand); + _classPrivateFieldInitSpec(_this, _events, { + open: null, + error: null, + close: null, + message: null + }); + _classPrivateFieldInitSpec(_this, _bufferedAmount, 0); + _classPrivateFieldInitSpec(_this, _protocol, ''); + _classPrivateFieldInitSpec(_this, _extensions, ''); + /** @type {SendQueue} */ + _classPrivateFieldInitSpec(_this, _sendQueue, void 0); + webidl.util.markAsUncloneable(_this); + var prefix = 'WebSocket constructor'; + webidl.argumentLengthCheck(arguments, 1, prefix); + var options = webidl.converters['DOMString or sequence or WebSocketInit'](protocols, prefix, 'options'); + url = webidl.converters.USVString(url, prefix, 'url'); + protocols = options.protocols; + + // 1. Let baseURL be this's relevant settings object's API base URL. + var baseURL = environmentSettingsObject.settingsObject.baseUrl; + + // 1. Let urlRecord be the result of applying the URL parser to url with baseURL. + var urlRecord; + try { + urlRecord = new URL(url, baseURL); + } catch (e) { + // 3. If urlRecord is failure, then throw a "SyntaxError" DOMException. + throw new DOMException(e, 'SyntaxError'); + } + + // 4. If urlRecord’s scheme is "http", then set urlRecord’s scheme to "ws". + if (urlRecord.protocol === 'http:') { + urlRecord.protocol = 'ws:'; + } else if (urlRecord.protocol === 'https:') { + // 5. Otherwise, if urlRecord’s scheme is "https", set urlRecord’s scheme to "wss". + urlRecord.protocol = 'wss:'; + } + + // 6. If urlRecord’s scheme is not "ws" or "wss", then throw a "SyntaxError" DOMException. + if (urlRecord.protocol !== 'ws:' && urlRecord.protocol !== 'wss:') { + throw new DOMException("Expected a ws: or wss: protocol, got ".concat(urlRecord.protocol), 'SyntaxError'); + } + + // 7. If urlRecord’s fragment is non-null, then throw a "SyntaxError" + // DOMException. + if (urlRecord.hash || urlRecord.href.endsWith('#')) { + throw new DOMException('Got fragment', 'SyntaxError'); + } + + // 8. If protocols is a string, set protocols to a sequence consisting + // of just that string. + if (typeof protocols === 'string') { + protocols = [protocols]; + } + + // 9. If any of the values in protocols occur more than once or otherwise + // fail to match the requirements for elements that comprise the value + // of `Sec-WebSocket-Protocol` fields as defined by The WebSocket + // protocol, then throw a "SyntaxError" DOMException. + if (protocols.length !== new Set(protocols.map(function (p) { + return p.toLowerCase(); + })).size) { + throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError'); + } + if (protocols.length > 0 && !protocols.every(function (p) { + return isValidSubprotocol(p); + })) { + throw new DOMException('Invalid Sec-WebSocket-Protocol value', 'SyntaxError'); + } + + // 10. Set this's url to urlRecord. + _this[kWebSocketURL] = new URL(urlRecord.href); + + // 11. Let client be this's relevant settings object. + var client = environmentSettingsObject.settingsObject; + + // 12. Run this step in parallel: + + // 1. Establish a WebSocket connection given urlRecord, protocols, + // and client. + _this[kController] = establishWebSocketConnection(urlRecord, protocols, client, _this, function (response, extensions) { + return _assertClassBrand(_WebSocket_brand, _this, _onConnectionEstablished).call(_this, response, extensions); + }, options); + + // Each WebSocket object has an associated ready state, which is a + // number representing the state of the connection. Initially it must + // be CONNECTING (0). + _this[kReadyState] = WebSocket.CONNECTING; + _this[kSentClose] = sentCloseFrameState.NOT_SENT; + + // The extensions attribute must initially return the empty string. + + // The protocol attribute must initially return the empty string. + + // Each WebSocket object has an associated binary type, which is a + // BinaryType. Initially it must be "blob". + _this[kBinaryType] = 'blob'; + return _this; + } + + /** + * @see https://websockets.spec.whatwg.org/#dom-websocket-close + * @param {number|undefined} code + * @param {string|undefined} reason + */ + _inherits(WebSocket, _EventTarget); + return _createClass(WebSocket, [{ + key: "close", + value: function close() { + var code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; + var reason = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + webidl.brandCheck(this, WebSocket); + var prefix = 'WebSocket.close'; + if (code !== undefined) { + code = webidl.converters['unsigned short'](code, prefix, 'code', { + clamp: true + }); + } + if (reason !== undefined) { + reason = webidl.converters.USVString(reason, prefix, 'reason'); + } + + // 1. If code is present, but is neither an integer equal to 1000 nor an + // integer in the range 3000 to 4999, inclusive, throw an + // "InvalidAccessError" DOMException. + if (code !== undefined) { + if (code !== 1000 && (code < 3000 || code > 4999)) { + throw new DOMException('invalid code', 'InvalidAccessError'); + } + } + var reasonByteLength = 0; + + // 2. If reason is present, then run these substeps: + if (reason !== undefined) { + // 1. Let reasonBytes be the result of encoding reason. + // 2. If reasonBytes is longer than 123 bytes, then throw a + // "SyntaxError" DOMException. + reasonByteLength = Buffer.byteLength(reason); + if (reasonByteLength > 123) { + throw new DOMException("Reason must be less than 123 bytes; received ".concat(reasonByteLength), 'SyntaxError'); + } + } + + // 3. Run the first matching steps from the following list: + closeWebSocketConnection(this, code, reason, reasonByteLength); + } + + /** + * @see https://websockets.spec.whatwg.org/#dom-websocket-send + * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data + */ + }, { + key: "send", + value: function send(data) { + var _this2 = this; + webidl.brandCheck(this, WebSocket); + var prefix = 'WebSocket.send'; + webidl.argumentLengthCheck(arguments, 1, prefix); + data = webidl.converters.WebSocketSendData(data, prefix, 'data'); + + // 1. If this's ready state is CONNECTING, then throw an + // "InvalidStateError" DOMException. + if (isConnecting(this)) { + throw new DOMException('Sent before connected.', 'InvalidStateError'); + } + + // 2. Run the appropriate set of steps from the following list: + // https://datatracker.ietf.org/doc/html/rfc6455#section-6.1 + // https://datatracker.ietf.org/doc/html/rfc6455#section-5.2 + + if (!isEstablished(this) || isClosing(this)) { + return; + } + + // If data is a string + if (typeof data === 'string') { + // If the WebSocket connection is established and the WebSocket + // closing handshake has not yet started, then the user agent + // must send a WebSocket Message comprised of the data argument + // using a text frame opcode; if the data cannot be sent, e.g. + // because it would need to be buffered but the buffer is full, + // the user agent must flag the WebSocket as full and then close + // the WebSocket connection. Any invocation of this method with a + // string argument that does not throw an exception must increase + // the bufferedAmount attribute by the number of bytes needed to + // express the argument as UTF-8. + + var length = Buffer.byteLength(data); + _classPrivateFieldSet(_bufferedAmount, this, _classPrivateFieldGet(_bufferedAmount, this) + length); + _classPrivateFieldGet(_sendQueue, this).add(data, function () { + _classPrivateFieldSet(_bufferedAmount, _this2, _classPrivateFieldGet(_bufferedAmount, _this2) - length); + }, sendHints.string); + } else if (types.isArrayBuffer(data)) { + // If the WebSocket connection is established, and the WebSocket + // closing handshake has not yet started, then the user agent must + // send a WebSocket Message comprised of data using a binary frame + // opcode; if the data cannot be sent, e.g. because it would need + // to be buffered but the buffer is full, the user agent must flag + // the WebSocket as full and then close the WebSocket connection. + // The data to be sent is the data stored in the buffer described + // by the ArrayBuffer object. Any invocation of this method with an + // ArrayBuffer argument that does not throw an exception must + // increase the bufferedAmount attribute by the length of the + // ArrayBuffer in bytes. + + _classPrivateFieldSet(_bufferedAmount, this, _classPrivateFieldGet(_bufferedAmount, this) + data.byteLength); + _classPrivateFieldGet(_sendQueue, this).add(data, function () { + _classPrivateFieldSet(_bufferedAmount, _this2, _classPrivateFieldGet(_bufferedAmount, _this2) - data.byteLength); + }, sendHints.arrayBuffer); + } else if (ArrayBuffer.isView(data)) { + // If the WebSocket connection is established, and the WebSocket + // closing handshake has not yet started, then the user agent must + // send a WebSocket Message comprised of data using a binary frame + // opcode; if the data cannot be sent, e.g. because it would need to + // be buffered but the buffer is full, the user agent must flag the + // WebSocket as full and then close the WebSocket connection. The + // data to be sent is the data stored in the section of the buffer + // described by the ArrayBuffer object that data references. Any + // invocation of this method with this kind of argument that does + // not throw an exception must increase the bufferedAmount attribute + // by the length of data’s buffer in bytes. + + _classPrivateFieldSet(_bufferedAmount, this, _classPrivateFieldGet(_bufferedAmount, this) + data.byteLength); + _classPrivateFieldGet(_sendQueue, this).add(data, function () { + _classPrivateFieldSet(_bufferedAmount, _this2, _classPrivateFieldGet(_bufferedAmount, _this2) - data.byteLength); + }, sendHints.typedArray); + } else if (isBlobLike(data)) { + // If the WebSocket connection is established, and the WebSocket + // closing handshake has not yet started, then the user agent must + // send a WebSocket Message comprised of data using a binary frame + // opcode; if the data cannot be sent, e.g. because it would need to + // be buffered but the buffer is full, the user agent must flag the + // WebSocket as full and then close the WebSocket connection. The data + // to be sent is the raw data represented by the Blob object. Any + // invocation of this method with a Blob argument that does not throw + // an exception must increase the bufferedAmount attribute by the size + // of the Blob object’s raw data, in bytes. + + _classPrivateFieldSet(_bufferedAmount, this, _classPrivateFieldGet(_bufferedAmount, this) + data.size); + _classPrivateFieldGet(_sendQueue, this).add(data, function () { + _classPrivateFieldSet(_bufferedAmount, _this2, _classPrivateFieldGet(_bufferedAmount, _this2) - data.size); + }, sendHints.blob); + } + } + }, { + key: "readyState", + get: function get() { + webidl.brandCheck(this, WebSocket); + + // The readyState getter steps are to return this's ready state. + return this[kReadyState]; + } + }, { + key: "bufferedAmount", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_bufferedAmount, this); + } + }, { + key: "url", + get: function get() { + webidl.brandCheck(this, WebSocket); + + // The url getter steps are to return this's url, serialized. + return URLSerializer(this[kWebSocketURL]); + } + }, { + key: "extensions", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_extensions, this); + } + }, { + key: "protocol", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_protocol, this); + } + }, { + key: "onopen", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_events, this).open; + }, + set: function set(fn) { + webidl.brandCheck(this, WebSocket); + if (_classPrivateFieldGet(_events, this).open) { + this.removeEventListener('open', _classPrivateFieldGet(_events, this).open); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).open = fn; + this.addEventListener('open', fn); + } else { + _classPrivateFieldGet(_events, this).open = null; + } + } + }, { + key: "onerror", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_events, this).error; + }, + set: function set(fn) { + webidl.brandCheck(this, WebSocket); + if (_classPrivateFieldGet(_events, this).error) { + this.removeEventListener('error', _classPrivateFieldGet(_events, this).error); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).error = fn; + this.addEventListener('error', fn); + } else { + _classPrivateFieldGet(_events, this).error = null; + } + } + }, { + key: "onclose", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_events, this).close; + }, + set: function set(fn) { + webidl.brandCheck(this, WebSocket); + if (_classPrivateFieldGet(_events, this).close) { + this.removeEventListener('close', _classPrivateFieldGet(_events, this).close); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).close = fn; + this.addEventListener('close', fn); + } else { + _classPrivateFieldGet(_events, this).close = null; + } + } + }, { + key: "onmessage", + get: function get() { + webidl.brandCheck(this, WebSocket); + return _classPrivateFieldGet(_events, this).message; + }, + set: function set(fn) { + webidl.brandCheck(this, WebSocket); + if (_classPrivateFieldGet(_events, this).message) { + this.removeEventListener('message', _classPrivateFieldGet(_events, this).message); + } + if (typeof fn === 'function') { + _classPrivateFieldGet(_events, this).message = fn; + this.addEventListener('message', fn); + } else { + _classPrivateFieldGet(_events, this).message = null; + } + } + }, { + key: "binaryType", + get: function get() { + webidl.brandCheck(this, WebSocket); + return this[kBinaryType]; + }, + set: function set(type) { + webidl.brandCheck(this, WebSocket); + if (type !== 'blob' && type !== 'arraybuffer') { + this[kBinaryType] = 'blob'; + } else { + this[kBinaryType] = type; + } + } + }]); +}(/*#__PURE__*/_wrapNativeSuper(EventTarget)); // https://websockets.spec.whatwg.org/#dom-websocket-connecting +function _onConnectionEstablished(response, parsedExtensions) { + // processResponse is called when the "response's header list has been received and initialized." + // once this happens, the connection is open + this[kResponse] = response; + var parser = new ByteParser(this, parsedExtensions); + parser.on('drain', onParserDrain); + parser.on('error', onParserError.bind(this)); + response.socket.ws = this; + this[kByteParser] = parser; + _classPrivateFieldSet(_sendQueue, this, new SendQueue(response.socket)); + + // 1. Change the ready state to OPEN (1). + this[kReadyState] = states.OPEN; + + // 2. Change the extensions attribute’s value to the extensions in use, if + // it is not the null value. + // https://datatracker.ietf.org/doc/html/rfc6455#section-9.1 + var extensions = response.headersList.get('sec-websocket-extensions'); + if (extensions !== null) { + _classPrivateFieldSet(_extensions, this, extensions); + } + + // 3. Change the protocol attribute’s value to the subprotocol in use, if + // it is not the null value. + // https://datatracker.ietf.org/doc/html/rfc6455#section-1.9 + var protocol = response.headersList.get('sec-websocket-protocol'); + if (protocol !== null) { + _classPrivateFieldSet(_protocol, this, protocol); + } + + // 4. Fire an event named open at the WebSocket object. + fireEvent('open', this); +} +WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; +// https://websockets.spec.whatwg.org/#dom-websocket-open +WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; +// https://websockets.spec.whatwg.org/#dom-websocket-closing +WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; +// https://websockets.spec.whatwg.org/#dom-websocket-closed +WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; +Object.defineProperties(WebSocket.prototype, _defineProperty({ + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors, + url: kEnumerableProperty, + readyState: kEnumerableProperty, + bufferedAmount: kEnumerableProperty, + onopen: kEnumerableProperty, + onerror: kEnumerableProperty, + onclose: kEnumerableProperty, + close: kEnumerableProperty, + onmessage: kEnumerableProperty, + binaryType: kEnumerableProperty, + send: kEnumerableProperty, + extensions: kEnumerableProperty, + protocol: kEnumerableProperty +}, Symbol.toStringTag, { + value: 'WebSocket', + writable: false, + enumerable: false, + configurable: true +})); +Object.defineProperties(WebSocket, { + CONNECTING: staticPropertyDescriptors, + OPEN: staticPropertyDescriptors, + CLOSING: staticPropertyDescriptors, + CLOSED: staticPropertyDescriptors +}); +webidl.converters['sequence'] = webidl.sequenceConverter(webidl.converters.DOMString); +webidl.converters['DOMString or sequence'] = function (V, prefix, argument) { + if (webidl.util.Type(V) === 'Object' && Symbol.iterator in V) { + return webidl.converters['sequence'](V); + } + return webidl.converters.DOMString(V, prefix, argument); +}; + +// This implements the proposal made in https://github.com/whatwg/websockets/issues/42 +webidl.converters.WebSocketInit = webidl.dictionaryConverter([{ + key: 'protocols', + converter: webidl.converters['DOMString or sequence'], + defaultValue: function defaultValue() { + return new Array(0); + } +}, { + key: 'dispatcher', + converter: webidl.converters.any, + defaultValue: function defaultValue() { + return getGlobalDispatcher(); + } +}, { + key: 'headers', + converter: webidl.nullableConverter(webidl.converters.HeadersInit) +}]); +webidl.converters['DOMString or sequence or WebSocketInit'] = function (V) { + if (webidl.util.Type(V) === 'Object' && !(Symbol.iterator in V)) { + return webidl.converters.WebSocketInit(V); + } + return { + protocols: webidl.converters['DOMString or sequence'](V) + }; +}; +webidl.converters.WebSocketSendData = function (V) { + if (webidl.util.Type(V) === 'Object') { + if (isBlobLike(V)) { + return webidl.converters.Blob(V, { + strict: false + }); + } + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { + return webidl.converters.BufferSource(V); + } + } + return webidl.converters.USVString(V); +}; +function onParserDrain() { + this.ws[kResponse].socket.resume(); +} +function onParserError(err) { + var message; + var code; + if (err instanceof CloseEvent) { + message = err.reason; + code = err.code; + } else { + message = err.message; + } + fireEvent('error', this, function () { + return new ErrorEvent('error', { + error: err, + message: message + }); + }); + closeWebSocketConnection(this, code); +} +module.exports = { + WebSocket: WebSocket +}; + +/***/ }, + +/***/ 2613 +(module) { + +"use strict"; +module.exports = require("assert"); + +/***/ }, + +/***/ 4434 +(module) { + +"use strict"; +module.exports = require("events"); + +/***/ }, + +/***/ 8611 +(module) { + +"use strict"; +module.exports = require("http"); + +/***/ }, + +/***/ 5692 +(module) { + +"use strict"; +module.exports = require("https"); + +/***/ }, + +/***/ 9278 +(module) { + +"use strict"; +module.exports = require("net"); + +/***/ }, + +/***/ 4589 +(module) { + +"use strict"; +module.exports = require("node:assert"); + +/***/ }, + +/***/ 6698 +(module) { + +"use strict"; +module.exports = require("node:async_hooks"); + +/***/ }, + +/***/ 4573 +(module) { + +"use strict"; +module.exports = require("node:buffer"); + +/***/ }, + +/***/ 7540 +(module) { + +"use strict"; +module.exports = require("node:console"); + +/***/ }, + +/***/ 7598 +(module) { + +"use strict"; +module.exports = require("node:crypto"); + +/***/ }, + +/***/ 3053 +(module) { + +"use strict"; +module.exports = require("node:diagnostics_channel"); + +/***/ }, + +/***/ 610 +(module) { + +"use strict"; +module.exports = require("node:dns"); + +/***/ }, + +/***/ 8474 +(module) { + +"use strict"; +module.exports = require("node:events"); + +/***/ }, + +/***/ 7067 +(module) { + +"use strict"; +module.exports = require("node:http"); + +/***/ }, + +/***/ 2467 +(module) { + +"use strict"; +module.exports = require("node:http2"); + +/***/ }, + +/***/ 7030 +(module) { + +"use strict"; +module.exports = require("node:net"); + +/***/ }, + +/***/ 643 +(module) { + +"use strict"; +module.exports = require("node:perf_hooks"); + +/***/ }, + +/***/ 1792 +(module) { + +"use strict"; +module.exports = require("node:querystring"); + +/***/ }, + +/***/ 7075 +(module) { + +"use strict"; +module.exports = require("node:stream"); + +/***/ }, + +/***/ 1692 +(module) { + +"use strict"; +module.exports = require("node:tls"); + +/***/ }, + +/***/ 3136 +(module) { + +"use strict"; +module.exports = require("node:url"); + +/***/ }, + +/***/ 7975 +(module) { + +"use strict"; +module.exports = require("node:util"); + +/***/ }, + +/***/ 3429 +(module) { + +"use strict"; +module.exports = require("node:util/types"); + +/***/ }, + +/***/ 5919 +(module) { + +"use strict"; +module.exports = require("node:worker_threads"); + +/***/ }, + +/***/ 8522 +(module) { + +"use strict"; +module.exports = require("node:zlib"); + +/***/ }, + +/***/ 3193 +(module) { + +"use strict"; +module.exports = require("string_decoder"); + +/***/ }, + +/***/ 4756 +(module) { + +"use strict"; +module.exports = require("tls"); + +/***/ }, + +/***/ 9023 +(module) { + +"use strict"; +module.exports = require("util"); + +/***/ }, + +/***/ 5172 +(module) { + +function _OverloadYield(e, d) { + this.v = e, this.k = d; +} +module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 79 +(module) { + +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2987 +(module) { + +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} +module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 5901 +(module, __unused_webpack_exports, __webpack_require__) { + +var arrayLikeToArray = __webpack_require__(79); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return arrayLikeToArray(r); +} +module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 1756 +(module) { + +function _assertClassBrand(e, t, n) { + if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; + throw new TypeError("Private element is not present on this object"); +} +module.exports = _assertClassBrand, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2475 +(module) { + +function _assertThisInitialized(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; +} +module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 3513 +(module, __unused_webpack_exports, __webpack_require__) { + +var OverloadYield = __webpack_require__(5172); +function _asyncGeneratorDelegate(t) { + var e = {}, + n = !1; + function pump(e, r) { + return n = !0, r = new Promise(function (n) { + n(t[e](r)); + }), { + done: !1, + value: new OverloadYield(r, 1) + }; + } + return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () { + return this; + }, e.next = function (t) { + return n ? (n = !1, t) : pump("next", t); + }, "function" == typeof t["throw"] && (e["throw"] = function (t) { + if (n) throw n = !1, t; + return pump("throw", t); + }), "function" == typeof t["return"] && (e["return"] = function (t) { + return n ? (n = !1, t) : pump("return", t); + }), e; +} +module.exports = _asyncGeneratorDelegate, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2881 +(module) { + +function _asyncIterator(r) { + var n, + t, + o, + e = 2; + for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { + if (t && null != (n = r[t])) return n.call(r); + if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); + t = "@@asyncIterator", o = "@@iterator"; + } + throw new TypeError("Object is not async iterable"); +} +function AsyncFromSyncIterator(r) { + function AsyncFromSyncIteratorContinuation(r) { + if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); + var n = r.done; + return Promise.resolve(r.value).then(function (r) { + return { + value: r, + done: n + }; + }); + } + return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { + this.s = r, this.n = r.next; + }, AsyncFromSyncIterator.prototype = { + s: null, + n: null, + next: function next() { + return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); + }, + "return": function _return(r) { + var n = this.s["return"]; + return void 0 === n ? Promise.resolve({ + value: r, + done: !0 + }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + }, + "throw": function _throw(r) { + var n = this.s["return"]; + return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + } + }, new AsyncFromSyncIterator(r); +} +module.exports = _asyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9293 +(module) { + +function asyncGeneratorStep(n, t, e, r, o, a, c) { + try { + var i = n[a](c), + u = i.value; + } catch (n) { + return void e(n); + } + i.done ? t(u) : Promise.resolve(u).then(r, o); +} +function _asyncToGenerator(n) { + return function () { + var t = this, + e = arguments; + return new Promise(function (r, o) { + var a = n.apply(t, e); + function _next(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "next", n); + } + function _throw(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); + } + _next(void 0); + }); + }; +} +module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 3344 +(module, __unused_webpack_exports, __webpack_require__) { + +var OverloadYield = __webpack_require__(5172); +function _awaitAsyncGenerator(e) { + return new OverloadYield(e, 0); +} +module.exports = _awaitAsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 8336 +(module, __unused_webpack_exports, __webpack_require__) { + +var getPrototypeOf = __webpack_require__(3072); +var isNativeReflectConstruct = __webpack_require__(7550); +var possibleConstructorReturn = __webpack_require__(8452); +function _callSuper(t, o, e) { + return o = getPrototypeOf(o), possibleConstructorReturn(t, isNativeReflectConstruct() ? Reflect.construct(o, e || [], getPrototypeOf(t).constructor) : o.apply(t, e)); +} +module.exports = _callSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9709 +(module, __unused_webpack_exports, __webpack_require__) { + +var _typeof = (__webpack_require__(3738)["default"]); +function _checkInRHS(e) { + if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); + return e; +} +module.exports = _checkInRHS, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7101 +(module) { + +function _checkPrivateRedeclaration(e, t) { + if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); +} +module.exports = _checkPrivateRedeclaration, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7383 +(module) { + +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} +module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 6668 +(module, __unused_webpack_exports, __webpack_require__) { + +var assertClassBrand = __webpack_require__(1756); +function _classPrivateFieldGet2(s, a) { + return s.get(assertClassBrand(s, a)); +} +module.exports = _classPrivateFieldGet2, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2459 +(module, __unused_webpack_exports, __webpack_require__) { + +var checkPrivateRedeclaration = __webpack_require__(7101); +function _classPrivateFieldInitSpec(e, t, a) { + checkPrivateRedeclaration(e, t), t.set(e, a); +} +module.exports = _classPrivateFieldInitSpec, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7088 +(module, __unused_webpack_exports, __webpack_require__) { + +var assertClassBrand = __webpack_require__(1756); +function _classPrivateFieldSet2(s, a, r) { + return s.set(assertClassBrand(s, a), r), r; +} +module.exports = _classPrivateFieldSet2, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 183 +(module, __unused_webpack_exports, __webpack_require__) { + +var assertClassBrand = __webpack_require__(1756); +function _classPrivateGetter(s, r, a) { + return a(assertClassBrand(s, r)); +} +module.exports = _classPrivateGetter, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 3312 +(module, __unused_webpack_exports, __webpack_require__) { + +var checkPrivateRedeclaration = __webpack_require__(7101); +function _classPrivateMethodInitSpec(e, a) { + checkPrivateRedeclaration(e, a), a.add(e); +} +module.exports = _classPrivateMethodInitSpec, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9646 +(module, __unused_webpack_exports, __webpack_require__) { + +var isNativeReflectConstruct = __webpack_require__(7550); +var setPrototypeOf = __webpack_require__(5636); +function _construct(t, e, r) { + if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); + var o = [null]; + o.push.apply(o, e); + var p = new (t.bind.apply(t, o))(); + return r && setPrototypeOf(p, r.prototype), p; +} +module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 4579 +(module, __unused_webpack_exports, __webpack_require__) { + +var toPropertyKey = __webpack_require__(7736); +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } +} +function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; +} +module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 883 +(module, __unused_webpack_exports, __webpack_require__) { + +var unsupportedIterableToArray = __webpack_require__(7122); +function _createForOfIteratorHelper(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var _n = 0, + F = function F() {}; + return { + s: F, + n: function n() { + return _n >= r.length ? { + done: !0 + } : { + done: !1, + value: r[_n++] + }; + }, + e: function e(r) { + throw r; + }, + f: F + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, + a = !0, + u = !1; + return { + s: function s() { + t = t.call(r); + }, + n: function n() { + var r = t.next(); + return a = r.done, r; + }, + e: function e(r) { + u = !0, o = r; + }, + f: function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + } + }; +} +module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 3693 +(module, __unused_webpack_exports, __webpack_require__) { + +var toPropertyKey = __webpack_require__(7736); +function _defineProperty(e, r, t) { + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} +module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2395 +(module, __unused_webpack_exports, __webpack_require__) { + +var superPropBase = __webpack_require__(9552); +function _get() { + return module.exports = _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { + var p = superPropBase(e, t); + if (p) { + var n = Object.getOwnPropertyDescriptor(p, t); + return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; + } + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _get.apply(null, arguments); +} +module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 3072 +(module) { + +function _getPrototypeOf(t) { + return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t); +} +module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9511 +(module, __unused_webpack_exports, __webpack_require__) { + +var setPrototypeOf = __webpack_require__(5636); +function _inherits(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 + } + }), Object.defineProperty(t, "prototype", { + writable: !1 + }), e && setPrototypeOf(t, e); +} +module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 691 +(module) { + +function _isNativeFunction(t) { + try { + return -1 !== Function.toString.call(t).indexOf("[native code]"); + } catch (n) { + return "function" == typeof t; + } +} +module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7550 +(module) { + +function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { + return !!t; + }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); +} +module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9291 +(module) { + +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 1156 +(module) { + +function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7752 +(module) { + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 1869 +(module) { + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2897 +(module, __unused_webpack_exports, __webpack_require__) { + +var defineProperty = __webpack_require__(3693); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { + defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; +} +module.exports = _objectSpread2, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 1847 +(module, __unused_webpack_exports, __webpack_require__) { + +var objectWithoutPropertiesLoose = __webpack_require__(4893); +function _objectWithoutProperties(e, t) { + if (null == e) return {}; + var o, + r, + i = objectWithoutPropertiesLoose(e, t); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); + } + return i; +} +module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 4893 +(module) { + +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (-1 !== e.indexOf(n)) continue; + t[n] = r[n]; + } + return t; +} +module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 8452 +(module, __unused_webpack_exports, __webpack_require__) { + +var _typeof = (__webpack_require__(3738)["default"]); +var assertThisInitialized = __webpack_require__(2475); +function _possibleConstructorReturn(t, e) { + if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; + if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); + return assertThisInitialized(t); +} +module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 6993 +(module, __unused_webpack_exports, __webpack_require__) { + +var regeneratorDefine = __webpack_require__(5546); +function _regenerator() { + /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ + var e, + t, + r = "function" == typeof Symbol ? Symbol : {}, + n = r.iterator || "@@iterator", + o = r.toStringTag || "@@toStringTag"; + function i(r, n, o, i) { + var c = n && n.prototype instanceof Generator ? n : Generator, + u = Object.create(c.prototype); + return regeneratorDefine(u, "_invoke", function (r, n, o) { + var i, + c, + u, + f = 0, + p = o || [], + y = !1, + G = { + p: 0, + n: 0, + v: e, + a: d, + f: d.bind(e, 4), + d: function d(t, r) { + return i = t, c = 0, u = e, G.n = r, a; + } + }; + function d(r, n) { + for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { + var o, + i = p[t], + d = G.p, + l = i[2]; + r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); + } + if (o || r > 1) return a; + throw y = !0, n; + } + return function (o, p, l) { + if (f > 1) throw TypeError("Generator is already running"); + for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { + i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); + try { + if (f = 2, i) { + if (c || (o = "next"), t = i[o]) { + if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); + if (!t.done) return t; + u = t.value, c < 2 && (c = 0); + } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); + i = e; + } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; + } catch (t) { + i = e, c = 1, u = t; + } finally { + f = 1; + } + } + return { + value: t, + done: y + }; + }; + }(r, o, i), !0), u; + } + var a = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + t = Object.getPrototypeOf; + var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () { + return this; + }), t), + u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); + function f(e) { + return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function () { + return this; + }), regeneratorDefine(u, "toString", function () { + return "[object Generator]"; + }), (module.exports = _regenerator = function _regenerator() { + return { + w: i, + m: f + }; + }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); +} +module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 5546 +(module) { + +function _regeneratorDefine(e, r, n, t) { + var i = Object.defineProperty; + try { + i({}, "", {}); + } catch (e) { + i = 0; + } + module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) { + function o(r, n) { + _regeneratorDefine(e, r, function (e) { + return this._invoke(r, n, e); + }); + } + r ? i ? i(e, r, { + value: n, + enumerable: !t, + configurable: !t, + writable: !t + }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t); +} +module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 579 +(module, __unused_webpack_exports, __webpack_require__) { + +var _typeof = (__webpack_require__(3738)["default"]); +function _regeneratorValues(e) { + if (null != e) { + var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], + r = 0; + if (t) return t.call(e); + if ("function" == typeof e.next) return e; + if (!isNaN(e.length)) return { + next: function next() { + return e && r >= e.length && (e = void 0), { + value: e && e[r++], + done: !e + }; + } + }; + } + throw new TypeError(_typeof(e) + " is not iterable"); +} +module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 5636 +(module) { + +function _setPrototypeOf(t, e) { + return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e); +} +module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 5715 +(module, __unused_webpack_exports, __webpack_require__) { + +var arrayWithHoles = __webpack_require__(2987); +var iterableToArrayLimit = __webpack_require__(1156); +var unsupportedIterableToArray = __webpack_require__(7122); +var nonIterableRest = __webpack_require__(7752); +function _slicedToArray(r, e) { + return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); +} +module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9552 +(module, __unused_webpack_exports, __webpack_require__) { + +var getPrototypeOf = __webpack_require__(3072); +function _superPropBase(t, o) { + for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t));); + return t; +} +module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9901 +(module, __unused_webpack_exports, __webpack_require__) { + +var get = __webpack_require__(2395); +var getPrototypeOf = __webpack_require__(3072); +function _superPropGet(t, o, e, r) { + var p = get(getPrototypeOf(1 & r ? t.prototype : t), o, e); + return 2 & r && "function" == typeof p ? function (t) { + return p.apply(e, t); + } : p; +} +module.exports = _superPropGet, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 8053 +(module, __unused_webpack_exports, __webpack_require__) { + +var arrayWithHoles = __webpack_require__(2987); +var iterableToArray = __webpack_require__(9291); +var unsupportedIterableToArray = __webpack_require__(7122); +var nonIterableRest = __webpack_require__(7752); +function _toArray(r) { + return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest(); +} +module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 1132 +(module, __unused_webpack_exports, __webpack_require__) { + +var arrayWithoutHoles = __webpack_require__(5901); +var iterableToArray = __webpack_require__(9291); +var unsupportedIterableToArray = __webpack_require__(7122); +var nonIterableSpread = __webpack_require__(1869); +function _toConsumableArray(r) { + return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread(); +} +module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 9045 +(module, __unused_webpack_exports, __webpack_require__) { + +var _typeof = (__webpack_require__(3738)["default"]); +function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7736 +(module, __unused_webpack_exports, __webpack_require__) { + +var _typeof = (__webpack_require__(3738)["default"]); +var toPrimitive = __webpack_require__(9045); +function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 3738 +(module) { + +function _typeof(o) { + "@babel/helpers - typeof"; + + return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); +} +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 7122 +(module, __unused_webpack_exports, __webpack_require__) { + +var arrayLikeToArray = __webpack_require__(79); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + 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; + } +} +module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 2958 +(module, __unused_webpack_exports, __webpack_require__) { + +var OverloadYield = __webpack_require__(5172); +function _wrapAsyncGenerator(e) { + return function () { + return new AsyncGenerator(e.apply(this, arguments)); + }; +} +function AsyncGenerator(e) { + var t, n; + function resume(t, n) { + try { + var r = e[t](n), + o = r.value, + u = o instanceof OverloadYield; + Promise.resolve(u ? o.v : o).then(function (n) { + if (u) { + var i = "return" === t && o.k ? t : "next"; + if (!o.k || n.done) return resume(i, n); + n = e[i](n).value; + } + settle(!!r.done, n); + }, function (e) { + resume("throw", e); + }); + } catch (e) { + settle(2, e); + } + } + function settle(e, r) { + 2 === e ? t.reject(r) : t.resolve({ + value: r, + done: e + }), (t = t.next) ? resume(t.key, t.arg) : n = null; + } + this._invoke = function (e, r) { + return new Promise(function (o, u) { + var i = { + key: e, + arg: r, + resolve: o, + reject: u, + next: null + }; + n ? n = n.next = i : (t = n = i, resume(e, r)); + }); + }, "function" != typeof e["return"] && (this["return"] = void 0); +} +AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { + return this; +}, AsyncGenerator.prototype.next = function (e) { + return this._invoke("next", e); +}, AsyncGenerator.prototype["throw"] = function (e) { + return this._invoke("throw", e); +}, AsyncGenerator.prototype["return"] = function (e) { + return this._invoke("return", e); +}; +module.exports = _wrapAsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 1837 +(module, __unused_webpack_exports, __webpack_require__) { + +var getPrototypeOf = __webpack_require__(3072); +var setPrototypeOf = __webpack_require__(5636); +var isNativeFunction = __webpack_require__(691); +var construct = __webpack_require__(9646); +function _wrapNativeSuper(t) { + var r = "function" == typeof Map ? new Map() : void 0; + return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) { + if (null === t || !isNativeFunction(t)) return t; + if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); + if (void 0 !== r) { + if (r.has(t)) return r.get(t); + r.set(t, Wrapper); + } + function Wrapper() { + return construct(t, arguments, getPrototypeOf(this).constructor); + } + return Wrapper.prototype = Object.create(t.prototype, { + constructor: { + value: Wrapper, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), setPrototypeOf(Wrapper, t); + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _wrapNativeSuper(t); +} +module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }, + +/***/ 8250 +(module, __unused_webpack_exports, __webpack_require__) { + +var _typeof = (__webpack_require__(3738)["default"]); +var setPrototypeOf = __webpack_require__(5636); +var inherits = __webpack_require__(9511); +function _wrapRegExp() { + module.exports = _wrapRegExp = function _wrapRegExp(e, r) { + return new BabelRegExp(e, void 0, r); + }, module.exports.__esModule = true, module.exports["default"] = module.exports; + var e = RegExp.prototype, + r = new WeakMap(); + function BabelRegExp(e, t, p) { + var o = RegExp(e, t); + return r.set(o, p || r.get(e)), setPrototypeOf(o, BabelRegExp.prototype); + } + function buildGroups(e, t) { + var p = r.get(t); + return Object.keys(p).reduce(function (r, t) { + var o = p[t]; + if ("number" == typeof o) r[t] = e[o];else { + for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; + r[t] = e[o[i]]; + } + return r; + }, Object.create(null)); + } + return inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { + var t = e.exec.call(this, r); + if (t) { + t.groups = buildGroups(t, this); + var p = t.indices; + p && (p.groups = buildGroups(p, this)); + } + return t; + }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { + if ("string" == typeof p) { + var o = r.get(this); + return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { + if ("" === t) return e; + var p = o[r]; + return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; + })); + } + if ("function" == typeof p) { + var i = this; + return e[Symbol.replace].call(this, t, function () { + var e = arguments; + return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); + }); + } + return e[Symbol.replace].call(this, t, p); + }, _wrapRegExp.apply(this, arguments); +} +module.exports = _wrapRegExp, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ } + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be in strict mode. +(() => { +"use strict"; + +;// ./node_modules/@babel/runtime/helpers/esm/regeneratorDefine.js +function _regeneratorDefine(e, r, n, t) { + var i = Object.defineProperty; + try { + i({}, "", {}); + } catch (e) { + i = 0; + } + _regeneratorDefine = function regeneratorDefine(e, r, n, t) { + function o(r, n) { + _regeneratorDefine(e, r, function (e) { + return this._invoke(r, n, e); + }); + } + r ? i ? i(e, r, { + value: n, + enumerable: !t, + configurable: !t, + writable: !t + }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); + }, _regeneratorDefine(e, r, n, t); +} + +;// ./node_modules/@babel/runtime/helpers/esm/regenerator.js + +function _regenerator() { + /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ + var e, + t, + r = "function" == typeof Symbol ? Symbol : {}, + n = r.iterator || "@@iterator", + o = r.toStringTag || "@@toStringTag"; + function i(r, n, o, i) { + var c = n && n.prototype instanceof Generator ? n : Generator, + u = Object.create(c.prototype); + return _regeneratorDefine(u, "_invoke", function (r, n, o) { + var i, + c, + u, + f = 0, + p = o || [], + y = !1, + G = { + p: 0, + n: 0, + v: e, + a: d, + f: d.bind(e, 4), + d: function d(t, r) { + return i = t, c = 0, u = e, G.n = r, a; + } + }; + function d(r, n) { + for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { + var o, + i = p[t], + d = G.p, + l = i[2]; + r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); + } + if (o || r > 1) return a; + throw y = !0, n; + } + return function (o, p, l) { + if (f > 1) throw TypeError("Generator is already running"); + for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { + i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); + try { + if (f = 2, i) { + if (c || (o = "next"), t = i[o]) { + if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); + if (!t.done) return t; + u = t.value, c < 2 && (c = 0); + } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); + i = e; + } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; + } catch (t) { + i = e, c = 1, u = t; + } finally { + f = 1; + } + } + return { + value: t, + done: y + }; + }; + }(r, o, i), !0), u; + } + var a = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + t = Object.getPrototypeOf; + var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () { + return this; + }), t), + u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); + function f(e) { + return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () { + return this; + }), _regeneratorDefine(u, "toString", function () { + return "[object Generator]"; + }), (_regenerator = function _regenerator() { + return { + w: i, + m: f + }; + })(); +} + +;// ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +function asyncGeneratorStep(n, t, e, r, o, a, c) { + try { + var i = n[a](c), + u = i.value; + } catch (n) { + return void e(n); + } + i.done ? t(u) : Promise.resolve(u).then(r, o); +} +function _asyncToGenerator(n) { + return function () { + var t = this, + e = arguments; + return new Promise(function (r, o) { + var a = n.apply(t, e); + function _next(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "next", n); + } + function _throw(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); + } + _next(void 0); + }); + }; +} + +;// external "path" +const external_path_namespaceObject = require("path"); +var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_namespaceObject); +;// external "fs" +const external_fs_namespaceObject = require("fs"); +var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_namespaceObject); +;// ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} + +;// ./node_modules/@babel/runtime/helpers/esm/typeof.js +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} + +;// ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js + +function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} + +;// ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js + + +function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} + +;// ./node_modules/@babel/runtime/helpers/esm/createClass.js + +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } +} +function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; +} + +;// external "os" +const external_os_namespaceObject = require("os"); +;// ./node_modules/@actions/core/lib/utils.js +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +//# sourceMappingURL=utils.js.map +;// ./node_modules/@actions/core/lib/command.js + + + + +/** + * Issues a command to the GitHub Actions runner + * + * @param command - The command name to issue + * @param properties - Additional properties for the command (key-value pairs) + * @param message - The message to include with the command + * @remarks + * This function outputs a specially formatted string to stdout that the Actions + * runner interprets as a command. These commands can control workflow behavior, + * set outputs, create annotations, mask values, and more. + * + * Command Format: + * ::name key=value,key=value::message + * + * @example + * ```typescript + * // Issue a warning annotation + * issueCommand('warning', {}, 'This is a warning message'); + * // Output: ::warning::This is a warning message + * + * // Set an environment variable + * issueCommand('set-env', { name: 'MY_VAR' }, 'some value'); + * // Output: ::set-env name=MY_VAR::some value + * + * // Add a secret mask + * issueCommand('add-mask', {}, 'secretValue123'); + * // Output: ::add-mask::secretValue123 + * ``` + * + * @internal + * This is an internal utility function that powers the public API functions + * such as setSecret, warning, error, and exportVariable. + */ +function issueCommand(command, properties, message) { + var cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + external_os_namespaceObject.EOL); +} +function issue(name) { + var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + issueCommand(name, {}, message); +} +var CMD_STRING = '::'; +var Command = /*#__PURE__*/function () { + function Command(command, properties, message) { + _classCallCheck(this, Command); + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + return _createClass(Command, [{ + key: "toString", + value: function toString() { + var cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + var first = true; + for (var key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + var val = this.properties[key]; + if (val) { + if (first) { + first = false; + } else { + cmdStr += ','; + } + cmdStr += "".concat(key, "=").concat(escapeProperty(val)); + } + } + } + } + cmdStr += "".concat(CMD_STRING).concat(escapeData(this.message)); + return cmdStr; + } + }]); +}(); +function escapeData(s) { + return toCommandValue(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return toCommandValue(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map +;// external "crypto" +const external_crypto_namespaceObject = require("crypto"); +;// ./node_modules/@actions/core/lib/file-command.js +// For internal use, subject to change. +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ + + + + +function issueFileCommand(command, message) { + var filePath = process.env["GITHUB_".concat(command)]; + if (!filePath) { + throw new Error("Unable to find environment variable for file command ".concat(command)); + } + if (!external_fs_namespaceObject.existsSync(filePath)) { + throw new Error("Missing file at path: ".concat(filePath)); + } + external_fs_namespaceObject.appendFileSync(filePath, "".concat(toCommandValue(message)).concat(external_os_namespaceObject.EOL), { + encoding: 'utf8' + }); +} +function prepareKeyValueMessage(key, value) { + var delimiter = "ghadelimiter_".concat(external_crypto_namespaceObject.randomUUID()); + var convertedValue = toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error("Unexpected input: name should not contain the delimiter \"".concat(delimiter, "\"")); + } + if (convertedValue.includes(delimiter)) { + throw new Error("Unexpected input: value should not contain the delimiter \"".concat(delimiter, "\"")); + } + return "".concat(key, "<<").concat(delimiter).concat(external_os_namespaceObject.EOL).concat(convertedValue).concat(external_os_namespaceObject.EOL).concat(delimiter); +} +//# sourceMappingURL=file-command.js.map +// EXTERNAL MODULE: external "http" +var external_http_ = __webpack_require__(8611); +// EXTERNAL MODULE: external "https" +var external_https_ = __webpack_require__(5692); +// EXTERNAL MODULE: ./node_modules/tunnel/index.js +var tunnel = __webpack_require__(8506); +// EXTERNAL MODULE: ./node_modules/undici/index.js +var undici = __webpack_require__(7800); +;// ./node_modules/@actions/http-client/lib/index.js +/* unused harmony import specifier */ var _createForOfIteratorHelper; +/* unused harmony import specifier */ var lib_regenerator; +/* unused harmony import specifier */ var lib_createClass; +/* unused harmony import specifier */ var lib_classCallCheck; +/* unused harmony import specifier */ var _callSuper; +/* unused harmony import specifier */ var _inherits; +/* unused harmony import specifier */ var _wrapNativeSuper; +/* unused harmony import specifier */ var http; +/* unused harmony import specifier */ var https; +/* unused harmony import specifier */ var pm; +/* unused harmony import specifier */ var lib_tunnel; +/* unused harmony import specifier */ var ProxyAgent; + + + + + + + +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + + + + +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes || (HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers || (Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes || (MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + var proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +var HttpRedirectCodes = [HttpCodes.MovedPermanently, HttpCodes.ResourceMoved, HttpCodes.SeeOther, HttpCodes.TemporaryRedirect, HttpCodes.PermanentRedirect]; +var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; +var RetryableHttpVerbs = (/* unused pure expression or super */ null && (['OPTIONS', 'GET', 'DELETE', 'HEAD'])); +var ExponentialBackoffCeiling = 10; +var ExponentialBackoffTimeSlice = 5; +var HttpClientError = /*#__PURE__*/(/* unused pure expression or super */ null && (function (_Error) { + function HttpClientError(message, statusCode) { + var _this; + lib_classCallCheck(this, HttpClientError); + _this = _callSuper(this, HttpClientError, [message]); + _this.name = 'HttpClientError'; + _this.statusCode = statusCode; + Object.setPrototypeOf(_this, HttpClientError.prototype); + return _this; + } + _inherits(HttpClientError, _Error); + return lib_createClass(HttpClientError); +}(/*#__PURE__*/_wrapNativeSuper(Error)))); +var HttpClientResponse = /*#__PURE__*/(/* unused pure expression or super */ null && (function () { + function HttpClientResponse(message) { + lib_classCallCheck(this, HttpClientResponse); + this.message = message; + } + return lib_createClass(HttpClientResponse, [{ + key: "readBody", + value: function readBody() { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee2() { + var _this2 = this; + return lib_regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + return _context2.a(2, new Promise(function (resolve) { + return __awaiter(_this2, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee() { + var output; + return lib_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + output = Buffer.alloc(0); + this.message.on('data', function (chunk) { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', function () { + resolve(output.toString()); + }); + case 1: + return _context.a(2); + } + }, _callee, this); + })); + })); + } + }, _callee2); + })); + } + }, { + key: "readBodyBuffer", + value: function readBodyBuffer() { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee4() { + var _this3 = this; + return lib_regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + return _context4.a(2, new Promise(function (resolve) { + return __awaiter(_this3, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee3() { + var chunks; + return lib_regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + chunks = []; + this.message.on('data', function (chunk) { + chunks.push(chunk); + }); + this.message.on('end', function () { + resolve(Buffer.concat(chunks)); + }); + case 1: + return _context3.a(2); + } + }, _callee3, this); + })); + })); + } + }, _callee4); + })); + } + }]); +}())); +function isHttps(requestUrl) { + var parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +var HttpClient = /*#__PURE__*/(/* unused pure expression or super */ null && (function () { + function HttpClient(userAgent, handlers, requestOptions) { + lib_classCallCheck(this, HttpClient); + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = this._getUserAgentWithOrchestrationId(userAgent); + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + return lib_createClass(HttpClient, [{ + key: "options", + value: function options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee5() { + return lib_regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + return _context5.a(2, this.request('OPTIONS', requestUrl, null, additionalHeaders || {})); + } + }, _callee5, this); + })); + } + }, { + key: "get", + value: function get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee6() { + return lib_regenerator().w(function (_context6) { + while (1) switch (_context6.n) { + case 0: + return _context6.a(2, this.request('GET', requestUrl, null, additionalHeaders || {})); + } + }, _callee6, this); + })); + } + }, { + key: "del", + value: function del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee7() { + return lib_regenerator().w(function (_context7) { + while (1) switch (_context7.n) { + case 0: + return _context7.a(2, this.request('DELETE', requestUrl, null, additionalHeaders || {})); + } + }, _callee7, this); + })); + } + }, { + key: "post", + value: function post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee8() { + return lib_regenerator().w(function (_context8) { + while (1) switch (_context8.n) { + case 0: + return _context8.a(2, this.request('POST', requestUrl, data, additionalHeaders || {})); + } + }, _callee8, this); + })); + } + }, { + key: "patch", + value: function patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee9() { + return lib_regenerator().w(function (_context9) { + while (1) switch (_context9.n) { + case 0: + return _context9.a(2, this.request('PATCH', requestUrl, data, additionalHeaders || {})); + } + }, _callee9, this); + })); + } + }, { + key: "put", + value: function put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee0() { + return lib_regenerator().w(function (_context0) { + while (1) switch (_context0.n) { + case 0: + return _context0.a(2, this.request('PUT', requestUrl, data, additionalHeaders || {})); + } + }, _callee0, this); + })); + } + }, { + key: "head", + value: function head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee1() { + return lib_regenerator().w(function (_context1) { + while (1) switch (_context1.n) { + case 0: + return _context1.a(2, this.request('HEAD', requestUrl, null, additionalHeaders || {})); + } + }, _callee1, this); + })); + } + }, { + key: "sendStream", + value: function sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee10() { + return lib_regenerator().w(function (_context10) { + while (1) switch (_context10.n) { + case 0: + return _context10.a(2, this.request(verb, requestUrl, stream, additionalHeaders)); + } + }, _callee10, this); + })); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + }, { + key: "getJson", + value: function getJson(requestUrl_1) { + return __awaiter(this, arguments, void 0, function (requestUrl) { + var _this4 = this; + var additionalHeaders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + return /*#__PURE__*/lib_regenerator().m(function _callee11() { + var res; + return lib_regenerator().w(function (_context11) { + while (1) switch (_context11.n) { + case 0: + additionalHeaders[Headers.Accept] = _this4._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + _context11.n = 1; + return _this4.get(requestUrl, additionalHeaders); + case 1: + res = _context11.v; + return _context11.a(2, _this4._processResponse(res, _this4.requestOptions)); + } + }, _callee11); + })(); + }); + } + }, { + key: "postJson", + value: function postJson(requestUrl_1, obj_1) { + return __awaiter(this, arguments, void 0, function (requestUrl, obj) { + var _this5 = this; + var additionalHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return /*#__PURE__*/lib_regenerator().m(function _callee12() { + var data, res; + return lib_regenerator().w(function (_context12) { + while (1) switch (_context12.n) { + case 0: + data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = _this5._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = _this5._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + _context12.n = 1; + return _this5.post(requestUrl, data, additionalHeaders); + case 1: + res = _context12.v; + return _context12.a(2, _this5._processResponse(res, _this5.requestOptions)); + } + }, _callee12); + })(); + }); + } + }, { + key: "putJson", + value: function putJson(requestUrl_1, obj_1) { + return __awaiter(this, arguments, void 0, function (requestUrl, obj) { + var _this6 = this; + var additionalHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return /*#__PURE__*/lib_regenerator().m(function _callee13() { + var data, res; + return lib_regenerator().w(function (_context13) { + while (1) switch (_context13.n) { + case 0: + data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = _this6._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = _this6._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + _context13.n = 1; + return _this6.put(requestUrl, data, additionalHeaders); + case 1: + res = _context13.v; + return _context13.a(2, _this6._processResponse(res, _this6.requestOptions)); + } + }, _callee13); + })(); + }); + } + }, { + key: "patchJson", + value: function patchJson(requestUrl_1, obj_1) { + return __awaiter(this, arguments, void 0, function (requestUrl, obj) { + var _this7 = this; + var additionalHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return /*#__PURE__*/lib_regenerator().m(function _callee14() { + var data, res; + return lib_regenerator().w(function (_context14) { + while (1) switch (_context14.n) { + case 0: + data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = _this7._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = _this7._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson); + _context14.n = 1; + return _this7.patch(requestUrl, data, additionalHeaders); + case 1: + res = _context14.v; + return _context14.a(2, _this7._processResponse(res, _this7.requestOptions)); + } + }, _callee14); + })(); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + }, { + key: "request", + value: function request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee15() { + var parsedUrl, info, maxTries, numTries, response, authenticationHandler, _iterator, _step, handler, redirectsRemaining, redirectUrl, parsedRedirectUrl, header, _t; + return lib_regenerator().w(function (_context15) { + while (1) switch (_context15.p = _context15.n) { + case 0: + if (!this._disposed) { + _context15.n = 1; + break; + } + throw new Error('Client has already been disposed.'); + case 1: + parsedUrl = new URL(requestUrl); + info = this._prepareRequest(verb, parsedUrl, headers); // Only perform retries on reads since writes may not be idempotent. + maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; + numTries = 0; + case 2: + _context15.n = 3; + return this.requestRaw(info, data); + case 3: + response = _context15.v; + if (!(response && response.message && response.message.statusCode === HttpCodes.Unauthorized)) { + _context15.n = 12; + break; + } + authenticationHandler = void 0; + _iterator = _createForOfIteratorHelper(this.handlers); + _context15.p = 4; + _iterator.s(); + case 5: + if ((_step = _iterator.n()).done) { + _context15.n = 7; + break; + } + handler = _step.value; + if (!handler.canHandleAuthentication(response)) { + _context15.n = 6; + break; + } + authenticationHandler = handler; + return _context15.a(3, 7); + case 6: + _context15.n = 5; + break; + case 7: + _context15.n = 9; + break; + case 8: + _context15.p = 8; + _t = _context15.v; + _iterator.e(_t); + case 9: + _context15.p = 9; + _iterator.f(); + return _context15.f(9); + case 10: + if (!authenticationHandler) { + _context15.n = 11; + break; + } + return _context15.a(2, authenticationHandler.handleAuthentication(this, info, data)); + case 11: + return _context15.a(2, response); + case 12: + redirectsRemaining = this._maxRedirects; + case 13: + if (!(response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0)) { + _context15.n = 18; + break; + } + redirectUrl = response.message.headers['location']; + if (redirectUrl) { + _context15.n = 14; + break; + } + return _context15.a(3, 18); + case 14: + parsedRedirectUrl = new URL(redirectUrl); + if (!(parsedUrl.protocol === 'https:' && parsedUrl.protocol !== parsedRedirectUrl.protocol && !this._allowRedirectDowngrade)) { + _context15.n = 15; + break; + } + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + case 15: + _context15.n = 16; + return response.readBody(); + case 16: + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + _context15.n = 17; + return this.requestRaw(info, data); + case 17: + response = _context15.v; + redirectsRemaining--; + _context15.n = 13; + break; + case 18: + if (!(!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode))) { + _context15.n = 19; + break; + } + return _context15.a(2, response); + case 19: + numTries += 1; + if (!(numTries < maxTries)) { + _context15.n = 21; + break; + } + _context15.n = 20; + return response.readBody(); + case 20: + _context15.n = 21; + return this._performExponentialBackoff(numTries); + case 21: + if (numTries < maxTries) { + _context15.n = 2; + break; + } + case 22: + return _context15.a(2, response); + } + }, _callee15, this, [[4, 8, 9, 10]]); + })); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + }, { + key: "dispose", + value: function dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + }, { + key: "requestRaw", + value: function requestRaw(info, data) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee16() { + var _this8 = this; + return lib_regenerator().w(function (_context16) { + while (1) switch (_context16.n) { + case 0: + return _context16.a(2, new Promise(function (resolve, reject) { + function callbackForResult(err, res) { + if (err) { + reject(err); + } else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } else { + resolve(res); + } + } + _this8.requestRawWithCallback(info, data, callbackForResult); + })); + } + }, _callee16); + })); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + }, { + key: "requestRawWithCallback", + value: function requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + var callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + var req = info.httpModule.request(info.options, function (msg) { + var res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + var socket; + req.on('socket', function (sock) { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, function () { + if (socket) { + socket.end(); + } + handleResult(new Error("Request timeout: ".concat(info.options.path))); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + }, { + key: "getAgent", + value: function getAgent(serverUrl) { + var parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + }, { + key: "getAgentDispatcher", + value: function getAgentDispatcher(serverUrl) { + var parsedUrl = new URL(serverUrl); + var proxyUrl = pm.getProxyUrl(parsedUrl); + var useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; + } + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); + } + }, { + key: "_prepareRequest", + value: function _prepareRequest(method, requestUrl, headers) { + var info = {}; + info.parsedUrl = requestUrl; + var usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + var defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; + info.options.path = (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + var _iterator2 = _createForOfIteratorHelper(this.handlers), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var handler = _step2.value; + handler.prepareRequest(info.options); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + return info; + } + }, { + key: "_mergeHeaders", + value: function _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + /** + * Gets an existing header value or returns a default. + * Handles converting number header values to strings since HTTP headers must be strings. + * Note: This returns string | string[] since some headers can have multiple values. + * For headers that must always be a single string (like Content-Type), use the + * specialized _getExistingOrDefaultContentTypeHeader method instead. + */ + }, { + key: "_getExistingOrDefaultHeader", + value: function _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + var clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + var headerValue = lowercaseKeys(this.requestOptions.headers)[header]; + if (headerValue) { + clientHeader = typeof headerValue === 'number' ? headerValue.toString() : headerValue; + } + } + var additionalValue = additionalHeaders[header]; + if (additionalValue !== undefined) { + return typeof additionalValue === 'number' ? additionalValue.toString() : additionalValue; + } + if (clientHeader !== undefined) { + return clientHeader; + } + return _default; + } + /** + * Specialized version of _getExistingOrDefaultHeader for Content-Type header. + * Always returns a single string (not an array) since Content-Type should be a single value. + * Converts arrays to comma-separated strings and numbers to strings to ensure type safety. + * This was split from _getExistingOrDefaultHeader to provide stricter typing for callers + * that assign the result to places expecting a string (e.g., additionalHeaders[Headers.ContentType]). + */ + }, { + key: "_getExistingOrDefaultContentTypeHeader", + value: function _getExistingOrDefaultContentTypeHeader(additionalHeaders, _default) { + var clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + var headerValue = lowercaseKeys(this.requestOptions.headers)[Headers.ContentType]; + if (headerValue) { + if (typeof headerValue === 'number') { + clientHeader = String(headerValue); + } else if (Array.isArray(headerValue)) { + clientHeader = headerValue.join(', '); + } else { + clientHeader = headerValue; + } + } + } + var additionalValue = additionalHeaders[Headers.ContentType]; + // Return the first non-undefined value, converting numbers or arrays to strings if necessary + if (additionalValue !== undefined) { + if (typeof additionalValue === 'number') { + return String(additionalValue); + } else if (Array.isArray(additionalValue)) { + return additionalValue.join(', '); + } else { + return additionalValue; + } + } + if (clientHeader !== undefined) { + return clientHeader; + } + return _default; + } + }, { + key: "_getAgent", + value: function _getAgent(parsedUrl) { + var agent; + var proxyUrl = pm.getProxyUrl(parsedUrl); + var useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (!useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + var usingSsl = parsedUrl.protocol === 'https:'; + var maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + var agentOptions = { + maxSockets: maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, (proxyUrl.username || proxyUrl.password) && { + proxyAuth: "".concat(proxyUrl.username, ":").concat(proxyUrl.password) + }), { + host: proxyUrl.hostname, + port: proxyUrl.port + }) + }; + var tunnelAgent; + var overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? lib_tunnel.httpsOverHttps : lib_tunnel.httpsOverHttp; + } else { + tunnelAgent = overHttps ? lib_tunnel.httpOverHttps : lib_tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if tunneling agent isn't assigned create a new agent + if (!agent) { + var options = { + keepAlive: this._keepAlive, + maxSockets: maxSockets + }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + }, { + key: "_getProxyAgentDispatcher", + value: function _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + var proxyAgent; + if (this._keepAlive) { + proxyAgent = this._proxyAgentDispatcher; + } + // if agent is already assigned use that agent. + if (proxyAgent) { + return proxyAgent; + } + var usingSsl = parsedUrl.protocol === 'https:'; + proxyAgent = new ProxyAgent(Object.assign({ + uri: proxyUrl.href, + pipelining: !this._keepAlive ? 0 : 1 + }, (proxyUrl.username || proxyUrl.password) && { + token: "Basic ".concat(Buffer.from("".concat(proxyUrl.username, ":").concat(proxyUrl.password)).toString('base64')) + })); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); + } + return proxyAgent; + } + }, { + key: "_getUserAgentWithOrchestrationId", + value: function _getUserAgentWithOrchestrationId(userAgent) { + var baseUserAgent = userAgent || 'actions/http-client'; + var orchId = process.env['ACTIONS_ORCHESTRATION_ID']; + if (orchId) { + // Sanitize the orchestration ID to ensure it contains only valid characters + // Valid characters: 0-9, a-z, _, -, . + var sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, '_'); + return "".concat(baseUserAgent, " actions_orchestration_id/").concat(sanitizedId); + } + return baseUserAgent; + } + }, { + key: "_performExponentialBackoff", + value: function _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee17() { + var ms; + return lib_regenerator().w(function (_context17) { + while (1) switch (_context17.n) { + case 0: + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return _context17.a(2, new Promise(function (resolve) { + return setTimeout(function () { + return resolve(); + }, ms); + })); + } + }, _callee17); + })); + } + }, { + key: "_processResponse", + value: function _processResponse(res, options) { + return __awaiter(this, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee19() { + var _this9 = this; + return lib_regenerator().w(function (_context19) { + while (1) switch (_context19.n) { + case 0: + return _context19.a(2, new Promise(function (resolve, reject) { + return __awaiter(_this9, void 0, void 0, /*#__PURE__*/lib_regenerator().m(function _callee18() { + var statusCode, response, dateTimeDeserializer, obj, contents, msg, err, _t2; + return lib_regenerator().w(function (_context18) { + while (1) switch (_context18.p = _context18.n) { + case 0: + dateTimeDeserializer = function _dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + var a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + }; + statusCode = res.message.statusCode || 0; + response = { + statusCode: statusCode, + result: null, + headers: {} + }; // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + _context18.p = 1; + _context18.n = 2; + return res.readBody(); + case 2: + contents = _context18.v; + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + _context18.n = 4; + break; + case 3: + _context18.p = 3; + _t2 = _context18.v; + case 4: + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } else { + msg = "Failed request: (".concat(statusCode, ")"); + } + err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } else { + resolve(response); + } + case 5: + return _context18.a(2); + } + }, _callee18, null, [[1, 3]]); + })); + })); + } + }, _callee19); + })); + } + }]); +}())); +var lowercaseKeys = function lowercaseKeys(obj) { + return Object.keys(obj).reduce(function (c, k) { + return c[k.toLowerCase()] = obj[k], c; + }, {}); +}; +//# sourceMappingURL=index.js.map +;// ./node_modules/@actions/http-client/lib/auth.js +/* unused harmony import specifier */ var auth_regenerator; +/* unused harmony import specifier */ var auth_classCallCheck; +/* unused harmony import specifier */ var auth_createClass; + + + +var auth_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var BasicCredentialHandler = /*#__PURE__*/(/* unused pure expression or super */ null && (function () { + function BasicCredentialHandler(username, password) { + auth_classCallCheck(this, BasicCredentialHandler); + this.username = username; + this.password = password; + } + return auth_createClass(BasicCredentialHandler, [{ + key: "prepareRequest", + value: function prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = "Basic ".concat(Buffer.from("".concat(this.username, ":").concat(this.password)).toString('base64')); + } + // This handler cannot handle 401 + }, { + key: "canHandleAuthentication", + value: function canHandleAuthentication() { + return false; + } + }, { + key: "handleAuthentication", + value: function handleAuthentication() { + return auth_awaiter(this, void 0, void 0, /*#__PURE__*/auth_regenerator().m(function _callee() { + return auth_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + throw new Error('not implemented'); + case 1: + return _context.a(2); + } + }, _callee); + })); + } + }]); +}())); +var BearerCredentialHandler = /*#__PURE__*/(/* unused pure expression or super */ null && (function () { + function BearerCredentialHandler(token) { + auth_classCallCheck(this, BearerCredentialHandler); + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + return auth_createClass(BearerCredentialHandler, [{ + key: "prepareRequest", + value: function prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = "Bearer ".concat(this.token); + } + // This handler cannot handle 401 + }, { + key: "canHandleAuthentication", + value: function canHandleAuthentication() { + return false; + } + }, { + key: "handleAuthentication", + value: function handleAuthentication() { + return auth_awaiter(this, void 0, void 0, /*#__PURE__*/auth_regenerator().m(function _callee2() { + return auth_regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + throw new Error('not implemented'); + case 1: + return _context2.a(2); + } + }, _callee2); + })); + } + }]); +}())); +var PersonalAccessTokenCredentialHandler = /*#__PURE__*/(/* unused pure expression or super */ null && (function () { + function PersonalAccessTokenCredentialHandler(token) { + auth_classCallCheck(this, PersonalAccessTokenCredentialHandler); + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + return auth_createClass(PersonalAccessTokenCredentialHandler, [{ + key: "prepareRequest", + value: function prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = "Basic ".concat(Buffer.from("PAT:".concat(this.token)).toString('base64')); + } + // This handler cannot handle 401 + }, { + key: "canHandleAuthentication", + value: function canHandleAuthentication() { + return false; + } + }, { + key: "handleAuthentication", + value: function handleAuthentication() { + return auth_awaiter(this, void 0, void 0, /*#__PURE__*/auth_regenerator().m(function _callee3() { + return auth_regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + throw new Error('not implemented'); + case 1: + return _context3.a(2); + } + }, _callee3); + })); + } + }]); +}())); +//# sourceMappingURL=auth.js.map +;// ./node_modules/@actions/core/lib/oidc-utils.js +/* unused harmony import specifier */ var oidc_utils_regenerator; +/* unused harmony import specifier */ var oidc_utils_classCallCheck; +/* unused harmony import specifier */ var oidc_utils_createClass; +/* unused harmony import specifier */ var oidc_utils_HttpClient; +/* unused harmony import specifier */ var oidc_utils_BearerCredentialHandler; +/* unused harmony import specifier */ var debug; +/* unused harmony import specifier */ var setSecret; + + + +var oidc_utils_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + + +var OidcClient = /*#__PURE__*/(/* unused pure expression or super */ null && (function () { + function OidcClient() { + oidc_utils_classCallCheck(this, OidcClient); + } + return oidc_utils_createClass(OidcClient, null, [{ + key: "createHttpClient", + value: function createHttpClient() { + var allowRetry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + var maxRetry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; + var requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new oidc_utils_HttpClient('actions/oidc-client', [new oidc_utils_BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + }, { + key: "getRequestToken", + value: function getRequestToken() { + var token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + }, { + key: "getIDTokenUrl", + value: function getIDTokenUrl() { + var runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + }, { + key: "getCall", + value: function getCall(id_token_url) { + return oidc_utils_awaiter(this, void 0, void 0, /*#__PURE__*/oidc_utils_regenerator().m(function _callee() { + var _a, httpclient, res, id_token; + return oidc_utils_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + httpclient = OidcClient.createHttpClient(); + _context.n = 1; + return httpclient.getJson(id_token_url)["catch"](function (error) { + throw new Error("Failed to get ID Token. \n \n Error Code : ".concat(error.statusCode, "\n \n Error Message: ").concat(error.message)); + }); + case 1: + res = _context.v; + id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (id_token) { + _context.n = 2; + break; + } + throw new Error('Response json body do not have ID Token field'); + case 2: + return _context.a(2, id_token); + } + }, _callee); + })); + } + }, { + key: "getIDToken", + value: function getIDToken(audience) { + return oidc_utils_awaiter(this, void 0, void 0, /*#__PURE__*/oidc_utils_regenerator().m(function _callee2() { + var id_token_url, encodedAudience, id_token, _t; + return oidc_utils_regenerator().w(function (_context2) { + while (1) switch (_context2.p = _context2.n) { + case 0: + _context2.p = 0; + // New ID Token is requested from action service + id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + encodedAudience = encodeURIComponent(audience); + id_token_url = "".concat(id_token_url, "&audience=").concat(encodedAudience); + } + debug("ID token url is ".concat(id_token_url)); + _context2.n = 1; + return OidcClient.getCall(id_token_url); + case 1: + id_token = _context2.v; + setSecret(id_token); + return _context2.a(2, id_token); + case 2: + _context2.p = 2; + _t = _context2.v; + throw new Error("Error message: ".concat(_t.message)); + case 3: + return _context2.a(2); + } + }, _callee2, null, [[0, 2]]); + })); + } + }]); +}())); +//# sourceMappingURL=oidc-utils.js.map +;// ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} + +;// ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} + +;// ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} + +;// ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js + +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + 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; + } +} + +;// ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +;// ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + + + + +function _slicedToArray(r, e) { + return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); +} + +;// ./node_modules/@actions/core/lib/summary.js + + + + +var summary_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + +var access = external_fs_namespaceObject.promises.access, + appendFile = external_fs_namespaceObject.promises.appendFile, + writeFile = external_fs_namespaceObject.promises.writeFile; +var SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +var SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +var Summary = /*#__PURE__*/function () { + function Summary() { + _classCallCheck(this, Summary); + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + return _createClass(Summary, [{ + key: "filePath", + value: function filePath() { + return summary_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() { + var pathFromEnv, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + if (!this._filePath) { + _context.n = 1; + break; + } + return _context.a(2, this._filePath); + case 1: + pathFromEnv = process.env[SUMMARY_ENV_VAR]; + if (pathFromEnv) { + _context.n = 2; + break; + } + throw new Error("Unable to find environment variable for $".concat(SUMMARY_ENV_VAR, ". Check if your runtime environment supports job summaries.")); + case 2: + _context.p = 2; + _context.n = 3; + return access(pathFromEnv, external_fs_namespaceObject.constants.R_OK | external_fs_namespaceObject.constants.W_OK); + case 3: + _context.n = 5; + break; + case 4: + _context.p = 4; + _t = _context.v; + throw new Error("Unable to access summary file: '".concat(pathFromEnv, "'. Check if the file has correct read/write permissions.")); + case 5: + this._filePath = pathFromEnv; + return _context.a(2, this._filePath); + } + }, _callee, this, [[2, 4]]); + })); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + }, { + key: "wrap", + value: function wrap(tag, content) { + var attrs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var htmlAttrs = Object.entries(attrs).map(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + key = _ref2[0], + value = _ref2[1]; + return " ".concat(key, "=\"").concat(value, "\""); + }).join(''); + if (!content) { + return "<".concat(tag).concat(htmlAttrs, ">"); + } + return "<".concat(tag).concat(htmlAttrs, ">").concat(content, ""); + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + }, { + key: "write", + value: function write(options) { + return summary_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() { + var overwrite, filePath, writeFunc; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + _context2.n = 1; + return this.filePath(); + case 1: + filePath = _context2.v; + writeFunc = overwrite ? writeFile : appendFile; + _context2.n = 2; + return writeFunc(filePath, this._buffer, { + encoding: 'utf8' + }); + case 2: + return _context2.a(2, this.emptyBuffer()); + } + }, _callee2, this); + })); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + }, { + key: "clear", + value: function clear() { + return summary_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee3() { + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + return _context3.a(2, this.emptyBuffer().write({ + overwrite: true + })); + } + }, _callee3, this); + })); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + }, { + key: "stringify", + value: function stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + }, { + key: "isEmptyBuffer", + value: function isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + }, { + key: "emptyBuffer", + value: function emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + }, { + key: "addRaw", + value: function addRaw(text) { + var addEOL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + }, { + key: "addEOL", + value: function addEOL() { + return this.addRaw(external_os_namespaceObject.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + }, { + key: "addCodeBlock", + value: function addCodeBlock(code, lang) { + var attrs = Object.assign({}, lang && { + lang: lang + }); + var element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + }, { + key: "addList", + value: function addList(items) { + var _this = this; + var ordered = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var tag = ordered ? 'ol' : 'ul'; + var listItems = items.map(function (item) { + return _this.wrap('li', item); + }).join(''); + var element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + }, { + key: "addTable", + value: function addTable(rows) { + var _this2 = this; + var tableBody = rows.map(function (row) { + var cells = row.map(function (cell) { + if (typeof cell === 'string') { + return _this2.wrap('td', cell); + } + var header = cell.header, + data = cell.data, + colspan = cell.colspan, + rowspan = cell.rowspan; + var tag = header ? 'th' : 'td'; + var attrs = Object.assign(Object.assign({}, colspan && { + colspan: colspan + }), rowspan && { + rowspan: rowspan + }); + return _this2.wrap(tag, data, attrs); + }).join(''); + return _this2.wrap('tr', cells); + }).join(''); + var element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + }, { + key: "addDetails", + value: function addDetails(label, content) { + var element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + }, { + key: "addImage", + value: function addImage(src, alt, options) { + var _ref3 = options || {}, + width = _ref3.width, + height = _ref3.height; + var attrs = Object.assign(Object.assign({}, width && { + width: width + }), height && { + height: height + }); + var element = this.wrap('img', null, Object.assign({ + src: src, + alt: alt + }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + }, { + key: "addHeading", + value: function addHeading(text, level) { + var tag = "h".concat(level); + var allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) ? tag : 'h1'; + var element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + }, { + key: "addSeparator", + value: function addSeparator() { + var element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + }, { + key: "addBreak", + value: function addBreak() { + var element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + }, { + key: "addQuote", + value: function addQuote(text, cite) { + var attrs = Object.assign({}, cite && { + cite: cite + }); + var element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + }, { + key: "addLink", + value: function addLink(text, href) { + var element = this.wrap('a', text, { + href: href + }); + return this.addRaw(element).addEOL(); + } + }]); +}(); +var _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +var markdownSummary = (/* unused pure expression or super */ null && (_summary)); +var summary = (/* unused pure expression or super */ null && (_summary)); +//# sourceMappingURL=summary.js.map +;// ./node_modules/@actions/core/lib/path-utils.js +/* unused harmony import specifier */ var path; + +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +//# sourceMappingURL=path-utils.js.map +// EXTERNAL MODULE: external "string_decoder" +var external_string_decoder_ = __webpack_require__(3193); +;// ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js + +function createForOfIteratorHelper_createForOfIteratorHelper(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { + t && (r = t); + var _n = 0, + F = function F() {}; + return { + s: F, + n: function n() { + return _n >= r.length ? { + done: !0 + } : { + done: !1, + value: r[_n++] + }; + }, + e: function e(r) { + throw r; + }, + f: F + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, + a = !0, + u = !1; + return { + s: function s() { + t = t.call(r); + }, + n: function n() { + var r = t.next(); + return a = r.done, r; + }, + e: function e(r) { + u = !0, o = r; + }, + f: function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + } + }; +} + +;// ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +function _getPrototypeOf(t) { + return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }, _getPrototypeOf(t); +} + +;// ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { + return !!t; + })(); +} + +;// ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +function _assertThisInitialized(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; +} + +;// ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + + +function _possibleConstructorReturn(t, e) { + if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; + if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); + return _assertThisInitialized(t); +} + +;// ./node_modules/@babel/runtime/helpers/esm/callSuper.js + + + +function callSuper_callSuper(t, o, e) { + return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); +} + +;// ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +function _setPrototypeOf(t, e) { + return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, _setPrototypeOf(t, e); +} + +;// ./node_modules/@babel/runtime/helpers/esm/inherits.js + +function inherits_inherits(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 + } + }), Object.defineProperty(t, "prototype", { + writable: !1 + }), e && _setPrototypeOf(t, e); +} + +// EXTERNAL MODULE: external "events" +var external_events_ = __webpack_require__(4434); +;// external "child_process" +const external_child_process_namespaceObject = require("child_process"); +// EXTERNAL MODULE: external "assert" +var external_assert_ = __webpack_require__(2613); +;// ./node_modules/@actions/io/lib/io-util.js +/* unused harmony import specifier */ var io_util_regenerator; +/* unused harmony import specifier */ var fs; + + +var io_util_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + +var _fs$promises = external_fs_namespaceObject.promises, + chmod = _fs$promises.chmod, + copyFile = _fs$promises.copyFile, + lstat = _fs$promises.lstat, + mkdir = _fs$promises.mkdir, + io_util_open = _fs$promises.open, + readdir = _fs$promises.readdir, + rename = _fs$promises.rename, + rm = _fs$promises.rm, + rmdir = _fs$promises.rmdir, + stat = _fs$promises.stat, + symlink = _fs$promises.symlink, + unlink = _fs$promises.unlink; +// export const {open} = 'fs' + +var IS_WINDOWS = process.platform === 'win32'; +/** + * Custom implementation of readlink to ensure Windows junctions + * maintain trailing backslash for backward compatibility with Node.js < 24 + * + * In Node.js 20, Windows junctions (directory symlinks) always returned paths + * with trailing backslashes. Node.js 24 removed this behavior, which breaks + * code that relied on this format for path operations. + * + * This implementation restores the Node 20 behavior by adding a trailing + * backslash to all junction results on Windows. + */ +function readlink(fsPath) { + return io_util_awaiter(this, void 0, void 0, /*#__PURE__*/io_util_regenerator().m(function _callee() { + var result; + return io_util_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _context.n = 1; + return fs.promises.readlink(fsPath); + case 1: + result = _context.v; + if (!(IS_WINDOWS && !result.endsWith('\\'))) { + _context.n = 2; + break; + } + return _context.a(2, "".concat(result, "\\")); + case 2: + return _context.a(2, result); + } + }, _callee); + })); +} +// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691 +var UV_FS_O_EXLOCK = 0x10000000; +var READONLY = external_fs_namespaceObject.constants.O_RDONLY; +function exists(fsPath) { + return io_util_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() { + var _t; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.p = _context2.n) { + case 0: + _context2.p = 0; + _context2.n = 1; + return stat(fsPath); + case 1: + _context2.n = 4; + break; + case 2: + _context2.p = 2; + _t = _context2.v; + if (!(_t.code === 'ENOENT')) { + _context2.n = 3; + break; + } + return _context2.a(2, false); + case 3: + throw _t; + case 4: + return _context2.a(2, true); + } + }, _callee2, null, [[0, 2]]); + })); +} +function isDirectory(fsPath_1) { + return io_util_awaiter(this, arguments, void 0, function (fsPath) { + var useStat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return /*#__PURE__*/io_util_regenerator().m(function _callee3() { + var stats, _t2; + return io_util_regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + if (!useStat) { + _context3.n = 2; + break; + } + _context3.n = 1; + return stat(fsPath); + case 1: + _t2 = _context3.v; + _context3.n = 4; + break; + case 2: + _context3.n = 3; + return lstat(fsPath); + case 3: + _t2 = _context3.v; + case 4: + stats = _t2; + return _context3.a(2, stats.isDirectory()); + } + }, _callee3); + })(); + }); +} +/** + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). + */ +function isRooted(p) { + p = normalizeSeparators(p); + if (!p) { + throw new Error('isRooted() parameter "p" cannot be empty'); + } + if (IS_WINDOWS) { + return p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello +; // e.g. C: or C:\hello + } + return p.startsWith('/'); +} +/** + * Best effort attempt to determine whether a file exists and is executable. + * @param filePath file path to check + * @param extensions additional file extensions to try + * @return if file exists and is executable, returns the file path. otherwise empty string. + */ +function tryGetExecutablePath(filePath, extensions) { + return io_util_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee4() { + var stats, upperExt, originalFilePath, _iterator, _step, extension, directory, upperName, _iterator2, _step2, actualName, _t3, _t4, _t5, _t6, _t7, _t8; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.p = _context4.n) { + case 0: + stats = undefined; + _context4.p = 1; + _context4.n = 2; + return stat(filePath); + case 2: + stats = _context4.v; + _context4.n = 4; + break; + case 3: + _context4.p = 3; + _t3 = _context4.v; + if (_t3.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log("Unexpected error attempting to determine if executable file exists '".concat(filePath, "': ").concat(_t3)); + } + case 4: + if (!(stats && stats.isFile())) { + _context4.n = 7; + break; + } + if (!IS_WINDOWS) { + _context4.n = 6; + break; + } + // on Windows, test for valid extension + upperExt = external_path_namespaceObject.extname(filePath).toUpperCase(); + if (!extensions.some(function (validExt) { + return validExt.toUpperCase() === upperExt; + })) { + _context4.n = 5; + break; + } + return _context4.a(2, filePath); + case 5: + _context4.n = 7; + break; + case 6: + if (!isUnixExecutable(stats)) { + _context4.n = 7; + break; + } + return _context4.a(2, filePath); + case 7: + // try each extension + originalFilePath = filePath; + _iterator = createForOfIteratorHelper_createForOfIteratorHelper(extensions); + _context4.p = 8; + _iterator.s(); + case 9: + if ((_step = _iterator.n()).done) { + _context4.n = 27; + break; + } + extension = _step.value; + filePath = originalFilePath + extension; + stats = undefined; + _context4.p = 10; + _context4.n = 11; + return stat(filePath); + case 11: + stats = _context4.v; + _context4.n = 13; + break; + case 12: + _context4.p = 12; + _t4 = _context4.v; + if (_t4.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log("Unexpected error attempting to determine if executable file exists '".concat(filePath, "': ").concat(_t4)); + } + case 13: + if (!(stats && stats.isFile())) { + _context4.n = 26; + break; + } + if (!IS_WINDOWS) { + _context4.n = 25; + break; + } + _context4.p = 14; + directory = external_path_namespaceObject.dirname(filePath); + upperName = external_path_namespaceObject.basename(filePath).toUpperCase(); + _t5 = createForOfIteratorHelper_createForOfIteratorHelper; + _context4.n = 15; + return readdir(directory); + case 15: + _iterator2 = _t5(_context4.v); + _context4.p = 16; + _iterator2.s(); + case 17: + if ((_step2 = _iterator2.n()).done) { + _context4.n = 19; + break; + } + actualName = _step2.value; + if (!(upperName === actualName.toUpperCase())) { + _context4.n = 18; + break; + } + filePath = external_path_namespaceObject.join(directory, actualName); + return _context4.a(3, 19); + case 18: + _context4.n = 17; + break; + case 19: + _context4.n = 21; + break; + case 20: + _context4.p = 20; + _t6 = _context4.v; + _iterator2.e(_t6); + case 21: + _context4.p = 21; + _iterator2.f(); + return _context4.f(21); + case 22: + _context4.n = 24; + break; + case 23: + _context4.p = 23; + _t7 = _context4.v; + // eslint-disable-next-line no-console + console.log("Unexpected error attempting to determine the actual case of the file '".concat(filePath, "': ").concat(_t7)); + case 24: + return _context4.a(2, filePath); + case 25: + if (!isUnixExecutable(stats)) { + _context4.n = 26; + break; + } + return _context4.a(2, filePath); + case 26: + _context4.n = 9; + break; + case 27: + _context4.n = 29; + break; + case 28: + _context4.p = 28; + _t8 = _context4.v; + _iterator.e(_t8); + case 29: + _context4.p = 29; + _iterator.f(); + return _context4.f(29); + case 30: + return _context4.a(2, ''); + } + }, _callee4, null, [[16, 20, 21, 22], [14, 23], [10, 12], [8, 28, 29, 30], [1, 3]]); + })); +} +function normalizeSeparators(p) { + p = p || ''; + if (IS_WINDOWS) { + // convert slashes on Windows + p = p.replace(/\//g, '\\'); + // remove redundant slashes + return p.replace(/\\\\+/g, '\\'); + } + // remove redundant slashes + return p.replace(/\/\/+/g, '/'); +} +// on Mac/Linux, test the execute bit +// R W X R W X R W X +// 256 128 64 32 16 8 4 2 1 +function isUnixExecutable(stats) { + return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && process.getgid !== undefined && stats.gid === process.getgid() || (stats.mode & 64) > 0 && process.getuid !== undefined && stats.uid === process.getuid(); +} +// Get the path of cmd.exe in windows +function getCmdPath() { + var _a; + return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : "cmd.exe"; +} +//# sourceMappingURL=io-util.js.map +;// ./node_modules/@actions/io/lib/io.js +/* unused harmony import specifier */ var io_createForOfIteratorHelper; +/* unused harmony import specifier */ var io_regenerator; +/* unused harmony import specifier */ var ok; +/* unused harmony import specifier */ var io_path; +/* unused harmony import specifier */ var ioUtil; + + +var io_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + + +/** + * Copies a file or folder. + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * + * @param source source path + * @param dest destination path + * @param options optional. See CopyOptions. + */ +function cp(source_1, dest_1) { + return io_awaiter(this, arguments, void 0, function (source, dest) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return /*#__PURE__*/io_regenerator().m(function _callee() { + var _readCopyOptions, force, recursive, copySourceDirectory, destStat, newDest, sourceStat, _t; + return io_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _readCopyOptions = readCopyOptions(options), force = _readCopyOptions.force, recursive = _readCopyOptions.recursive, copySourceDirectory = _readCopyOptions.copySourceDirectory; + _context.n = 1; + return ioUtil.exists(dest); + case 1: + if (!_context.v) { + _context.n = 3; + break; + } + _context.n = 2; + return ioUtil.stat(dest); + case 2: + _t = _context.v; + _context.n = 4; + break; + case 3: + _t = null; + case 4: + destStat = _t; + if (!(destStat && destStat.isFile() && !force)) { + _context.n = 5; + break; + } + return _context.a(2); + case 5: + // If dest is an existing directory, should copy inside. + newDest = destStat && destStat.isDirectory() && copySourceDirectory ? io_path.join(dest, io_path.basename(source)) : dest; + _context.n = 6; + return ioUtil.exists(source); + case 6: + if (_context.v) { + _context.n = 7; + break; + } + throw new Error("no such file or directory: ".concat(source)); + case 7: + _context.n = 8; + return ioUtil.stat(source); + case 8: + sourceStat = _context.v; + if (!sourceStat.isDirectory()) { + _context.n = 11; + break; + } + if (recursive) { + _context.n = 9; + break; + } + throw new Error("Failed to copy. ".concat(source, " is a directory, but tried to copy without recursive flag.")); + case 9: + _context.n = 10; + return cpDirRecursive(source, newDest, 0, force); + case 10: + _context.n = 13; + break; + case 11: + if (!(io_path.relative(source, newDest) === '')) { + _context.n = 12; + break; + } + throw new Error("'".concat(newDest, "' and '").concat(source, "' are the same file")); + case 12: + _context.n = 13; + return io_copyFile(source, newDest, force); + case 13: + return _context.a(2); + } + }, _callee); + })(); + }); +} +/** + * Moves a path. + * + * @param source source path + * @param dest destination path + * @param options optional. See MoveOptions. + */ +function mv(source_1, dest_1) { + return io_awaiter(this, arguments, void 0, function (source, dest) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return /*#__PURE__*/io_regenerator().m(function _callee2() { + var destExists; + return io_regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + _context2.n = 1; + return ioUtil.exists(dest); + case 1: + if (!_context2.v) { + _context2.n = 7; + break; + } + destExists = true; + _context2.n = 2; + return ioUtil.isDirectory(dest); + case 2: + if (!_context2.v) { + _context2.n = 4; + break; + } + // If dest is directory copy src into dest + dest = io_path.join(dest, io_path.basename(source)); + _context2.n = 3; + return ioUtil.exists(dest); + case 3: + destExists = _context2.v; + case 4: + if (!destExists) { + _context2.n = 7; + break; + } + if (!(options.force == null || options.force)) { + _context2.n = 6; + break; + } + _context2.n = 5; + return rmRF(dest); + case 5: + _context2.n = 7; + break; + case 6: + throw new Error('Destination already exists'); + case 7: + _context2.n = 8; + return mkdirP(io_path.dirname(dest)); + case 8: + _context2.n = 9; + return ioUtil.rename(source, dest); + case 9: + return _context2.a(2); + } + }, _callee2); + })(); + }); +} +/** + * Remove a path recursively with force + * + * @param inputPath path to remove + */ +function rmRF(inputPath) { + return io_awaiter(this, void 0, void 0, /*#__PURE__*/io_regenerator().m(function _callee3() { + var _t2; + return io_regenerator().w(function (_context3) { + while (1) switch (_context3.p = _context3.n) { + case 0: + if (!ioUtil.IS_WINDOWS) { + _context3.n = 1; + break; + } + if (!/[*"<>|]/.test(inputPath)) { + _context3.n = 1; + break; + } + throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); + case 1: + _context3.p = 1; + _context3.n = 2; + return ioUtil.rm(inputPath, { + force: true, + maxRetries: 3, + recursive: true, + retryDelay: 300 + }); + case 2: + _context3.n = 4; + break; + case 3: + _context3.p = 3; + _t2 = _context3.v; + throw new Error("File was unable to be removed ".concat(_t2)); + case 4: + return _context3.a(2); + } + }, _callee3, null, [[1, 3]]); + })); +} +/** + * Make a directory. Creates the full path with folders in between + * Will throw if it fails + * + * @param fsPath path to create + * @returns Promise + */ +function mkdirP(fsPath) { + return io_awaiter(this, void 0, void 0, /*#__PURE__*/io_regenerator().m(function _callee4() { + return io_regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + ok(fsPath, 'a path argument must be provided'); + _context4.n = 1; + return ioUtil.mkdir(fsPath, { + recursive: true + }); + case 1: + return _context4.a(2); + } + }, _callee4); + })); +} +/** + * Returns path of a tool had the tool actually been invoked. Resolves via paths. + * If you check and the tool does not exist, it will throw. + * + * @param tool name of the tool + * @param check whether to check if tool exists + * @returns Promise path to tool + */ +function which(tool, check) { + return io_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee5() { + var result, matches; + return _regenerator().w(function (_context5) { + while (1) switch (_context5.n) { + case 0: + if (tool) { + _context5.n = 1; + break; + } + throw new Error("parameter 'tool' is required"); + case 1: + if (!check) { + _context5.n = 5; + break; + } + _context5.n = 2; + return which(tool, false); + case 2: + result = _context5.v; + if (result) { + _context5.n = 4; + break; + } + if (!IS_WINDOWS) { + _context5.n = 3; + break; + } + throw new Error("Unable to locate executable file: ".concat(tool, ". Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.")); + case 3: + throw new Error("Unable to locate executable file: ".concat(tool, ". Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.")); + case 4: + return _context5.a(2, result); + case 5: + _context5.n = 6; + return findInPath(tool); + case 6: + matches = _context5.v; + if (!(matches && matches.length > 0)) { + _context5.n = 7; + break; + } + return _context5.a(2, matches[0]); + case 7: + return _context5.a(2, ''); + } + }, _callee5); + })); +} +/** + * Returns a list of all occurrences of the given tool on the system path. + * + * @returns Promise the paths of the tool + */ +function findInPath(tool) { + return io_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee6() { + var extensions, _iterator, _step, extension, filePath, directories, _iterator2, _step2, p, matches, _i, _directories, directory, _filePath; + return _regenerator().w(function (_context6) { + while (1) switch (_context6.n) { + case 0: + if (tool) { + _context6.n = 1; + break; + } + throw new Error("parameter 'tool' is required"); + case 1: + // build the list of extensions to try + extensions = []; + if (IS_WINDOWS && process.env['PATHEXT']) { + _iterator = createForOfIteratorHelper_createForOfIteratorHelper(process.env['PATHEXT'].split(external_path_namespaceObject.delimiter)); + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + extension = _step.value; + if (extension) { + extensions.push(extension); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + // if it's rooted, return it if exists. otherwise return empty. + if (!isRooted(tool)) { + _context6.n = 4; + break; + } + _context6.n = 2; + return tryGetExecutablePath(tool, extensions); + case 2: + filePath = _context6.v; + if (!filePath) { + _context6.n = 3; + break; + } + return _context6.a(2, [filePath]); + case 3: + return _context6.a(2, []); + case 4: + if (!tool.includes(external_path_namespaceObject.sep)) { + _context6.n = 5; + break; + } + return _context6.a(2, []); + case 5: + // build the list of directories + // + // Note, technically "where" checks the current directory on Windows. From a toolkit perspective, + // it feels like we should not do this. Checking the current directory seems like more of a use + // case of a shell, and the which() function exposed by the toolkit should strive for consistency + // across platforms. + directories = []; + if (process.env.PATH) { + _iterator2 = createForOfIteratorHelper_createForOfIteratorHelper(process.env.PATH.split(external_path_namespaceObject.delimiter)); + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + p = _step2.value; + if (p) { + directories.push(p); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + // find all matches + matches = []; + _i = 0, _directories = directories; + case 6: + if (!(_i < _directories.length)) { + _context6.n = 9; + break; + } + directory = _directories[_i]; + _context6.n = 7; + return tryGetExecutablePath(external_path_namespaceObject.join(directory, tool), extensions); + case 7: + _filePath = _context6.v; + if (_filePath) { + matches.push(_filePath); + } + case 8: + _i++; + _context6.n = 6; + break; + case 9: + return _context6.a(2, matches); + } + }, _callee6); + })); +} +function readCopyOptions(options) { + var force = options.force == null ? true : options.force; + var recursive = Boolean(options.recursive); + var copySourceDirectory = options.copySourceDirectory == null ? true : Boolean(options.copySourceDirectory); + return { + force: force, + recursive: recursive, + copySourceDirectory: copySourceDirectory + }; +} +function cpDirRecursive(sourceDir, destDir, currentDepth, force) { + return io_awaiter(this, void 0, void 0, /*#__PURE__*/io_regenerator().m(function _callee7() { + var files, _iterator3, _step3, fileName, srcFile, destFile, srcFileStat, _t3, _t4, _t5; + return io_regenerator().w(function (_context7) { + while (1) switch (_context7.p = _context7.n) { + case 0: + if (!(currentDepth >= 255)) { + _context7.n = 1; + break; + } + return _context7.a(2); + case 1: + currentDepth++; + _context7.n = 2; + return mkdirP(destDir); + case 2: + _context7.n = 3; + return ioUtil.readdir(sourceDir); + case 3: + files = _context7.v; + _iterator3 = io_createForOfIteratorHelper(files); + _context7.p = 4; + _iterator3.s(); + case 5: + if ((_step3 = _iterator3.n()).done) { + _context7.n = 10; + break; + } + fileName = _step3.value; + srcFile = "".concat(sourceDir, "/").concat(fileName); + destFile = "".concat(destDir, "/").concat(fileName); + _context7.n = 6; + return ioUtil.lstat(srcFile); + case 6: + srcFileStat = _context7.v; + if (!srcFileStat.isDirectory()) { + _context7.n = 8; + break; + } + _context7.n = 7; + return cpDirRecursive(srcFile, destFile, currentDepth, force); + case 7: + _context7.n = 9; + break; + case 8: + _context7.n = 9; + return io_copyFile(srcFile, destFile, force); + case 9: + _context7.n = 5; + break; + case 10: + _context7.n = 12; + break; + case 11: + _context7.p = 11; + _t3 = _context7.v; + _iterator3.e(_t3); + case 12: + _context7.p = 12; + _iterator3.f(); + return _context7.f(12); + case 13: + _t4 = ioUtil; + _t5 = destDir; + _context7.n = 14; + return ioUtil.stat(sourceDir); + case 14: + _context7.n = 15; + return _t4.chmod.call(_t4, _t5, _context7.v.mode); + case 15: + return _context7.a(2); + } + }, _callee7, null, [[4, 11, 12, 13]]); + })); +} +// Buffered file copy +function io_copyFile(srcFile, destFile, force) { + return io_awaiter(this, void 0, void 0, /*#__PURE__*/io_regenerator().m(function _callee8() { + var symlinkFull, _t6, _t7; + return io_regenerator().w(function (_context8) { + while (1) switch (_context8.p = _context8.n) { + case 0: + _context8.n = 1; + return ioUtil.lstat(srcFile); + case 1: + if (!_context8.v.isSymbolicLink()) { + _context8.n = 10; + break; + } + _context8.p = 2; + _context8.n = 3; + return ioUtil.lstat(destFile); + case 3: + _context8.n = 4; + return ioUtil.unlink(destFile); + case 4: + _context8.n = 7; + break; + case 5: + _context8.p = 5; + _t6 = _context8.v; + if (!(_t6.code === 'EPERM')) { + _context8.n = 7; + break; + } + _context8.n = 6; + return ioUtil.chmod(destFile, '0666'); + case 6: + _context8.n = 7; + return ioUtil.unlink(destFile); + case 7: + _context8.n = 8; + return ioUtil.readlink(srcFile); + case 8: + symlinkFull = _context8.v; + _context8.n = 9; + return ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null); + case 9: + _context8.n = 13; + break; + case 10: + _context8.n = 11; + return ioUtil.exists(destFile); + case 11: + _t7 = !_context8.v; + if (_t7) { + _context8.n = 12; + break; + } + _t7 = force; + case 12: + if (!_t7) { + _context8.n = 13; + break; + } + _context8.n = 13; + return ioUtil.copyFile(srcFile, destFile); + case 13: + return _context8.a(2); + } + }, _callee8, null, [[2, 5]]); + })); +} +//# sourceMappingURL=io.js.map +;// external "timers" +const external_timers_namespaceObject = require("timers"); +;// ./node_modules/@actions/exec/lib/toolrunner.js + + + + + + +var toolrunner_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + + + + + + +/* eslint-disable @typescript-eslint/unbound-method */ +var toolrunner_IS_WINDOWS = process.platform === 'win32'; +/* + * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way. + */ +var ToolRunner = /*#__PURE__*/function (_events$EventEmitter) { + function ToolRunner(toolPath, args, options) { + var _this; + _classCallCheck(this, ToolRunner); + _this = callSuper_callSuper(this, ToolRunner); + if (!toolPath) { + throw new Error("Parameter 'toolPath' cannot be null or empty."); + } + _this.toolPath = toolPath; + _this.args = args || []; + _this.options = options || {}; + return _this; + } + inherits_inherits(ToolRunner, _events$EventEmitter); + return _createClass(ToolRunner, [{ + key: "_debug", + value: function _debug(message) { + if (this.options.listeners && this.options.listeners.debug) { + this.options.listeners.debug(message); + } + } + }, { + key: "_getCommandString", + value: function _getCommandString(options, noPrefix) { + var toolPath = this._getSpawnFileName(); + var args = this._getSpawnArgs(options); + var cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool + if (toolrunner_IS_WINDOWS) { + // Windows + cmd file + if (this._isCmdFile()) { + cmd += toolPath; + var _iterator = createForOfIteratorHelper_createForOfIteratorHelper(args), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var a = _step.value; + cmd += " ".concat(a); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + // Windows + verbatim + else if (options.windowsVerbatimArguments) { + cmd += "\"".concat(toolPath, "\""); + var _iterator2 = createForOfIteratorHelper_createForOfIteratorHelper(args), + _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _a = _step2.value; + cmd += " ".concat(_a); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + // Windows (regular) + else { + cmd += this._windowsQuoteCmdArg(toolPath); + var _iterator3 = createForOfIteratorHelper_createForOfIteratorHelper(args), + _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _a2 = _step3.value; + cmd += " ".concat(this._windowsQuoteCmdArg(_a2)); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + } else { + // OSX/Linux - this can likely be improved with some form of quoting. + // creating processes on Unix is fundamentally different than Windows. + // on Unix, execvp() takes an arg array. + cmd += toolPath; + var _iterator4 = createForOfIteratorHelper_createForOfIteratorHelper(args), + _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _a3 = _step4.value; + cmd += " ".concat(_a3); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + return cmd; + } + }, { + key: "_processLineBuffer", + value: function _processLineBuffer(data, strBuffer, onLine) { + try { + var s = strBuffer + data.toString(); + var n = s.indexOf(external_os_namespaceObject.EOL); + while (n > -1) { + var line = s.substring(0, n); + onLine(line); + // the rest of the string ... + s = s.substring(n + external_os_namespaceObject.EOL.length); + n = s.indexOf(external_os_namespaceObject.EOL); + } + return s; + } catch (err) { + // streaming lines to console is best effort. Don't fail a build. + this._debug("error processing line. Failed with error ".concat(err)); + return ''; + } + } + }, { + key: "_getSpawnFileName", + value: function _getSpawnFileName() { + if (toolrunner_IS_WINDOWS) { + if (this._isCmdFile()) { + return process.env['COMSPEC'] || 'cmd.exe'; + } + } + return this.toolPath; + } + }, { + key: "_getSpawnArgs", + value: function _getSpawnArgs(options) { + if (toolrunner_IS_WINDOWS) { + if (this._isCmdFile()) { + var argline = "/D /S /C \"".concat(this._windowsQuoteCmdArg(this.toolPath)); + var _iterator5 = createForOfIteratorHelper_createForOfIteratorHelper(this.args), + _step5; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var a = _step5.value; + argline += ' '; + argline += options.windowsVerbatimArguments ? a : this._windowsQuoteCmdArg(a); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + argline += '"'; + return [argline]; + } + } + return this.args; + } + }, { + key: "_endsWith", + value: function _endsWith(str, end) { + return str.endsWith(end); + } + }, { + key: "_isCmdFile", + value: function _isCmdFile() { + var upperToolPath = this.toolPath.toUpperCase(); + return this._endsWith(upperToolPath, '.CMD') || this._endsWith(upperToolPath, '.BAT'); + } + }, { + key: "_windowsQuoteCmdArg", + value: function _windowsQuoteCmdArg(arg) { + // for .exe, apply the normal quoting rules that libuv applies + if (!this._isCmdFile()) { + return this._uvQuoteCmdArg(arg); + } + // otherwise apply quoting rules specific to the cmd.exe command line parser. + // the libuv rules are generic and are not designed specifically for cmd.exe + // command line parser. + // + // for a detailed description of the cmd.exe command line parser, refer to + // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912 + // need quotes for empty arg + if (!arg) { + return '""'; + } + // determine whether the arg needs to be quoted + var cmdSpecialChars = [' ', '\t', '&', '(', ')', '[', ']', '{', '}', '^', '=', ';', '!', "'", '+', ',', '`', '~', '|', '<', '>', '"']; + var needsQuotes = false; + var _iterator6 = createForOfIteratorHelper_createForOfIteratorHelper(arg), + _step6; + try { + var _loop = function _loop() { + var _char = _step6.value; + if (cmdSpecialChars.some(function (x) { + return x === _char; + })) { + needsQuotes = true; + return 1; // break + } + }; + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + if (_loop()) break; + } + // short-circuit if quotes not needed + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + if (!needsQuotes) { + return arg; + } + // the following quoting rules are very similar to the rules that by libuv applies. + // + // 1) wrap the string in quotes + // + // 2) double-up quotes - i.e. " => "" + // + // this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately + // doesn't work well with a cmd.exe command line. + // + // note, replacing " with "" also works well if the arg is passed to a downstream .NET console app. + // for example, the command line: + // foo.exe "myarg:""my val""" + // is parsed by a .NET console app into an arg array: + // [ "myarg:\"my val\"" ] + // which is the same end result when applying libuv quoting rules. although the actual + // command line from libuv quoting rules would look like: + // foo.exe "myarg:\"my val\"" + // + // 3) double-up slashes that precede a quote, + // e.g. hello \world => "hello \world" + // hello\"world => "hello\\""world" + // hello\\"world => "hello\\\\""world" + // hello world\ => "hello world\\" + // + // technically this is not required for a cmd.exe command line, or the batch argument parser. + // the reasons for including this as a .cmd quoting rule are: + // + // a) this is optimized for the scenario where the argument is passed from the .cmd file to an + // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule. + // + // b) it's what we've been doing previously (by deferring to node default behavior) and we + // haven't heard any complaints about that aspect. + // + // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be + // escaped when used on the command line directly - even though within a .cmd file % can be escaped + // by using %%. + // + // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts + // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing. + // + // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would + // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the + // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args + // to an external program. + // + // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file. + // % can be escaped within a .cmd file. + var reverse = '"'; + var quoteHit = true; + for (var i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; // double the slash + } else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '"'; // double the quote + } else { + quoteHit = false; + } + } + reverse += '"'; + return reverse.split('').reverse().join(''); + } + }, { + key: "_uvQuoteCmdArg", + value: function _uvQuoteCmdArg(arg) { + // Tool runner wraps child_process.spawn() and needs to apply the same quoting as + // Node in certain cases where the undocumented spawn option windowsVerbatimArguments + // is used. + // + // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV, + // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details), + // pasting copyright notice from Node within this function: + // + // Copyright Joyent, Inc. and other Node contributors. All rights reserved. + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to + // deal in the Software without restriction, including without limitation the + // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + // sell copies of the Software, and to permit persons to whom the Software is + // furnished to do so, subject to the following conditions: + // + // The above copyright notice and this permission notice shall be included in + // all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + // IN THE SOFTWARE. + if (!arg) { + // Need double quotation for empty argument + return '""'; + } + if (!arg.includes(' ') && !arg.includes('\t') && !arg.includes('"')) { + // No quotation needed + return arg; + } + if (!arg.includes('"') && !arg.includes('\\')) { + // No embedded double quotes or backslashes, so I can just wrap + // quote marks around the whole thing. + return "\"".concat(arg, "\""); + } + // Expected input/output: + // input : hello"world + // output: "hello\"world" + // input : hello""world + // output: "hello\"\"world" + // input : hello\world + // output: hello\world + // input : hello\\world + // output: hello\\world + // input : hello\"world + // output: "hello\\\"world" + // input : hello\\"world + // output: "hello\\\\\"world" + // input : hello world\ + // output: "hello world\\" - note the comment in libuv actually reads "hello world\" + // but it appears the comment is wrong, it should be "hello world\\" + var reverse = '"'; + var quoteHit = true; + for (var i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; + } else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '\\'; + } else { + quoteHit = false; + } + } + reverse += '"'; + return reverse.split('').reverse().join(''); + } + }, { + key: "_cloneExecOptions", + value: function _cloneExecOptions(options) { + options = options || {}; + var result = { + cwd: options.cwd || process.cwd(), + env: options.env || process.env, + silent: options.silent || false, + windowsVerbatimArguments: options.windowsVerbatimArguments || false, + failOnStdErr: options.failOnStdErr || false, + ignoreReturnCode: options.ignoreReturnCode || false, + delay: options.delay || 10000 + }; + result.outStream = options.outStream || process.stdout; + result.errStream = options.errStream || process.stderr; + return result; + } + }, { + key: "_getSpawnOptions", + value: function _getSpawnOptions(options, toolPath) { + options = options || {}; + var result = {}; + result.cwd = options.cwd; + result.env = options.env; + result['windowsVerbatimArguments'] = options.windowsVerbatimArguments || this._isCmdFile(); + if (options.windowsVerbatimArguments) { + result.argv0 = "\"".concat(toolPath, "\""); + } + return result; + } + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + }, { + key: "exec", + value: function exec() { + return toolrunner_awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() { + var _this2 = this; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + // root the tool path if it is unrooted and contains relative pathing + if (!isRooted(this.toolPath) && (this.toolPath.includes('/') || toolrunner_IS_WINDOWS && this.toolPath.includes('\\'))) { + // prefer options.cwd if it is specified, however options.cwd may also need to be rooted + this.toolPath = external_path_namespaceObject.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + } + // if the tool is only a file name, then resolve it from the PATH + // otherwise verify it exists (add extension on Windows if necessary) + _context2.n = 1; + return which(this.toolPath, true); + case 1: + this.toolPath = _context2.v; + return _context2.a(2, new Promise(function (resolve, reject) { + return toolrunner_awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() { + var _this3 = this; + var _iterator7, _step7, arg, optionsNonNull, state, fileName, cp, stdbuffer, errbuffer, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + this._debug("exec tool: ".concat(this.toolPath)); + this._debug('arguments:'); + _iterator7 = createForOfIteratorHelper_createForOfIteratorHelper(this.args); + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + arg = _step7.value; + this._debug(" ".concat(arg)); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + optionsNonNull = this._cloneExecOptions(this.options); + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + external_os_namespaceObject.EOL); + } + state = new ExecState(optionsNonNull, this.toolPath); + state.on('debug', function (message) { + _this3._debug(message); + }); + _t = this.options.cwd; + if (!_t) { + _context.n = 2; + break; + } + _context.n = 1; + return exists(this.options.cwd); + case 1: + _t = !_context.v; + case 2: + if (!_t) { + _context.n = 3; + break; + } + return _context.a(2, reject(new Error("The cwd: ".concat(this.options.cwd, " does not exist!")))); + case 3: + fileName = this._getSpawnFileName(); + cp = external_child_process_namespaceObject.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); + stdbuffer = ''; + if (cp.stdout) { + cp.stdout.on('data', function (data) { + if (_this3.options.listeners && _this3.options.listeners.stdout) { + _this3.options.listeners.stdout(data); + } + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(data); + } + stdbuffer = _this3._processLineBuffer(data, stdbuffer, function (line) { + if (_this3.options.listeners && _this3.options.listeners.stdline) { + _this3.options.listeners.stdline(line); + } + }); + }); + } + errbuffer = ''; + if (cp.stderr) { + cp.stderr.on('data', function (data) { + state.processStderr = true; + if (_this3.options.listeners && _this3.options.listeners.stderr) { + _this3.options.listeners.stderr(data); + } + if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { + var s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; + s.write(data); + } + errbuffer = _this3._processLineBuffer(data, errbuffer, function (line) { + if (_this3.options.listeners && _this3.options.listeners.errline) { + _this3.options.listeners.errline(line); + } + }); + }); + } + cp.on('error', function (err) { + state.processError = err.message; + state.processExited = true; + state.processClosed = true; + state.CheckComplete(); + }); + cp.on('exit', function (code) { + state.processExitCode = code; + state.processExited = true; + _this3._debug("Exit code ".concat(code, " received from tool '").concat(_this3.toolPath, "'")); + state.CheckComplete(); + }); + cp.on('close', function (code) { + state.processExitCode = code; + state.processExited = true; + state.processClosed = true; + _this3._debug("STDIO streams have closed for tool '".concat(_this3.toolPath, "'")); + state.CheckComplete(); + }); + state.on('done', function (error, exitCode) { + if (stdbuffer.length > 0) { + _this3.emit('stdline', stdbuffer); + } + if (errbuffer.length > 0) { + _this3.emit('errline', errbuffer); + } + cp.removeAllListeners(); + if (error) { + reject(error); + } else { + resolve(exitCode); + } + }); + if (!this.options.input) { + _context.n = 5; + break; + } + if (cp.stdin) { + _context.n = 4; + break; + } + throw new Error('child process missing stdin'); + case 4: + cp.stdin.end(this.options.input); + case 5: + return _context.a(2); + } + }, _callee, this); + })); + })); + } + }, _callee2, this); + })); + } + }]); +}(external_events_.EventEmitter); +/** + * Convert an arg string to an array of args. Handles escaping + * + * @param argString string of arguments + * @returns string[] array of arguments + */ +function argStringToArray(argString) { + var args = []; + var inQuotes = false; + var escaped = false; + var arg = ''; + function append(c) { + // we only escape double quotes. + if (escaped && c !== '"') { + arg += '\\'; + } + arg += c; + escaped = false; + } + for (var i = 0; i < argString.length; i++) { + var c = argString.charAt(i); + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } else { + append(c); + } + continue; + } + if (c === '\\' && escaped) { + append(c); + continue; + } + if (c === '\\' && inQuotes) { + escaped = true; + continue; + } + if (c === ' ' && !inQuotes) { + if (arg.length > 0) { + args.push(arg); + arg = ''; + } + continue; + } + append(c); + } + if (arg.length > 0) { + args.push(arg.trim()); + } + return args; +} +var ExecState = /*#__PURE__*/function (_events$EventEmitter2) { + function ExecState(options, toolPath) { + var _this4; + _classCallCheck(this, ExecState); + _this4 = callSuper_callSuper(this, ExecState); + _this4.processClosed = false; // tracks whether the process has exited and stdio is closed + _this4.processError = ''; + _this4.processExitCode = 0; + _this4.processExited = false; // tracks whether the process has exited + _this4.processStderr = false; // tracks whether stderr was written to + _this4.delay = 10000; // 10 seconds + _this4.done = false; + _this4.timeout = null; + if (!toolPath) { + throw new Error('toolPath must not be empty'); + } + _this4.options = options; + _this4.toolPath = toolPath; + if (options.delay) { + _this4.delay = options.delay; + } + return _this4; + } + inherits_inherits(ExecState, _events$EventEmitter2); + return _createClass(ExecState, [{ + key: "CheckComplete", + value: function CheckComplete() { + if (this.done) { + return; + } + if (this.processClosed) { + this._setResult(); + } else if (this.processExited) { + this.timeout = (0,external_timers_namespaceObject.setTimeout)(ExecState.HandleTimeout, this.delay, this); + } + } + }, { + key: "_debug", + value: function _debug(message) { + this.emit('debug', message); + } + }, { + key: "_setResult", + value: function _setResult() { + // determine whether there is an error + var error; + if (this.processExited) { + if (this.processError) { + error = new Error("There was an error when attempting to execute the process '".concat(this.toolPath, "'. This may indicate the process failed to start. Error: ").concat(this.processError)); + } else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { + error = new Error("The process '".concat(this.toolPath, "' failed with exit code ").concat(this.processExitCode)); + } else if (this.processStderr && this.options.failOnStdErr) { + error = new Error("The process '".concat(this.toolPath, "' failed because one or more lines were written to the STDERR stream")); + } + } + // clear the timeout + if (this.timeout) { + clearTimeout(this.timeout); + this.timeout = null; + } + this.done = true; + this.emit('done', error, this.processExitCode); + } + }], [{ + key: "HandleTimeout", + value: function HandleTimeout(state) { + if (state.done) { + return; + } + if (!state.processClosed && state.processExited) { + var message = "The STDIO streams did not close within ".concat(state.delay / 1000, " seconds of the exit event from process '").concat(state.toolPath, "'. This may indicate a child process inherited the STDIO streams and has not yet exited."); + state._debug(message); + } + state._setResult(); + } + }]); +}(external_events_.EventEmitter); //# sourceMappingURL=toolrunner.js.map +;// ./node_modules/@actions/exec/lib/exec.js +/* unused harmony import specifier */ var exec_regenerator; +/* unused harmony import specifier */ var StringDecoder; +/* unused harmony import specifier */ var tr; + +var exec_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + +/** + * Exec a command. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +function exec(commandLine, args, options) { + return exec_awaiter(this, void 0, void 0, /*#__PURE__*/exec_regenerator().m(function _callee() { + var commandArgs, toolPath, runner; + return exec_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + commandArgs = tr.argStringToArray(commandLine); + if (!(commandArgs.length === 0)) { + _context.n = 1; + break; + } + throw new Error("Parameter 'commandLine' cannot be null or empty."); + case 1: + // Path to tool to execute should be first arg + toolPath = commandArgs[0]; + args = commandArgs.slice(1).concat(args || []); + runner = new tr.ToolRunner(toolPath, args, options); + return _context.a(2, runner.exec()); + } + }, _callee); + })); +} +/** + * Exec a command and get the output. + * Output will be streamed to the live console. + * Returns promise with the exit code and collected stdout and stderr + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code, stdout, and stderr + */ +function getExecOutput(commandLine, args, options) { + return exec_awaiter(this, void 0, void 0, /*#__PURE__*/exec_regenerator().m(function _callee2() { + var _a, _b, stdout, stderr, stdoutDecoder, stderrDecoder, originalStdoutListener, originalStdErrListener, stdErrListener, stdOutListener, listeners, exitCode; + return exec_regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + stdout = ''; + stderr = ''; //Using string decoder covers the case where a mult-byte character is split + stdoutDecoder = new StringDecoder('utf8'); + stderrDecoder = new StringDecoder('utf8'); + originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; + originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; + stdErrListener = function stdErrListener(data) { + stderr += stderrDecoder.write(data); + if (originalStdErrListener) { + originalStdErrListener(data); + } + }; + stdOutListener = function stdOutListener(data) { + stdout += stdoutDecoder.write(data); + if (originalStdoutListener) { + originalStdoutListener(data); + } + }; + listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { + stdout: stdOutListener, + stderr: stdErrListener + }); + _context2.n = 1; + return exec(commandLine, args, Object.assign(Object.assign({}, options), { + listeners: listeners + })); + case 1: + exitCode = _context2.v; + //flush any remaining characters + stdout += stdoutDecoder.end(); + stderr += stderrDecoder.end(); + return _context2.a(2, { + exitCode: exitCode, + stdout: stdout, + stderr: stderr + }); + } + }, _callee2); + })); +} +//# sourceMappingURL=exec.js.map +;// ./node_modules/@actions/core/lib/platform.js +/* unused harmony import specifier */ var platform_slicedToArray; +/* unused harmony import specifier */ var platform_regenerator; +/* unused harmony import specifier */ var platform_exec; + + +var platform_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + +var getWindowsInfo = function getWindowsInfo() { + return platform_awaiter(void 0, void 0, void 0, /*#__PURE__*/platform_regenerator().m(function _callee() { + var _yield$exec$getExecOu, version, _yield$exec$getExecOu2, name; + return platform_regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _context.n = 1; + return platform_exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', undefined, { + silent: true + }); + case 1: + _yield$exec$getExecOu = _context.v; + version = _yield$exec$getExecOu.stdout; + _context.n = 2; + return platform_exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', undefined, { + silent: true + }); + case 2: + _yield$exec$getExecOu2 = _context.v; + name = _yield$exec$getExecOu2.stdout; + return _context.a(2, { + name: name.trim(), + version: version.trim() + }); + } + }, _callee); + })); +}; +var getMacOsInfo = function getMacOsInfo() { + return platform_awaiter(void 0, void 0, void 0, /*#__PURE__*/platform_regenerator().m(function _callee2() { + var _a, _b, _c, _d, _yield$exec$getExecOu3, stdout, version, name; + return platform_regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + _context2.n = 1; + return platform_exec.getExecOutput('sw_vers', undefined, { + silent: true + }); + case 1: + _yield$exec$getExecOu3 = _context2.v; + stdout = _yield$exec$getExecOu3.stdout; + version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : ''; + name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ''; + return _context2.a(2, { + name: name, + version: version + }); + } + }, _callee2); + })); +}; +var getLinuxInfo = function getLinuxInfo() { + return platform_awaiter(void 0, void 0, void 0, /*#__PURE__*/platform_regenerator().m(function _callee3() { + var _yield$exec$getExecOu4, stdout, _stdout$trim$split, _stdout$trim$split2, name, version; + return platform_regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + _context3.n = 1; + return platform_exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], { + silent: true + }); + case 1: + _yield$exec$getExecOu4 = _context3.v; + stdout = _yield$exec$getExecOu4.stdout; + _stdout$trim$split = stdout.trim().split('\n'), _stdout$trim$split2 = platform_slicedToArray(_stdout$trim$split, 2), name = _stdout$trim$split2[0], version = _stdout$trim$split2[1]; + return _context3.a(2, { + name: name, + version: version + }); + } + }, _callee3); + })); +}; +var platform = external_os_namespaceObject.platform(); +var arch = external_os_namespaceObject.arch(); +var isWindows = platform === 'win32'; +var isMacOS = platform === 'darwin'; +var isLinux = platform === 'linux'; +function getDetails() { + return platform_awaiter(this, void 0, void 0, /*#__PURE__*/platform_regenerator().m(function _callee4() { + var _t, _t2, _t3; + return platform_regenerator().w(function (_context4) { + while (1) switch (_context4.n) { + case 0: + _t = Object; + _t2 = Object; + _t3 = {}; + _context4.n = 1; + return isWindows ? getWindowsInfo() : isMacOS ? getMacOsInfo() : getLinuxInfo(); + case 1: + return _context4.a(2, _t.assign.call(_t, _t2.assign.call(_t2, _t3, _context4.v), { + platform: platform, + arch: arch, + isWindows: isWindows, + isMacOS: isMacOS, + isLinux: isLinux + })); + } + }, _callee4); + })); +} +//# sourceMappingURL=platform.js.map +;// ./node_modules/@actions/core/lib/core.js +/* unused harmony import specifier */ var core_regenerator; +/* unused harmony import specifier */ var core_issueCommand; +/* unused harmony import specifier */ var core_issue; +/* unused harmony import specifier */ var core_issueFileCommand; +/* unused harmony import specifier */ var core_prepareKeyValueMessage; +/* unused harmony import specifier */ var core_toCommandValue; +/* unused harmony import specifier */ var core_toCommandProperties; +/* unused harmony import specifier */ var core_path; +/* unused harmony import specifier */ var core_OidcClient; + +var core_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + + + + + + +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode || (ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + var convertedVal = core_toCommandValue(val); + process.env[name] = convertedVal; + var filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return core_issueFileCommand('ENV', core_prepareKeyValueMessage(name, val)); + } + core_issueCommand('set-env', { + name: name + }, convertedVal); +} +/** + * Registers a secret which will get masked from logs + * + * @param secret - Value of the secret to be masked + * @remarks + * This function instructs the Actions runner to mask the specified value in any + * logs produced during the workflow run. Once registered, the secret value will + * be replaced with asterisks (***) whenever it appears in console output, logs, + * or error messages. + * + * This is useful for protecting sensitive information such as: + * - API keys + * - Access tokens + * - Authentication credentials + * - URL parameters containing signatures (SAS tokens) + * + * Note that masking only affects future logs; any previous appearances of the + * secret in logs before calling this function will remain unmasked. + * + * @example + * ```typescript + * // Register an API token as a secret + * const apiToken = "abc123xyz456"; + * setSecret(apiToken); + * + * // Now any logs containing this value will show *** instead + * console.log(`Using token: ${apiToken}`); // Outputs: "Using token: ***" + * ``` + */ +function core_setSecret(secret) { + core_issueCommand('add-mask', {}, secret); +} +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + var filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + core_issueFileCommand('PATH', inputPath); + } else { + core_issueCommand('add-path', {}, inputPath); + } + process.env['PATH'] = "".concat(inputPath).concat(core_path.delimiter).concat(process.env['PATH']); +} +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + var val = process.env["INPUT_".concat(name.replace(/ /g, '_').toUpperCase())] || ''; + if (options && options.required && !val) { + throw new Error("Input required and not supplied: ".concat(name)); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + var inputs = getInput(name, options).split('\n').filter(function (x) { + return x !== ''; + }); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(function (input) { + return input.trim(); + }); +} +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + var trueValue = ['true', 'True', 'TRUE']; + var falseValue = ['false', 'False', 'FALSE']; + var val = getInput(name, options); + if (trueValue.includes(val)) return true; + if (falseValue.includes(val)) return false; + throw new TypeError("Input does not meet YAML 1.2 \"Core Schema\" specification: ".concat(name, "\n") + "Support boolean input list: `true | True | TRUE | false | False | FALSE`"); +} +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + var filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value)); + } + process.stdout.write(external_os_namespaceObject.EOL); + issueCommand('set-output', { + name: name + }, toCommandValue(value)); +} +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + core_issue('echo', enabled ? 'on' : 'off'); +} +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +/** + * Writes debug message to user log + * @param message debug message + */ +function core_debug(message) { + core_issueCommand('debug', {}, message); +} +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message) { + var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + issueCommand('error', toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message) { + var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + core_issueCommand('warning', core_toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message) { + var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + core_issueCommand('notice', core_toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + external_os_namespaceObject.EOL); +} +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + issue('group', name); +} +/** + * End an output group. + */ +function endGroup() { + issue('endgroup'); +} +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return core_awaiter(this, void 0, void 0, /*#__PURE__*/core_regenerator().m(function _callee() { + var result; + return core_regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + startGroup(name); + _context.p = 1; + _context.n = 2; + return fn(); + case 2: + result = _context.v; + case 3: + _context.p = 3; + endGroup(); + return _context.f(3); + case 4: + return _context.a(2, result); + } + }, _callee, null, [[1,, 3, 4]]); + })); +} +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + var filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return core_issueFileCommand('STATE', core_prepareKeyValueMessage(name, value)); + } + core_issueCommand('save-state', { + name: name + }, core_toCommandValue(value)); +} +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env["STATE_".concat(name)] || ''; +} +function getIDToken(aud) { + return core_awaiter(this, void 0, void 0, /*#__PURE__*/core_regenerator().m(function _callee2() { + return core_regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + _context2.n = 1; + return core_OidcClient.getIDToken(aud); + case 1: + return _context2.a(2, _context2.v); + } + }, _callee2); + })); +} +/** + * Summary exports + */ + +/** + * @deprecated use core.summary + */ + +/** + * Path exports + */ + +/** + * Platform utilities exports + */ + + //# sourceMappingURL=core.js.map +;// ./node_modules/ramda/es/internal/_isPlaceholder.js +function _isPlaceholder(a) { + return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true; +} +;// ./node_modules/ramda/es/internal/_curry1.js + + +/** + * Optimized internal one-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ +function _curry1(fn) { + return function f1(a) { + if (arguments.length === 0 || _isPlaceholder(a)) { + return f1; + } else { + return fn.apply(this, arguments); + } + }; +} +;// ./node_modules/ramda/es/internal/_has.js +function _has(prop, obj) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} +;// ./node_modules/ramda/es/internal/_isArguments.js +var _isArguments_toString = Object.prototype.toString; +var _isArguments = /*#__PURE__*/function () { + return _isArguments_toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) { + return _isArguments_toString.call(x) === '[object Arguments]'; + } : function _isArguments(x) { + return _has('callee', x); + }; +}(); +/* harmony default export */ const internal_isArguments = (_isArguments); +;// ./node_modules/ramda/es/internal/_isArray.js +/** + * Tests whether or not an object is an array. + * + * @private + * @param {*} val The object to test. + * @return {Boolean} `true` if `val` is an array, `false` otherwise. + * @example + * + * _isArray([]); //=> true + * _isArray(null); //=> false + * _isArray({}); //=> false + */ +/* harmony default export */ const _isArray = (Array.isArray || function _isArray(val) { + return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; +}); +;// ./node_modules/ramda/es/internal/_isObject.js +function _isObject(x) { + return Object.prototype.toString.call(x) === '[object Object]'; +} +;// ./node_modules/ramda/es/internal/_isString.js +function _isString(x) { + return Object.prototype.toString.call(x) === '[object String]'; +} +;// ./node_modules/ramda/es/internal/_isTypedArray.js +/** + * Tests whether or not an object is a typed array. + * + * @private + * @param {*} val The object to test. + * @return {Boolean} `true` if `val` is a typed array, `false` otherwise. + * @example + * + * _isTypedArray(new Uint8Array([])); //=> true + * _isTypedArray(new Float32Array([])); //=> true + * _isTypedArray([]); //=> false + * _isTypedArray(null); //=> false + * _isTypedArray({}); //=> false + */ +function _isTypedArray(val) { + var type = Object.prototype.toString.call(val); + return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]'; +} +;// ./node_modules/ramda/es/empty.js @@ -12179,17 +35426,219 @@ var without = /*#__PURE__*/ +/** + * Returns the empty value of its argument's type. Ramda defines the empty + * value of Array (`[]`), Object (`{}`), String (`''`), Map (`new Map()`), Set (`new Set()`), + * TypedArray (`Uint8Array []`, `Float32Array []`, etc), and Arguments. Other + * types are supported if they define `.empty`, + * `.prototype.empty` or implement the + * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). + * + * Dispatches to the `empty` method of the first argument, if present. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category Function + * @sig a -> a + * @param {*} x + * @return {*} + * @example + * + * R.empty(Just(42)); //=> Nothing() + * R.empty([1, 2, 3]); //=> [] + * R.empty('unicorns'); //=> '' + * R.empty({x: 1, y: 2}); //=> {} + * R.empty(Uint8Array.from('123')); //=> Uint8Array [] + * R.empty(Set); //=> Set() + */ +var empty = /*#__PURE__*/_curry1(function empty(x) { + return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : x == Set || x instanceof Set ? new Set() : x == Map || x instanceof Map ? new Map() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : internal_isArguments(x) ? function () { + return arguments; + }() : _isTypedArray(x) ? x.constructor.from('') : void 0 // else +; +}); +/* harmony default export */ const es_empty = (empty); +;// ./node_modules/ramda/es/internal/_curry2.js +/** + * Optimized internal two-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ +function _curry2(fn) { + return function f2(a, b) { + switch (arguments.length) { + case 0: + return f2; + case 1: + return _isPlaceholder(a) ? f2 : _curry1(function (_b) { + return fn(a, _b); + }); + default: + return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) { + return fn(_a, b); + }) : _isPlaceholder(b) ? _curry1(function (_b) { + return fn(a, _b); + }) : fn(a, b); + } + }; +} +;// ./node_modules/ramda/es/internal/_arrayFromIterator.js +function _arrayFromIterator(iter) { + var list = []; + var next; + while (!(next = iter.next()).done) { + list.push(next.value); + } + return list; +} +;// ./node_modules/ramda/es/internal/_includesWith.js +function _includesWith(pred, x, list) { + var idx = 0; + var len = list.length; + while (idx < len) { + if (pred(x, list[idx])) { + return true; + } + idx += 1; + } + return false; +} +;// ./node_modules/ramda/es/internal/_functionName.js +function _functionName(f) { + // String(x => x) evaluates to "x => x", so the pattern may not match. + var match = String(f).match(/^function (\w*)/); + return match == null ? '' : match[1]; +} +;// ./node_modules/ramda/es/internal/_objectIs.js +// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is +function _objectIs(a, b) { + // SameValue algorithm + if (a === b) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return a !== 0 || 1 / a === 1 / b; + } else { + // Step 6.a: NaN == NaN + return a !== a && b !== b; + } +} +/* harmony default export */ const internal_objectIs = (typeof Object.is === 'function' ? Object.is : _objectIs); +;// ./node_modules/ramda/es/keys.js +// cover IE < 9 keys issues +var hasEnumBug = ! /*#__PURE__*/{ + toString: null +}.propertyIsEnumerable('toString'); +var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; +// Safari bug +var hasArgsEnumBug = /*#__PURE__*/function () { + 'use strict'; + return arguments.propertyIsEnumerable('length'); +}(); +var contains = function contains(list, item) { + var idx = 0; + while (idx < list.length) { + if (list[idx] === item) { + return true; + } + idx += 1; + } + return false; +}; +/** + * Returns a list containing the names of all the enumerable own properties of + * the supplied object. + * Note that the order of the output array is not guaranteed to be consistent + * across different JS platforms. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig {k: v} -> [k] + * @param {Object} obj The object to extract properties from + * @return {Array} An array of the object's own properties. + * @see R.keysIn, R.values, R.toPairs + * @example + * + * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c'] + */ +var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_curry1(function keys(obj) { + return Object(obj) !== obj ? [] : Object.keys(obj); +}) : /*#__PURE__*/_curry1(function keys(obj) { + if (Object(obj) !== obj) { + return []; + } + var prop, nIdx; + var ks = []; + var checkArgsLength = hasArgsEnumBug && internal_isArguments(obj); + for (prop in obj) { + if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) { + ks[ks.length] = prop; + } + } + if (hasEnumBug) { + nIdx = nonEnumerableProps.length - 1; + while (nIdx >= 0) { + prop = nonEnumerableProps[nIdx]; + if (_has(prop, obj) && !contains(ks, prop)) { + ks[ks.length] = prop; + } + nIdx -= 1; + } + } + return ks; +}); +/* harmony default export */ const es_keys = (keys); +;// ./node_modules/ramda/es/type.js +/** + * Gives a single-word string description of the (native) type of a value, + * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not + * attempt to distinguish user Object types any further, reporting them all as + * 'Object'. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Type + * @sig * -> String + * @param {*} val The value to test + * @return {String} + * @example + * + * R.type({}); //=> "Object" + * R.type(new Map); //=> "Map" + * R.type(new Set); //=> "Set" + * R.type(1); //=> "Number" + * R.type(false); //=> "Boolean" + * R.type('s'); //=> "String" + * R.type(null); //=> "Null" + * R.type([]); //=> "Array" + * R.type(/[A-z]/); //=> "RegExp" + * R.type(() => {}); //=> "Function" + * R.type(async () => {}); //=> "AsyncFunction" + * R.type(undefined); //=> "Undefined" + * R.type(BigInt(123)); //=> "BigInt" + */ +var type = /*#__PURE__*/_curry1(function type(val) { + return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1); +}); +/* harmony default export */ const es_type = (type); +;// ./node_modules/ramda/es/internal/_equals.js @@ -12198,31 +35647,365 @@ var without = /*#__PURE__*/ +/** + * private _uniqContentEquals function. + * That function is checking equality of 2 iterator contents with 2 assumptions + * - iterators lengths are the same + * - iterators values are unique + * + * false-positive result will be returned for comparison of, e.g. + * - [1,2,3] and [1,2,3,4] + * - [1,1,1] and [1,2,3] + * */ +function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { + var a = _arrayFromIterator(aIterator); + var b = _arrayFromIterator(bIterator); + function eq(_a, _b) { + return _equals(_a, _b, stackA.slice(), stackB.slice()); + } + // if *a* array contains any element that is not included in *b* + return !_includesWith(function (b, aItem) { + return !_includesWith(eq, aItem, b); + }, b, a); +} +function _equals(a, b, stackA, stackB) { + if (internal_objectIs(a, b)) { + return true; + } + var typeA = es_type(a); + if (typeA !== es_type(b)) { + return false; + } + if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { + return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); + } + if (typeof a.equals === 'function' || typeof b.equals === 'function') { + return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); + } + switch (typeA) { + case 'Arguments': + case 'Array': + case 'Object': + if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') { + return a === b; + } + break; + case 'Boolean': + case 'Number': + case 'String': + if (!(typeof a === typeof b && internal_objectIs(a.valueOf(), b.valueOf()))) { + return false; + } + break; + case 'Date': + if (!internal_objectIs(a.valueOf(), b.valueOf())) { + return false; + } + break; + case 'Error': + return a.name === b.name && a.message === b.message; + case 'RegExp': + if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { + return false; + } + break; + } + var idx = stackA.length - 1; + while (idx >= 0) { + if (stackA[idx] === a) { + return stackB[idx] === b; + } + idx -= 1; + } + switch (typeA) { + case 'Map': + if (a.size !== b.size) { + return false; + } + return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); + case 'Set': + if (a.size !== b.size) { + return false; + } + return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); + case 'Arguments': + case 'Array': + case 'Object': + case 'Boolean': + case 'Number': + case 'String': + case 'Date': + case 'Error': + case 'RegExp': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'ArrayBuffer': + break; + default: + // Values of other types are only equal if identical. + return false; + } + var keysA = es_keys(a); + if (keysA.length !== es_keys(b).length) { + return false; + } + var extendedStackA = stackA.concat([a]); + var extendedStackB = stackB.concat([b]); + idx = keysA.length - 1; + while (idx >= 0) { + var key = keysA[idx]; + if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { + return false; + } + idx -= 1; + } + return true; +} +;// ./node_modules/ramda/es/equals.js +/** + * Returns `true` if its arguments are equivalent, `false` otherwise. Handles + * cyclical data structures. + * + * Dispatches symmetrically to the `equals` methods of both arguments, if + * present. + * + * @func + * @memberOf R + * @since v0.15.0 + * @category Relation + * @sig a -> b -> Boolean + * @param {*} a + * @param {*} b + * @return {Boolean} + * @example + * + * R.equals(1, 1); //=> true + * R.equals(1, '1'); //=> false + * R.equals([1, 2, 3], [1, 2, 3]); //=> true + * + * const a = {}; a.v = a; + * const b = {}; b.v = b; + * R.equals(a, b); //=> true + */ +var equals = /*#__PURE__*/_curry2(function equals(a, b) { + return _equals(a, b, [], []); +}); +/* harmony default export */ const es_equals = (equals); +;// ./node_modules/ramda/es/isEmpty.js +/** + * Returns `true` if the given value is its type's empty value; `false` + * otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Logic + * @sig a -> Boolean + * @param {*} x + * @return {Boolean} + * @see R.empty, R.isNotEmpty + * @example + * + * R.isEmpty([1, 2, 3]); //=> false + * R.isEmpty([]); //=> true + * R.isEmpty(''); //=> true + * R.isEmpty(null); //=> false + * R.isEmpty({}); //=> true + * R.isEmpty({length: 0}); //=> false + * R.isEmpty(Uint8Array.from('')); //=> true + * R.isEmpty(new Set()) //=> true + * R.isEmpty(new Map()) //=> true + */ +var isEmpty = /*#__PURE__*/_curry1(function isEmpty(x) { + return x != null && es_equals(x, es_empty(x)); +}); +/* harmony default export */ const es_isEmpty = (isEmpty); +;// ./node_modules/ramda/es/internal/_curry3.js +/** + * Optimized internal three-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ +function _curry3(fn) { + return function f3(a, b, c) { + switch (arguments.length) { + case 0: + return f3; + case 1: + return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) { + return fn(a, _b, _c); + }); + case 2: + return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) { + return fn(_a, b, _c); + }) : _isPlaceholder(b) ? _curry2(function (_b, _c) { + return fn(a, _b, _c); + }) : _curry1(function (_c) { + return fn(a, b, _c); + }); + default: + return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) { + return fn(_a, _b, c); + }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) { + return fn(_a, b, _c); + }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) { + return fn(a, _b, _c); + }) : _isPlaceholder(a) ? _curry1(function (_a) { + return fn(_a, b, c); + }) : _isPlaceholder(b) ? _curry1(function (_b) { + return fn(a, _b, c); + }) : _isPlaceholder(c) ? _curry1(function (_c) { + return fn(a, b, _c); + }) : fn(a, b, c); + } + }; +} +;// ./node_modules/ramda/es/mergeWithKey.js +/** + * Creates a new object with the own properties of the two provided objects. If + * a key exists in both objects, the provided function is applied to the key + * and the values associated with the key in each object, with the result being + * used as the value associated with the key in the returned object. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Object + * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} + * @param {Function} fn + * @param {Object} l + * @param {Object} r + * @return {Object} + * @see R.mergeDeepWithKey, R.mergeWith + * @example + * + * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r + * R.mergeWithKey(concatValues, + * { a: true, thing: 'foo', values: [10, 20] }, + * { b: true, thing: 'bar', values: [15, 35] }); + * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] } + * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 } + */ +var mergeWithKey = /*#__PURE__*/_curry3(function mergeWithKey(fn, l, r) { + var result = {}; + var k; + l = l || {}; + r = r || {}; + for (k in l) { + if (_has(k, l)) { + result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k]; + } + } + for (k in r) { + if (_has(k, r) && !_has(k, result)) { + result[k] = r[k]; + } + } + return result; +}); +/* harmony default export */ const es_mergeWithKey = (mergeWithKey); +;// ./node_modules/ramda/es/mergeDeepWithKey.js +/** + * Creates a new object with the own properties of the two provided objects. + * If a key exists in both objects: + * - and both associated values are also objects then the values will be + * recursively merged. + * - otherwise the provided function is applied to the key and associated values + * using the resulting value as the new value associated with the key. + * If a key only exists in one object, the value will be associated with the key + * of the resulting object. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Object + * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} + * @param {Function} fn + * @param {Object} lObj + * @param {Object} rObj + * @return {Object} + * @see R.mergeWithKey, R.mergeDeepWith + * @example + * + * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r + * R.mergeDeepWithKey(concatValues, + * { a: true, c: { thing: 'foo', values: [10, 20] }}, + * { b: true, c: { thing: 'bar', values: [15, 35] }}); + * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }} + */ +var mergeDeepWithKey = /*#__PURE__*/_curry3(function mergeDeepWithKey(fn, lObj, rObj) { + return es_mergeWithKey(function (k, lVal, rVal) { + if (_isObject(lVal) && _isObject(rVal)) { + return mergeDeepWithKey(fn, lVal, rVal); + } else { + return fn(k, lVal, rVal); + } + }, lObj, rObj); +}); +/* harmony default export */ const es_mergeDeepWithKey = (mergeDeepWithKey); +;// ./node_modules/ramda/es/mergeDeepRight.js -;// CONCATENATED MODULE: ./src/index.ts -var tryParseObject=function tryParseObject(data){var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref$defaultValue=_ref.defaultValue,defaultValue=_ref$defaultValue===void 0?{}:_ref$defaultValue;try{var parsed=JSON.parse(data);return parsed||defaultValue;}catch(error){return defaultValue;}};_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var pathInputParam,replaceInputParam,resolvePath,packageJsonAsString,packageJson,newPackageValues;return _regeneratorRuntime().wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.prev=0;pathInputParam=(0,core.getInput)("path");replaceInputParam=(0,core.getInput)("replaceWith");resolvePath=external_path_default().resolve(process.cwd(),pathInputParam);if(external_fs_default().existsSync(resolvePath)){_context.next=7;break;}(0,core.setFailed)("File \x1B[31;1m".concat(resolvePath,"\x1B[0m does not exist!"));return _context.abrupt("return");case 7:_context.next=9;return external_fs_default().promises.readFile(resolvePath);case 9:_context.next=11;return _context.sent.toString();case 11:packageJsonAsString=_context.sent;packageJson=tryParseObject(packageJsonAsString);newPackageValues=tryParseObject(replaceInputParam);if(!es_isEmpty(newPackageValues)){packageJson=es_mergeDeepRight(packageJson,newPackageValues);}_context.next=17;return external_fs_default().promises.writeFile(resolvePath,JSON.stringify(packageJson,null,2));case 17:(0,core.startGroup)("\x1B[32;1m package.json\x1B[0m content: ");(0,core.info)("".concat(JSON.stringify(packageJson,null,2)));(0,core.endGroup)();Object.keys(packageJson).forEach(function(keyname){var value=packageJson[keyname];(0,core.setOutput)(keyname,JSON.stringify(value));});_context.next=26;break;case 23:_context.prev=23;_context.t0=_context["catch"](0);(0,core.setFailed)(_context.t0.message);case 26:case"end":return _context.stop();}}},_callee,null,[[0,23]]);}))(); +/** + * Creates a new object with the own properties of the first object merged with + * the own properties of the second object. If a key exists in both objects: + * - and both values are objects, the two values will be recursively merged + * - otherwise the value from the second object will be used. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Object + * @sig {a} -> {a} -> {a} + * @param {Object} lObj + * @param {Object} rObj + * @return {Object} + * @see R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey + * @example + * + * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, + * { age: 40, contact: { email: 'baa@example.com' }}); + * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }} + */ +var mergeDeepRight = /*#__PURE__*/_curry2(function mergeDeepRight(lObj, rObj) { + return es_mergeDeepWithKey(function (k, lVal, rVal) { + return rVal; + }, lObj, rObj); +}); +/* harmony default export */ const es_mergeDeepRight = (mergeDeepRight); +;// ./src/index.ts +var tryParseObject=function tryParseObject(data){var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref$defaultValue=_ref.defaultValue,defaultValue=_ref$defaultValue===void 0?{}:_ref$defaultValue;try{var parsed=JSON.parse(data);return parsed||defaultValue;}catch(error){return defaultValue;}};_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(){var pathInputParam,replaceInputParam,resolvePath,packageJsonAsString,packageJson,newPackageValues,_t;return _regenerator().w(function(_context){while(1)switch(_context.p=_context.n){case 0:_context.p=0;pathInputParam=getInput("path");replaceInputParam=getInput("replaceWith");resolvePath=external_path_default().resolve(process.cwd(),pathInputParam);if(external_fs_default().existsSync(resolvePath)){_context.n=1;break;}setFailed("File \x1B[31;1m".concat(resolvePath,"\x1B[0m does not exist!"));return _context.a(2);case 1:_context.n=2;return external_fs_default().promises.readFile(resolvePath);case 2:_context.n=3;return _context.v.toString();case 3:packageJsonAsString=_context.v;packageJson=tryParseObject(packageJsonAsString);newPackageValues=tryParseObject(replaceInputParam);if(!es_isEmpty(newPackageValues)){packageJson=es_mergeDeepRight(packageJson,newPackageValues);}_context.n=4;return external_fs_default().promises.writeFile(resolvePath,JSON.stringify(packageJson,null,2));case 4:startGroup("\x1B[32;1m package.json\x1B[0m content: ");info("".concat(JSON.stringify(packageJson,null,2)));endGroup();Object.keys(packageJson).forEach(function(keyname){var value=packageJson[keyname];setOutput(keyname,JSON.stringify(value));});_context.n=6;break;case 5:_context.p=5;_t=_context.v;setFailed(_t.message);case 6:return _context.a(2);}},_callee,null,[[0,5]]);}))(); })(); module.exports = __webpack_exports__; diff --git a/package.json b/package.json index 96a56a9..f811203 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "github-action-json", - "version": "1.0.1", + "version": "1.0.3", "description": "Edit or Read the content of any json file or the package.json that you want.", "scripts": { - "prepare": "husky install && npm run build", + "prepare": "husky", "build": "ncc build src/index.ts -o lib", "watch": "ncc watch src/index.ts -o lib" }, @@ -29,13 +29,13 @@ "configs" ], "dependencies": { - "@actions/core": "^1.10.0", - "ramda": "^0.28.0" + "@actions/core": "^3.0.0", + "ramda": "^0.32.0" }, "devDependencies": { - "@kkt/ncc": "~1.0.12", - "@types/ramda": "^0.28.15", - "husky": "^8.0.1", - "lint-staged": "^13.0.3" + "@kkt/ncc": "^1.1.2", + "@types/ramda": "^0.31.1", + "husky": "^9.1.7", + "lint-staged": "^16.4.0" } } diff --git a/yarn.lock b/yarn.lock index 465b0a3..f6c72f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,33 +2,43 @@ # yarn lockfile v1 -"@actions/core@^1.10.0": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f" - integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug== +"@actions/core@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@actions/core/-/core-3.0.0.tgz#89cb07c119e9b46a649ad5f355e77de9b3108cf8" + integrity sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg== dependencies: - "@actions/http-client" "^2.0.1" - uuid "^8.3.2" + "@actions/exec" "^3.0.0" + "@actions/http-client" "^4.0.0" -"@actions/http-client@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" - integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw== +"@actions/exec@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-3.0.0.tgz#8c3464d20f0aa4068707757021d7e3c01a7ee203" + integrity sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw== + dependencies: + "@actions/io" "^3.0.2" + +"@actions/http-client@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-4.0.0.tgz#f9754133c22802466482bf96321d42f2dba1fc82" + integrity sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g== dependencies: tunnel "^0.0.6" + undici "^6.23.0" -"@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== +"@actions/io@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@actions/io/-/io-3.0.2.tgz#6f89b27a159d109836d983efa283997c23b92284" + integrity sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw== -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" +"@adobe/css-tools@^4.4.0": + version "4.4.4" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.4.tgz#2856c55443d3d461693f32d2b96fb6ea92e1ffa9" + integrity sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg== + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@apideck/better-ajv-errors@^0.3.1": version "0.3.6" @@ -39,299 +49,259 @@ jsonpointer "^5.0.0" leven "^3.1.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0", "@babel/code-frame@^7.8.3": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" + integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== dependencies: - "@babel/highlight" "^7.18.6" + "@babel/helper-validator-identifier" "^7.28.5" + js-tokens "^4.0.0" + picocolors "^1.1.1" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3", "@babel/compat-data@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" - integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== +"@babel/compat-data@^7.28.6", "@babel/compat-data@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.0.tgz#00d03e8c0ac24dd9be942c5370990cbe1f17d88d" + integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" - integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.3" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.3" - "@babel/types" "^7.19.3" - convert-source-map "^1.7.0" + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" + integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== + dependencies: + "@babel/code-frame" "^7.29.0" + "@babel/generator" "^7.29.0" + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-module-transforms" "^7.28.6" + "@babel/helpers" "^7.28.6" + "@babel/parser" "^7.29.0" + "@babel/template" "^7.28.6" + "@babel/traverse" "^7.29.0" + "@babel/types" "^7.29.0" + "@jridgewell/remapping" "^2.3.5" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" "@babel/eslint-parser@^7.16.3": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" - integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz#6a294a4add732ebe7ded8a8d2792dd03dd81dc3f" + integrity sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" - semver "^6.3.0" - -"@babel/generator@^7.19.3", "@babel/generator@^7.19.4", "@babel/generator@^7.7.2": - version "7.19.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" - integrity sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg== - dependencies: - "@babel/types" "^7.19.4" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" - integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== - dependencies: - "@babel/compat-data" "^7.19.3" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" - integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" + semver "^6.3.1" + +"@babel/generator@^7.29.0", "@babel/generator@^7.7.2": + version "7.29.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.1.tgz#d09876290111abbb00ef962a7b83a5307fba0d50" + integrity sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw== + dependencies: + "@babel/parser" "^7.29.0" + "@babel/types" "^7.29.0" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" + integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg== + dependencies: + "@babel/types" "^7.27.3" + +"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" + integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== + dependencies: + "@babel/compat-data" "^7.28.6" + "@babel/helper-validator-option" "^7.27.1" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz#611ff5482da9ef0db6291bcd24303400bca170fb" + integrity sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-member-expression-to-functions" "^7.28.5" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.28.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1", "@babel/helper-create-regexp-features-plugin@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz#7c1ddd64b2065c7f78034b25b43346a7e19ed997" + integrity sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + regexpu-core "^6.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.5", "@babel/helper-define-polyfill-provider@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz#cf1e4462b613f2b54c41e6ff758d5dfcaa2c85d1" + integrity sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA== + dependencies: + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + debug "^4.4.3" lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9", "@babel/helper-replace-supers@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" - -"@babel/helper-simple-access@^7.18.6": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" - integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== - dependencies: - "@babel/types" "^7.19.4" - -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" - integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + resolve "^1.22.11" + +"@babel/helper-globals@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" + integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== + +"@babel/helper-member-expression-to-functions@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz#f3e07a10be37ed7a63461c63e6929575945a6150" + integrity sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg== + dependencies: + "@babel/traverse" "^7.28.5" + "@babel/types" "^7.28.5" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" + integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== + dependencies: + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" + +"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" + integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== + dependencies: + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.28.6" + +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== + dependencies: + "@babel/types" "^7.27.1" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.28.6", "@babel/helper-plugin-utils@^7.8.0": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" + integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== + +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/helper-replace-supers@^7.27.1", "@babel/helper-replace-supers@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz#94aa9a1d7423a00aead3f204f78834ce7d53fe44" + integrity sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.28.5" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.28.6" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" + integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== + +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helper-wrap-function@^7.27.1": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz#4e349ff9222dab69a93a019cc296cdd8442e279a" + integrity sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ== + dependencies: + "@babel/template" "^7.28.6" + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" + +"@babel/helpers@^7.28.6": + version "7.29.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.29.2.tgz#9cfbccb02b8e229892c0b07038052cc1a8709c49" + integrity sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw== + dependencies: + "@babel/template" "^7.28.6" + "@babel/types" "^7.29.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": + version "7.29.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.2.tgz#58bd50b9a7951d134988a1ae177a35ef9a703ba1" + integrity sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.29.0" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz#fbde57974707bbfa0376d34d425ff4fa6c732421" + integrity sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.28.5" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helper-wrap-function@^7.18.9": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" - integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz#0e8289cec28baaf05d54fd08d81ae3676065f69f" + integrity sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/traverse" "^7.28.6" -"@babel/helpers@^7.19.0": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.4.tgz#42154945f87b8148df7203a25c31ba9a73be46c5" - integrity sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.4" - "@babel/types" "^7.19.4" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.4.tgz#03c4339d2b8971eb3beca5252bafd9b9f79db3dc" - integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - -"@babel/plugin-proposal-async-generator-functions@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.16.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -339,59 +309,16 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-proposal-decorators@^7.16.4": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz#c1977e4902a18cdf9051bf7bf08d97db2fd8b110" - integrity sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.19.1" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.19.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz#d159f26f78740e47bf3ef075882b155b2d54ca81" + integrity sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/plugin-syntax-decorators" "^7.28.6" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -399,7 +326,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.18.6": +"@babel/plugin-proposal-numeric-separator@^7.16.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== @@ -407,35 +334,16 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d" - integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q== - dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.18.6": +"@babel/plugin-proposal-private-methods@^7.16.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== @@ -443,24 +351,21 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-proposal-private-property-in-object@^7.16.7", "@babel/plugin-proposal-private-property-in-object@^7.21.11": + version "7.21.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz#69d597086b6760c4126525cfa154f34631ff272c" + integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -475,7 +380,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -489,42 +394,35 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz#5f13d1d8fce96951bea01a10424463c9a5b3a599" - integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ== +"@babel/plugin-syntax-decorators@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz#8c3293a0fef033e4c786b35ce1e159fc1d676153" + integrity sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== +"@babel/plugin-syntax-flow@^7.27.1": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.28.6.tgz#447559a225e66c4cd477a3ffb1a74d8c1fe25a62" + integrity sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" - integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== +"@babel/plugin-syntax-import-assertions@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz#ae9bc1923a6ba527b70104dd2191b0cd872c8507" + integrity sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-syntax-import-assertions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" - integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz#b71d5914665f60124e133696f17cd7669062c503" + integrity sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -538,14 +436,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== +"@babel/plugin-syntax-jsx@^7.27.1", "@babel/plugin-syntax-jsx@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz#f8ca28bbd84883b5fea0e447c635b81ba73997ee" + integrity sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -559,7 +457,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -594,533 +492,688 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.18.6", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== +"@babel/plugin-syntax-typescript@^7.28.6", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz#c7b2ddf1d0a811145b1de800d1abd146af92e3a2" + integrity sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== +"@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== +"@babel/plugin-transform-async-generator-functions@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz#63ed829820298f0bf143d5a4a68fb8c06ffd742f" + integrity sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.29.0" -"@babel/plugin-transform-block-scoping@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz#315d70f68ce64426db379a3d830e7ac30be02e9b" - integrity sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ== +"@babel/plugin-transform-async-to-generator@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz#bd97b42237b2d1bc90d74bcb486c39be5b4d7e77" + integrity sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-remap-async-to-generator" "^7.27.1" -"@babel/plugin-transform-classes@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" - integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-destructuring@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz#46890722687b9b89e1369ad0bd8dc6c5a3b4319d" - integrity sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-block-scoping@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz#e1ef5633448c24e76346125c2534eeb359699a99" + integrity sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== +"@babel/plugin-transform-class-properties@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz#d274a4478b6e782d9ea987fda09bdb6d28d66b72" + integrity sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-create-class-features-plugin" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== +"@babel/plugin-transform-class-static-block@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz#1257491e8259c6d125ac4d9a6f39f9d2bf3dba70" + integrity sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-classes@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz#8f6fb79ba3703978e701ce2a97e373aae7dda4b7" + integrity sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-globals" "^7.28.0" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-replace-supers" "^7.28.6" + "@babel/traverse" "^7.28.6" + +"@babel/plugin-transform-computed-properties@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz#936824fc71c26cb5c433485776d79c8e7b0202d2" + integrity sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/template" "^7.28.6" + +"@babel/plugin-transform-destructuring@^7.28.5": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz#b8402764df96179a2070bb7b501a1586cf8ad7a7" + integrity sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.28.5" + +"@babel/plugin-transform-dotall-regex@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz#def31ed84e0fb6e25c71e53c124e7b76a4ab8e61" + integrity sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.28.5" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz#8014b8a6cfd0e7b92762724443bf0d2400f26df1" + integrity sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.28.5" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-explicit-resource-management@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz#dd6788f982c8b77e86779d1d029591e39d9d8be7" + integrity sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/plugin-transform-destructuring" "^7.28.5" + +"@babel/plugin-transform-exponentiation-operator@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz#5e477eb7eafaf2ab5537a04aaafcf37e2d7f1091" + integrity sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz#e9e8606633287488216028719638cbbb2f2dde8f" - integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz#5def3e1e7730f008d683144fb79b724f92c5cdf9" + integrity sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-flow" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-syntax-flow" "^7.27.1" -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== +"@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== +"@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== +"@babel/plugin-transform-json-strings@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz#4c8c15b2dc49e285d110a4cf3dac52fd2dfc3038" + integrity sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== +"@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-amd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" - integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== +"@babel/plugin-transform-logical-assignment-operators@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz#53028a3d77e33c50ef30a8fce5ca17065936e605" + integrity sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" - integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== +"@babel/plugin-transform-modules-commonjs@^7.27.1", "@babel/plugin-transform-modules-commonjs@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz#c0232e0dfe66a734cc4ad0d5e75fc3321b6fdef1" + integrity sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== +"@babel/plugin-transform-modules-systemjs@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz#e458a95a17807c415924106a3ff188a3b8dee964" + integrity sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.29.0" -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz#a26cd51e09c4718588fc4cce1c5d1c0152102d6a" + integrity sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.28.5" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== +"@babel/plugin-transform-nullish-coalescing-operator@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz#9bc62096e90ab7a887f3ca9c469f6adec5679757" + integrity sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-numeric-separator@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz#1310b0292762e7a4a335df5f580c3320ee7d9e9f" + integrity sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-object-rest-spread@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz#fdd4bc2d72480db6ca42aed5c051f148d7b067f7" + integrity sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA== + dependencies: + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/plugin-transform-destructuring" "^7.28.5" + "@babel/plugin-transform-parameters" "^7.27.7" + "@babel/traverse" "^7.28.6" + +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + +"@babel/plugin-transform-optional-catch-binding@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz#75107be14c78385978201a49c86414a150a20b4c" + integrity sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-optional-chaining@^7.27.1", "@babel/plugin-transform-optional-chaining@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz#926cf150bd421fc8362753e911b4a1b1ce4356cd" + integrity sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w== + dependencies: + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + +"@babel/plugin-transform-parameters@^7.27.7": + version "7.27.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a" + integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-private-methods@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz#c76fbfef3b86c775db7f7c106fff544610bdb411" + integrity sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-private-property-in-object@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz#4fafef1e13129d79f1d75ac180c52aafefdb2811" + integrity sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-create-class-features-plugin" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.18.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz#edf3bec47eb98f14e84fa0af137fcc6aad8e0443" - integrity sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9" + integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" - integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== +"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz#6f20a7295fea7df42eb42fed8f896813f5b934de" + integrity sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== +"@babel/plugin-transform-react-jsx-development@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98" + integrity sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q== dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/plugin-transform-react-jsx" "^7.27.1" -"@babel/plugin-transform-react-jsx@^7.18.6": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" - integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== +"@babel/plugin-transform-react-jsx@^7.27.1": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz#f51cb70a90b9529fbb71ee1f75ea27b7078eed62" + integrity sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.19.0" + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/plugin-syntax-jsx" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/plugin-transform-react-pure-annotations@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" - integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== +"@babel/plugin-transform-react-pure-annotations@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879" + integrity sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== +"@babel/plugin-transform-regenerator@^7.29.0": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz#dec237cec1b93330876d6da9992c4abd42c9d18b" + integrity sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== +"@babel/plugin-transform-regexp-modifiers@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz#7ef0163bd8b4a610481b2509c58cf217f065290b" + integrity sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.28.5" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-runtime@^7.16.4": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz#a3df2d7312eea624c7889a2dcd37fd1dfd25b2c6" - integrity sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz#a5fded13cc656700804bfd6e5ebd7fffd5266803" + integrity sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w== + dependencies: + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + babel-plugin-polyfill-corejs2 "^0.4.14" + babel-plugin-polyfill-corejs3 "^0.13.0" + babel-plugin-polyfill-regenerator "^0.6.5" + semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== +"@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== +"@babel/plugin-transform-spread@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz#40a2b423f6db7b70f043ad027a58bcb44a9757b6" + integrity sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== +"@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== +"@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typescript@^7.18.6": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz#4f1db1e0fe278b42ddbc19ec2f6cd2f8262e35d6" - integrity sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w== +"@babel/plugin-transform-typescript@^7.28.5": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz#1e93d96da8adbefdfdade1d4956f73afa201a158" + integrity sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-typescript" "^7.18.6" + "@babel/helper-annotate-as-pure" "^7.27.3" + "@babel/helper-create-class-features-plugin" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-syntax-typescript" "^7.28.6" -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== +"@babel/plugin-transform-unicode-property-regex@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz#63a7a6c21a0e75dae9b1861454111ea5caa22821" + integrity sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.28.5" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b" - integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg== - dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.19.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.19.4" - "@babel/plugin-transform-classes" "^7.19.0" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.19.4" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.0" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.4" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" +"@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== +"@babel/plugin-transform-unicode-sets-regex@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz#924912914e5df9fe615ec472f88ff4788ce04d4e" + integrity sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.28.5" + "@babel/helper-plugin-utils" "^7.28.6" + +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": + version "7.29.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.29.2.tgz#5a173f22c7d8df362af1c9fe31facd320de4a86c" + integrity sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw== + dependencies: + "@babel/compat-data" "^7.29.0" + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.28.5" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.6" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.28.6" + "@babel/plugin-syntax-import-attributes" "^7.28.6" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.29.0" + "@babel/plugin-transform-async-to-generator" "^7.28.6" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.28.6" + "@babel/plugin-transform-class-properties" "^7.28.6" + "@babel/plugin-transform-class-static-block" "^7.28.6" + "@babel/plugin-transform-classes" "^7.28.6" + "@babel/plugin-transform-computed-properties" "^7.28.6" + "@babel/plugin-transform-destructuring" "^7.28.5" + "@babel/plugin-transform-dotall-regex" "^7.28.6" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.29.0" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-explicit-resource-management" "^7.28.6" + "@babel/plugin-transform-exponentiation-operator" "^7.28.6" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.28.6" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.28.6" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.28.6" + "@babel/plugin-transform-modules-systemjs" "^7.29.0" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.29.0" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.28.6" + "@babel/plugin-transform-numeric-separator" "^7.28.6" + "@babel/plugin-transform-object-rest-spread" "^7.28.6" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.28.6" + "@babel/plugin-transform-optional-chaining" "^7.28.6" + "@babel/plugin-transform-parameters" "^7.27.7" + "@babel/plugin-transform-private-methods" "^7.28.6" + "@babel/plugin-transform-private-property-in-object" "^7.28.6" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.29.0" + "@babel/plugin-transform-regexp-modifiers" "^7.28.6" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.28.6" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.28.6" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.28.6" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.15" + babel-plugin-polyfill-corejs3 "^0.14.0" + babel-plugin-polyfill-regenerator "^0.6.6" + core-js-compat "^3.48.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" - integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.28.5.tgz#6fcc0400fa79698433d653092c3919bb4b0878d9" + integrity sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-react-display-name" "^7.18.6" - "@babel/plugin-transform-react-jsx" "^7.18.6" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-pure-annotations" "^7.18.6" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-transform-react-display-name" "^7.28.0" + "@babel/plugin-transform-react-jsx" "^7.27.1" + "@babel/plugin-transform-react-jsx-development" "^7.27.1" + "@babel/plugin-transform-react-pure-annotations" "^7.27.1" "@babel/preset-typescript@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" - -"@babel/register@~7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.17.7.tgz#5eef3e0f4afc07e25e847720e7b987ae33f08d0b" - integrity sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA== - dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.5" - source-map-support "^0.5.16" - -"@babel/runtime-corejs3@^7.10.2": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz#870dbfd9685b3dad5aeb2d00841bb8b6192e3095" - integrity sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ== - dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" - integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.19.4", "@babel/traverse@^7.7.2": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.4.tgz#f117820e18b1e59448a6c1fa9d0ff08f7ac459a8" - integrity sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.4" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.4" - "@babel/types" "^7.19.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.19.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" - integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz#540359efa3028236958466342967522fd8f2a60c" + integrity sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-typescript" "^7.28.5" + +"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3": + version "7.29.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.2.tgz#9a6e2d05f4b6692e1801cd4fb176ad823930ed5e" + integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g== + +"@babel/template@^7.28.6", "@babel/template@^7.3.3": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" + integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" + +"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.5", "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0", "@babel/traverse@^7.7.2": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" + integrity sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== + dependencies: + "@babel/code-frame" "^7.29.0" + "@babel/generator" "^7.29.0" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.29.0" + "@babel/template" "^7.28.6" + "@babel/types" "^7.29.0" + debug "^4.3.1" + +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.5", "@babel/types@^7.28.6", "@babel/types@^7.29.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" + integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== +"@csstools/cascade-layer-name-parser@^1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.13.tgz#6900157489bc53da1f6a66eaccd432025f6cd6fb" + integrity sha512-MX0yLTwtZzr82sQ0zOjqimpZbzjMaK/h2pmlrLK7DCzlmiZLYFpoO94WmN1akRVo6ll/TdpHb53vihHLUMyvng== + +"@csstools/color-helpers@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-4.2.1.tgz#da573554220ccb59757f12de62bf70c6b15645d4" + integrity sha512-CEypeeykO9AN7JWkr1OEOQb0HRzZlPWGwV0Ya6DuVgFdDi6g3ma/cPZ5ZPZM4AWQikDpq/0llnGGlIL+j8afzw== + +"@csstools/css-calc@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-1.2.4.tgz#9d9fb0dca33666cf97659f8f2c343ed0210e0e73" + integrity sha512-tfOuvUQeo7Hz+FcuOd3LfXVp+342pnWUJ7D2y8NUpu1Ww6xnTbHLpz018/y6rtbHifJ3iIEf9ttxXd8KG7nL0Q== + +"@csstools/css-color-parser@^2.0.4": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-2.0.5.tgz#ce1fe52f23f35f37bea2cf61ac865115aa17880a" + integrity sha512-lRZSmtl+DSjok3u9hTWpmkxFZnz7stkbZxzKc08aDUsdrWwhSgWo8yq9rq9DaFUtbAyAq2xnH92fj01S+pwIww== dependencies: - "@jridgewell/trace-mapping" "0.3.9" + "@csstools/color-helpers" "^4.2.1" + "@csstools/css-calc" "^1.2.4" + +"@csstools/css-parser-algorithms@^2.7.1": + version "2.7.1" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz#6d93a8f7d8aeb7cd9ed0868f946e46f021b6aa70" + integrity sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw== + +"@csstools/css-tokenizer@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz#1d8b2e200197cf5f35ceb07ca2dade31f3a00ae8" + integrity sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg== + +"@csstools/media-query-list-parser@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz#f00be93f6bede07c14ddf51a168ad2748e4fe9e5" + integrity sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA== "@csstools/normalize.css@*": - version "12.0.0" - resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" - integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== + version "12.1.1" + resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz#f0ad221b7280f3fc814689786fd9ee092776ef8f" + integrity sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ== -"@csstools/postcss-cascade-layers@^1.1.0": +"@csstools/postcss-cascade-layers@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== @@ -1128,6 +1181,14 @@ "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" +"@csstools/postcss-cascade-layers@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.6.tgz#5a421cd2d5792d1eb8c28e682dc5f2c3b85cb045" + integrity sha512-Xt00qGAQyqAODFiFEJNkTpSUz5VfYqnDLECdlA/Vv17nl/OIV5QfTRHGAXrBGG5YcJyHpJ+GF9gF/RZvOQz4oA== + dependencies: + "@csstools/selector-specificity" "^3.1.1" + postcss-selector-parser "^6.0.13" + "@csstools/postcss-color-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" @@ -1136,6 +1197,47 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +"@csstools/postcss-color-function@^3.0.19": + version "3.0.19" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-3.0.19.tgz#8db83be25bb590a29549b0305bdaa74e76366c62" + integrity sha512-d1OHEXyYGe21G3q88LezWWx31ImEDdmINNDy0LyLNN9ChgN2bPxoubUPiHf9KmwypBMaHmNcMuA/WZOKdZk/Lg== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-color-mix-function@^2.0.19": + version "2.0.19" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.19.tgz#dd5c8cccd95613d11d8a8f96a57c148daa0e6306" + integrity sha512-mLvQlMX+keRYr16AuvuV8WYKUwF+D0DiCqlBdvhQ0KYEtcQl9/is9Ssg7RcIys8x0jIn2h1zstS4izckdZj9wg== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-content-alt-text@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-1.0.0.tgz#f69f74cd7ff679a912a444a274f67b9e0ce67127" + integrity sha512-SkHdj7EMM/57GVvSxSELpUg7zb5eAndBeuvGwFzYtU06/QXJ/h9fuK7wO5suteJzGhm3GDF/EWPCdWV2h1IGHQ== + dependencies: + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-exponential-functions@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.9.tgz#443b42c26c65b57a84a21d81075dacd93eeb7fd8" + integrity sha512-x1Avr15mMeuX7Z5RJUl7DmjhUtg+Amn5DZRD0fQ2TlTFTcJS8U1oxXQ9e5mA62S2RJgUU6db20CRoJyDvae2EQ== + dependencies: + "@csstools/css-calc" "^1.2.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-font-format-keywords@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" @@ -1143,6 +1245,34 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-font-format-keywords@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.2.tgz#b504cfc60588ac39fa5d1c67ef3da802b1bd7701" + integrity sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw== + dependencies: + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-gamut-mapping@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.11.tgz#7f5b0457fc16df8e0f9dd2fbe86b7e5a0240592c" + integrity sha512-KrHGsUPXRYxboXmJ9wiU/RzDM7y/5uIefLWKFSc36Pok7fxiPyvkSHO51kh+RLZS1W5hbqw9qaa6+tKpTSxa5g== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + +"@csstools/postcss-gradients-interpolation-method@^4.0.20": + version "4.0.20" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.20.tgz#e2a165719798cd8b503865297d8095c857eba77f" + integrity sha512-ZFl2JBHano6R20KB5ZrB8KdPM2pVK0u+/3cGQ2T8VubJq982I2LSOvQ4/VtxkAXjkPkk1rXt4AD1ni7UjTZ1Og== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + "@csstools/postcss-hwb-function@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" @@ -1150,14 +1280,39 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-hwb-function@^3.0.18": + version "3.0.18" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.18.tgz#267dc59c97033b1108e377c98c45c35b713ea66b" + integrity sha512-3ifnLltR5C7zrJ+g18caxkvSRnu9jBBXCYgnBznRjxm6gQJGnnCO9H6toHfywNdNr/qkiVf2dymERPQLDnjLRQ== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + "@csstools/postcss-ic-unit@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-ic-unit@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.7.tgz#2a4428c0d19bd456b4bfd60dcbe9e7c4974dfcef" + integrity sha512-YoaNHH2wNZD+c+rHV02l4xQuDpfR8MaL7hD45iJyr+USwvr0LOheeytJ6rq8FN6hXBmEeoJBeXXgGmM8fkhH4g== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" +"@csstools/postcss-initial@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz#5aa378de9bfd0e6e377433f8986bdecf579e1268" + integrity sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg== + "@csstools/postcss-is-pseudo-class@^2.0.7": version "2.0.7" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" @@ -1166,6 +1321,73 @@ "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" +"@csstools/postcss-is-pseudo-class@^4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.8.tgz#d2bcc6c2d86d9653c333926a9ea488c2fc221a7f" + integrity sha512-0aj591yGlq5Qac+plaWCbn5cpjs5Sh0daovYUKJUOMjIp70prGH/XPLp7QjxtbFXz3CTvb0H9a35dpEuIuUi3Q== + dependencies: + "@csstools/selector-specificity" "^3.1.1" + postcss-selector-parser "^6.0.13" + +"@csstools/postcss-light-dark-function@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-1.0.8.tgz#4d4cdad50a9b54b6b3a79cf32bf1cd956e82b0d7" + integrity sha512-x0UtpCyVnERsplUeoaY6nEtp1HxTf4lJjoK/ULEm40DraqFfUdUSt76yoOyX5rGY6eeOUOkurHyYlFHVKv/pew== + dependencies: + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-logical-float-and-clear@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz#c70ed8293cc376b1572bf56794219f54dc58c54d" + integrity sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA== + +"@csstools/postcss-logical-overflow@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz#d14631369f43ef989c7e32f051ddb6952a8ce35c" + integrity sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw== + +"@csstools/postcss-logical-overscroll-behavior@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz#9305a6f0d08bb7b5f1a228272951f72d3bf9d44f" + integrity sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ== + +"@csstools/postcss-logical-resize@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz#a46c1b51055db96fb63af3bfe58909c773aea377" + integrity sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-logical-viewport-units@^2.0.11": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.11.tgz#f87fcaecd33403e19cb4d77a19e62ede8ed4ec13" + integrity sha512-ElITMOGcjQtvouxjd90WmJRIw1J7KMP+M+O87HaVtlgOOlDt1uEPeTeii8qKGe2AiedEp0XOGIo9lidbiU2Ogg== + dependencies: + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-media-minmax@^1.1.8": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.8.tgz#a90b576805312b1bea7bda7d1726402b7f5ef430" + integrity sha512-KYQCal2i7XPNtHAUxCECdrC7tuxIWQCW+s8eMYs5r5PaAiVTeKwlrkRS096PFgojdNCmHeG0Cb7njtuNswNf+w== + dependencies: + "@csstools/css-calc" "^1.2.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/media-query-list-parser" "^2.1.13" + +"@csstools/postcss-media-queries-aspect-ratio-number-values@^2.0.11": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.11.tgz#bb93203839521e99101b6adbab72dc9d9b57c9bc" + integrity sha512-YD6jrib20GRGQcnOu49VJjoAnQ/4249liuz7vTpy/JfgqQ1Dlc5eD4HPUMNLOw9CWey9E6Etxwf/xc/ZF8fECA== + dependencies: + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/media-query-list-parser" "^2.1.13" + "@csstools/postcss-nested-calc@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" @@ -1173,6 +1395,14 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-nested-calc@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.2.tgz#72ae4d087987ab5596397f5c2e5db4403b81c4a9" + integrity sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA== + dependencies: + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + "@csstools/postcss-normalize-display-values@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" @@ -1180,6 +1410,13 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-normalize-display-values@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz#9013e6ade2fbd4cd725438c9ff0b1000062cf20d" + integrity sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw== + dependencies: + postcss-value-parser "^4.2.0" + "@csstools/postcss-oklab-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" @@ -1188,6 +1425,17 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +"@csstools/postcss-oklab-function@^3.0.19": + version "3.0.19" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.19.tgz#3bd0719914780fb53558af11958d0f4e6d2f952e" + integrity sha512-e3JxXmxjU3jpU7TzZrsNqSX4OHByRC3XjItV3Ieo/JEQmLg5rdOL4lkv/1vp27gXemzfNt44F42k/pn0FpE21Q== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" @@ -1195,6 +1443,31 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-progressive-custom-properties@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.3.0.tgz#20177d3fc61d8f170c4ee1686f3d2ab6eec27bbb" + integrity sha512-W2oV01phnILaRGYPmGFlL2MT/OgYjQDrL9sFlbdikMFi6oQkFki9B86XqEWR7HCsTZFVq7dbzr/o71B75TKkGg== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-relative-color-syntax@^2.0.19": + version "2.0.19" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.19.tgz#246b3a782e88df58184943c2471209c3d2085d65" + integrity sha512-MxUMSNvio1WwuS6WRLlQuv6nNPXwIWUFzBBAvL/tBdWfiKjiJnAa6eSSN5gtaacSqUkQ/Ce5Z1OzLRfeaWhADA== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + +"@csstools/postcss-scope-pseudo-class@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz#c5454ea2fb3cf9beaf212d3a631a5c18cd4fbc14" + integrity sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A== + dependencies: + postcss-selector-parser "^6.0.13" + "@csstools/postcss-stepped-value-functions@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" @@ -1202,6 +1475,15 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-stepped-value-functions@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.10.tgz#41cf7b2fc6abc9216b453137a35aeeeb056d70d9" + integrity sha512-MZwo0D0TYrQhT5FQzMqfy/nGZ28D1iFtpN7Su1ck5BPHS95+/Y5O9S4kEvo76f2YOsqwYcT8ZGehSI1TnzuX2g== + dependencies: + "@csstools/css-calc" "^1.2.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-text-decoration-shorthand@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" @@ -1209,6 +1491,14 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-text-decoration-shorthand@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.7.tgz#58dc60bb0718f6ec7d0a41d4124cf45a6813aeaa" + integrity sha512-+cptcsM5r45jntU6VjotnkC9GteFR7BQBfZ5oW7inLCxj7AfLGAzMbZ60hKTP13AULVZBdxky0P8um0IBfLHVA== + dependencies: + "@csstools/color-helpers" "^4.2.1" + postcss-value-parser "^4.2.0" + "@csstools/postcss-trigonometric-functions@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" @@ -1216,49 +1506,95 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-trigonometric-functions@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.10.tgz#0ad99b0a2a77cdd9c957b6e6e83221acf9b6afd8" + integrity sha512-G9G8moTc2wiad61nY5HfvxLiM/myX0aYK4s1x8MQlPH29WDPxHQM7ghGgvv2qf2xH+rrXhztOmjGHJj4jsEqXw== + dependencies: + "@csstools/css-calc" "^1.2.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-unset-value@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== +"@csstools/postcss-unset-value@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz#598a25630fd9ab0edf066d235916f7441404942a" + integrity sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg== + +"@csstools/selector-resolve-nested@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz#d872f2da402d3ce8bd0cf16ea5f9fba76b18e430" + integrity sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg== + "@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" - integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" + integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== -"@eslint/eslintrc@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" - integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== +"@csstools/selector-specificity@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz#63085d2995ca0f0e55aa8b8a07d69bfd48b844fe" + integrity sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA== + +"@csstools/utilities@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-1.0.0.tgz#42f3c213f2fb929324d465684ab9f46a0febd4bb" + integrity sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" + integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.12.2" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" + integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" + espree "^9.6.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.10.5": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc" - integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== + +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" + "@humanwhocodes/object-schema" "^2.0.3" + debug "^4.3.1" + minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -1334,6 +1670,11 @@ slash "^3.0.0" strip-ansi "^6.0.0" +"@jest/diff-sequences@30.3.0": + version "30.3.0" + resolved "https://registry.yarnpkg.com/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz#25b0818d3d83f00b9c7b04e069b8810f9014b143" + integrity sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA== + "@jest/environment@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" @@ -1344,12 +1685,12 @@ "@types/node" "*" jest-mock "^27.5.1" -"@jest/expect-utils@^29.2.0": - version "29.2.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.2.0.tgz#3c0c472115d98211e7e0a0a8fa00719bf081987f" - integrity sha512-nz2IDF7nb1qmj9hx8Ja3MFab2q9Ml8QbOaaeJNyX5JQJHU8QUvEDiMctmhGEkk3Kzr8w8vAqz4hPk/ogJSrUhg== +"@jest/expect-utils@30.3.0": + version "30.3.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-30.3.0.tgz#c45b2da9802ffed33bf43b3e019ddb95e5ad95e8" + integrity sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA== dependencies: - jest-get-type "^29.2.0" + "@jest/get-type" "30.1.0" "@jest/fake-timers@^27.5.1": version "27.5.1" @@ -1363,6 +1704,11 @@ jest-mock "^27.5.1" jest-util "^27.5.1" +"@jest/get-type@30.1.0": + version "30.1.0" + resolved "https://registry.yarnpkg.com/@jest/get-type/-/get-type-30.1.0.tgz#4fcb4dc2ebcf0811be1c04fd1cb79c2dba431cbc" + integrity sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA== + "@jest/globals@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" @@ -1372,6 +1718,14 @@ "@jest/types" "^27.5.1" expect "^27.5.1" +"@jest/pattern@30.0.1": + version "30.0.1" + resolved "https://registry.yarnpkg.com/@jest/pattern/-/pattern-30.0.1.tgz#d5304147f49a052900b4b853dedb111d080e199f" + integrity sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA== + dependencies: + "@types/node" "*" + jest-regex-util "30.0.1" + "@jest/reporters@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" @@ -1403,6 +1757,13 @@ terminal-link "^2.0.0" v8-to-istanbul "^8.1.0" +"@jest/schemas@30.0.5": + version "30.0.5" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-30.0.5.tgz#7bdf69fc5a368a5abdb49fd91036c55225846473" + integrity sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA== + dependencies: + "@sinclair/typebox" "^0.34.0" + "@jest/schemas@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" @@ -1410,13 +1771,6 @@ dependencies: "@sinclair/typebox" "^0.24.1" -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - "@jest/source-map@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" @@ -1477,6 +1831,19 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" +"@jest/types@30.3.0": + version "30.3.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-30.3.0.tgz#cada800d323cb74945c24ac74615fdb312a6c85f" + integrity sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw== + dependencies: + "@jest/pattern" "30.0.1" + "@jest/schemas" "30.0.5" + "@types/istanbul-lib-coverage" "^2.0.6" + "@types/istanbul-reports" "^3.0.4" + "@types/node" "*" + "@types/yargs" "^17.0.33" + chalk "^4.1.2" + "@jest/types@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" @@ -1500,86 +1867,82 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jest/types@^29.2.0": - version "29.2.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.2.0.tgz#c0d1ef8bc1e4f4b358e7877e34157371e7881b0b" - integrity sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== +"@jridgewell/remapping@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== +"@jridgewell/source-map@^0.3.3": + version "0.3.11" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.11.tgz#b21835cbd36db656b857c2ad02ebd413cc13a9ba" + integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" -"@kkt/ncc@~1.0.12": - version "1.0.15" - resolved "https://registry.yarnpkg.com/@kkt/ncc/-/ncc-1.0.15.tgz#60ec6bbc4358e9c4cdb54ec65b849d11e1164d1d" - integrity sha512-IjqRkHsVIMl3p6BwttOVA4Zj12vfZc1zaACDZ1D+f5sVDa8Bv+i4p4rTM8hesymui/5w32REoCuY1rMF8M7NBg== +"@kkt/ncc@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@kkt/ncc/-/ncc-1.1.2.tgz#b00705a8856e52eb4e205989b7d12e3e9e1fd43d" + integrity sha512-hHD+2YcJqDPFF5lxL9j48O/SmqeAuiGtGHuZkKwBnNw3WWkTodIMyQMBwT3gfJRMzSX3qXuwBZe/MyTD5m3KUQ== dependencies: css-minimizer-webpack-plugin "~3.4.1" - kkt "^7.2.0" + filesize "^8.0.7" + fs-extra "^11.2.0" + gzip-size "6" + kkt "^7.5.3" + minimist "^1.2.8" + react-dev-utils "^12.0.1" + terser-webpack-plugin "^5.3.9" + +"@kkt/resolve-fallback@^7.4.18": + version "7.4.18" + resolved "https://registry.yarnpkg.com/@kkt/resolve-fallback/-/resolve-fallback-7.4.18.tgz#58e9057f81e72fee0b5b6082cc38a937da180189" + integrity sha512-Ta9Ri6gezILA6PGa+Qx7c53+cOWRHuUUkK8tHjZ3zj8JCXzDg+WYw5LyATsQx0w58aPKRwE3mtBbymaziTHJIw== + dependencies: + assert "^2.0.0" + buffer "^6.0.3" + crypto-browserify "^3.12.0" + https-browserify "^1.0.0" + os "^0.1.2" + os-browserify "^0.3.0" + path-browserify "^1.0.1" + process "^0.11.10" + stream-browserify "^3.0.0" + stream-http "^3.2.0" "@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" @@ -1601,7 +1964,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -1609,19 +1972,106 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@parcel/watcher-android-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564" + integrity sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A== + +"@parcel/watcher-darwin-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz#88d3e720b59b1eceffce98dac46d7c40e8be5e8e" + integrity sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA== + +"@parcel/watcher-darwin-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz#bf05d76a78bc15974f15ec3671848698b0838063" + integrity sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg== + +"@parcel/watcher-freebsd-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz#8bc26e9848e7303ac82922a5ae1b1ef1bdb48a53" + integrity sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng== + +"@parcel/watcher-linux-arm-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz#1328fee1deb0c2d7865079ef53a2ba4cc2f8b40a" + integrity sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ== + +"@parcel/watcher-linux-arm-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz#bad0f45cb3e2157746db8b9d22db6a125711f152" + integrity sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg== + +"@parcel/watcher-linux-arm64-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz#b75913fbd501d9523c5f35d420957bf7d0204809" + integrity sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA== + +"@parcel/watcher-linux-arm64-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz#da5621a6a576070c8c0de60dea8b46dc9c3827d4" + integrity sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA== + +"@parcel/watcher-linux-x64-glibc@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz#ce437accdc4b30f93a090b4a221fd95cd9b89639" + integrity sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ== + +"@parcel/watcher-linux-x64-musl@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz#02400c54b4a67efcc7e2327b249711920ac969e2" + integrity sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg== + +"@parcel/watcher-win32-arm64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz#caae3d3c7583ca0a7171e6bd142c34d20ea1691e" + integrity sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q== + +"@parcel/watcher-win32-ia32@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz#9ac922550896dfe47bfc5ae3be4f1bcaf8155d6d" + integrity sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g== + +"@parcel/watcher-win32-x64@2.5.6": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz#73fdafba2e21c448f0e456bbe13178d8fe11739d" + integrity sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw== + +"@parcel/watcher@^2.4.1": + version "2.5.6" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.6.tgz#3f932828c894f06d0ad9cfefade1756ecc6ef1f1" + integrity sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ== + dependencies: + detect-libc "^2.0.3" + is-glob "^4.0.3" + node-addon-api "^7.0.0" + picomatch "^4.0.3" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.6" + "@parcel/watcher-darwin-arm64" "2.5.6" + "@parcel/watcher-darwin-x64" "2.5.6" + "@parcel/watcher-freebsd-x64" "2.5.6" + "@parcel/watcher-linux-arm-glibc" "2.5.6" + "@parcel/watcher-linux-arm-musl" "2.5.6" + "@parcel/watcher-linux-arm64-glibc" "2.5.6" + "@parcel/watcher-linux-arm64-musl" "2.5.6" + "@parcel/watcher-linux-x64-glibc" "2.5.6" + "@parcel/watcher-linux-x64-musl" "2.5.6" + "@parcel/watcher-win32-arm64" "2.5.6" + "@parcel/watcher-win32-ia32" "2.5.6" + "@parcel/watcher-win32-x64" "2.5.6" + "@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - version "0.5.8" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.8.tgz#da3383761e2c0c440610819f3204769022a38d12" - integrity sha512-wxXRwf+IQ6zvHSJZ+5T2RQNEsq+kx4jKRXfFvdt3nBIUzJUAvXEFsUeoaohDe/Kr84MTjGwcuIUPNcstNJORsA== + version "0.5.17" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.17.tgz#8c2f34ca8651df74895422046e11ce5a120e7930" + integrity sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ== dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" + ansi-html "^0.0.9" core-js-pure "^3.23.3" error-stack-parser "^2.0.6" - find-up "^5.0.0" html-entities "^2.1.0" - loader-utils "^2.0.0" - schema-utils "^3.0.0" + loader-utils "^2.0.4" + schema-utils "^4.2.0" source-map "^0.7.3" "@rollup/plugin-babel@^5.2.0": @@ -1661,20 +2111,30 @@ estree-walker "^1.0.1" picomatch "^2.2.2" +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + "@rushstack/eslint-patch@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" - integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== + version "1.16.1" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.16.1.tgz#4f97581e114fc79f246cee3723a5c4edd3b62415" + integrity sha512-TvZbIpeKqGQQ7X0zSCvPH9riMSFQFSggnfBjFZ1mEoILW+UuXCKwOoPcgjMwiUtRqFZ8jWhPJc4um14vC6I4ag== "@sinclair/typebox@^0.24.1": - version "0.24.46" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.46.tgz#57501b58023776dbbae9e25619146286440be34c" - integrity sha512-ng4ut1z2MCBhK/NwDVwIQp3pAUOCs/KNaW3cBxdFB2xTDrOuo1xuNmpr/9HHFhxqIvHrs1NTH3KJg6q+JSy1Kw== + version "0.24.51" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== + +"@sinclair/typebox@^0.34.0": + version "0.34.48" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.48.tgz#75b0ead87e59e1adbd6dccdc42bad4fddee73b59" + integrity sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA== "@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" @@ -1798,221 +2258,217 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@testing-library/dom@^8.5.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.19.0.tgz#bd3f83c217ebac16694329e413d9ad5fdcfd785f" - integrity sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A== +"@testing-library/dom@^9.0.0": + version "9.3.4" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" + integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^5.0.0" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" chalk "^4.1.0" dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" + lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/jest-dom@^5.16.1": - version "5.16.5" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== +"@testing-library/jest-dom@^6.0.0": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz#7613a04e146dd2976d24ddf019730d57a89d56c2" + integrity sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA== dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" + "@adobe/css-tools" "^4.4.0" aria-query "^5.0.0" - chalk "^3.0.0" css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" + dom-accessibility-api "^0.6.3" + picocolors "^1.1.1" redent "^3.0.0" -"@testing-library/react@^13.0.0": - version "13.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== +"@testing-library/react@^14.0.0": + version "14.3.1" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.3.1.tgz#29513fc3770d6fb75245c4e1245c470e4ffdd830" + integrity sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ== dependencies: "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" + "@testing-library/dom" "^9.0.0" "@types/react-dom" "^18.0.0" "@testing-library/user-event@^14.0.0": - version "14.4.3" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.4.3.tgz#af975e367743fa91989cd666666aec31a8f50591" - integrity sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q== + version "14.6.1" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.6.1.tgz#13e09a32d7a8b7060fe38304788ebf4197cd2149" + integrity sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw== "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - -"@types/aria-query@^4.2.0": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" - integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== + version "7.28.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" + integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.28.2" -"@types/body-parser@*", "@types/body-parser@~1.19.1": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== +"@types/body-parser@*", "@types/body-parser@~1.19.2": + version "1.19.6" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" + integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== dependencies: "@types/node" "*" "@types/clean-css@*": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.6.tgz#48b427285b2b654751a9bbc6f7d35e6173dec8d2" - integrity sha512-Ze1tf+LnGPmG6hBFMi0B4TEB0mhF7EiMM5oyjLDNPE9hxrPU0W+5+bHvO+eFPA+bt0iC1zkQMoU/iGdRVjcRbw== + version "4.2.11" + resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.11.tgz#3f170dedd8d096fe7e7bd1c8dda0c8314217cbe6" + integrity sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw== dependencies: "@types/node" "*" source-map "^0.6.0" "@types/connect-history-api-fallback@*", "@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" -"@types/detect-port@~1.3.1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.3.2.tgz#8c06a975e472803b931ee73740aeebd0a2eb27ae" - integrity sha512-xxgAGA2SAU4111QefXPSp5eGbDm/hW6zhvYl9IeEPZEry9F4d66QAHm5qpUXjb6IsevZV/7emAEx5MhP6O192g== +"@types/detect-port@~1.3.2": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.3.5.tgz#deecde143245989dee0e82115f3caba5ee0ea747" + integrity sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA== -"@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" -"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - version "8.4.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== +"@types/eslint@*": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== +"@types/eslint@^7.29.0 || ^8.4.1": + version "8.56.12" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" + integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz#1a77faffee9572d39124933259be2523837d7eaa" + integrity sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.31" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== +"@types/express-serve-static-core@^4.17.33": + version "4.19.8" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz#99b960322a4d576b239a640ab52ef191989b036f" + integrity sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.6.tgz#2d724b2c990dcb8c8444063f3580a903f6d500cc" + integrity sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "^2" -"@types/express@*", "@types/express@^4.17.13", "@types/express@~4.17.13": - version "4.17.14" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== +"@types/express@^4.17.13", "@types/express@~4.17.14": + version "4.17.25" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.25.tgz#070c8c73a6fee6936d65c195dbbfb7da5026649b" + integrity sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" + "@types/express-serve-static-core" "^4.17.33" "@types/qs" "*" - "@types/serve-static" "*" + "@types/serve-static" "^1" -"@types/fs-extra@~9.0.13": - version "9.0.13" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" - integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== +"@types/fs-extra@~11.0.0": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== dependencies: + "@types/jsonfile" "*" "@types/node" "*" "@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" @@ -2022,155 +2478,161 @@ integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/html-minifier@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-4.0.2.tgz#ea0b927ad0019821a2e9d14ba9c57d105b63cecc" - integrity sha512-4IkmkXJP/25R2fZsCHDX2abztXuQRzUAZq39PfCMz2loLFj8vS9y7aF6vDl58koXSTpsF+eL4Lc5Y4Aww/GCTQ== + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-4.0.6.tgz#88893fa316b82b69fe32993cc7f7dbf0c05d9011" + integrity sha512-1Dcf38DkVMYo8SIOkUka7GxI+0BztCVsnfiG2Sxb6G8ShHDQTWQb1WKps/eb3O074HNDCn8wU7LMl5N99nNG+Q== dependencies: "@types/clean-css" "*" "@types/relateurl" "*" "@types/uglify-js" "*" "@types/html-webpack-plugin@*": - version "3.2.6" - resolved "https://registry.yarnpkg.com/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.6.tgz#07951aaf0fa260dbf626f9644f1d13106d537625" - integrity sha512-U8uJSvlf9lwrKG6sKFnMhqY4qJw2QXad+PHlX9sqEXVUMilVt96aVvFde73tzsdXD+QH9JS6kEytuGO2JcYZog== + version "3.2.9" + resolved "https://registry.yarnpkg.com/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.9.tgz#9c94e8f4af5066d845b170245ec0f7bf3bda8188" + integrity sha512-puFExKcpqjZ27RYnRcsPLPXY+6tnBpyqVrJdLOx1NwiwCdqhyzLui8K2WVQTTUsR+0hhb2Y02Cjsdj540FlgZw== dependencies: "@types/html-minifier" "*" "@types/tapable" "^1" "@types/webpack" "^4" -"@types/http-proxy@^1.17.5", "@types/http-proxy@^1.17.8", "@types/http-proxy@~1.17.7": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== +"@types/http-errors@*": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== + +"@types/http-proxy@^1.17.5", "@types/http-proxy@^1.17.8", "@types/http-proxy@~1.17.9": + version "1.17.17" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.17.tgz#d9e2c4571fe3507343cb210cd41790375e59a533" + integrity sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw== dependencies: "@types/node" "*" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1", "@types/istanbul-lib-coverage@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== +"@types/istanbul-reports@^3.0.0", "@types/istanbul-reports@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@*": - version "29.1.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.1.2.tgz#7ad8077043ab5f6c108c8111bcc1d224e5600a87" - integrity sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg== + version "30.0.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-30.0.0.tgz#5e85ae568006712e4ad66f25433e9bdac8801f1d" + integrity sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA== dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" + expect "^30.0.0" + pretty-format "^30.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/mime@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== +"@types/jsonfile@*": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== + dependencies: + "@types/node" "*" + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/minimist@~1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node-forge@^1.3.0": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.14.tgz#006c2616ccd65550560c2757d8472eb6d3ecea0b" + integrity sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw== + dependencies: + "@types/node" "*" "@types/node@*": - version "18.8.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.8.5.tgz#6a31f820c1077c3f8ce44f9e203e68a176e8f59e" - integrity sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q== + version "25.5.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.5.0.tgz#5c99f37c443d9ccc4985866913f1ed364217da31" + integrity sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw== + dependencies: + undici-types "~7.18.0" -"@types/node@~17.0.21": - version "17.0.45" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" - integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== +"@types/node@~18.14.0": + version "18.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93" + integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA== "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/prettier@^2.1.5": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" - integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== - -"@types/prop-types@*": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== "@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + version "1.5.8" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== "@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + version "6.15.0" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.15.0.tgz#963ab61779843fe910639a50661b48f162bc7f79" + integrity sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow== -"@types/ramda@^0.28.15": - version "0.28.15" - resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.28.15.tgz#36bb4c8de430e3bbcd29590537569aef64409716" - integrity sha512-FCaLNVZry65jW8x/FDnKgjgkCNQxgc5AYMQwdNn6yW5M+62R+0nt2Y36U43dTNora9hcquemfrY5gxhE5pcilQ== +"@types/ramda@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.31.1.tgz#da637f3110b0677521dbc13d8a86ec7cbbf8e3fe" + integrity sha512-Vt6sFXnuRpzaEj+yeutA0q3bcAsK7wdPuASIzR9LXqL4gJPyFw8im9qchlbp4ltuf3kDEIRmPJTD/Fkg60dn7g== dependencies: - ts-toolbelt "^6.15.1" + types-ramda "^0.31.0" "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/react-dev-utils@~9.0.10": - version "9.0.11" - resolved "https://registry.yarnpkg.com/@types/react-dev-utils/-/react-dev-utils-9.0.11.tgz#0dff59c60b5011df0f851e5ec4c831cf07300ba3" - integrity sha512-SdHtle/1hyImI1VzJUp20pthFwHY2O0Pq5QWIbPyku0SboPxqbyfwFwOlrr5d4yiZRr1in7SQ4Z0IiJVrJiJrg== + version "9.0.15" + resolved "https://registry.yarnpkg.com/@types/react-dev-utils/-/react-dev-utils-9.0.15.tgz#5a345ba16626ad6686840df19ef0939734ea72c9" + integrity sha512-JSZZtC8f5FD3FvlT8F6dPojPH6u0f+E/+g9DqXgQo/7GvCdPYiK+Q+mMajZClqH/f5SjyYop7v6uiLyfgnyLQA== dependencies: "@types/eslint" "*" "@types/express" "*" "@types/html-webpack-plugin" "*" + "@types/node" "*" "@types/webpack" "^4" "@types/webpack-dev-server" "3" "@types/react-dom@^18.0.0": - version "18.0.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" - integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.0.21" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.21.tgz#b8209e9626bb00a34c76f55482697edd2b43cc67" - integrity sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" + version "18.3.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.7.tgz#b89ddf2cd83b4feafcc4e2ea41afdfb95a0d194f" + integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ== "@types/relateurl@*": - version "0.2.29" - resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.29.tgz#68ccecec3d4ffdafb9c577fe764f912afc050fe6" - integrity sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg== + version "0.2.33" + resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.33.tgz#fa174c30100d91e88d7b0ba60cefd7e8c532516f" + integrity sha512-bTQCKsVbIdzLqZhLkF5fcJQreE4y1ro4DIyVrlDNSCJRRwHhB8Z+4zXXa8jN6eDvc2HbRsEYgbvrnGvi54EpSw== "@types/resolve@1.17.1": version "1.17.1" @@ -2184,69 +2646,93 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@types/semver@^7.3.12": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.1.tgz#3ce3af1a5524ef327d2da9e4fd8b6d95c8d70528" + integrity sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA== -"@types/semver@~7.3.9": - version "7.3.12" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" - integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== +"@types/semver@~7.5.0": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/send@*": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/send/-/send-1.2.1.tgz#6a784e45543c18c774c049bff6d3dbaf045c9c74" + integrity sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ== + dependencies: + "@types/node" "*" + +"@types/send@<1": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.6.tgz#aeb5385be62ff58a52cd5459daa509ae91651d25" + integrity sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og== + dependencies: + "@types/mime" "^1" + "@types/node" "*" "@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== dependencies: "@types/express" "*" -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.0" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== +"@types/serve-static@*", "@types/serve-static@^2": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-2.2.0.tgz#d4a447503ead0d1671132d1ab6bd58b805d8de6a" + integrity sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + +"@types/serve-static@^1", "@types/serve-static@^1.13.10": + version "1.15.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.10.tgz#768169145a778f8f5dfcb6360aead414a3994fee" + integrity sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw== dependencies: - "@types/mime" "*" + "@types/http-errors" "*" "@types/node" "*" + "@types/send" "<1" "@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== dependencies: "@types/node" "*" "@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + version "0.1.6" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.6.tgz#164e169dd061795b50b83c19e4d3be09f8d3a454" + integrity sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g== -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/stack-utils@^2.0.0", "@types/stack-utils@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/tapable@^1": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== + version "1.0.12" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.12.tgz#bc2cab12e87978eee89fb21576b670350d6d86ab" + integrity sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q== -"@types/testing-library__jest-dom@^5.14.3", "@types/testing-library__jest-dom@^5.9.1": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" - integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== +"@types/testing-library__jest-dom@^5.14.3": + version "5.14.9" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" + integrity sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw== dependencies: "@types/jest" "*" "@types/trusted-types@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" - integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== "@types/uglify-js@*": - version "3.17.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.0.tgz#95271e7abe0bf7094c60284f76ee43232aef43b9" - integrity sha512-3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ== + version "3.17.5" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.5.tgz#905ce03a3cbbf2e31cbefcbc68d15497ee2e17df" + integrity sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ== dependencies: source-map "^0.6.1" @@ -2262,18 +2748,18 @@ http-proxy-middleware "^1.0.0" "@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== + version "3.2.3" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.3.tgz#b667bd13e9fa15a9c26603dce502c7985418c3d8" + integrity sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4": - version "4.41.32" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" - integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== + version "4.41.40" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.40.tgz#41ea11cfafe08de24c3ef410c58976350667e2d1" + integrity sha512-u6kMFSBM9HcoTpUXnL6mt2HSzftqb3JgYV6oxIgL2dl6sX6aCa5k6SOkzv5DuZjBTPUE/dJltKtwwuqrkZHpfw== dependencies: "@types/node" "*" "@types/tapable" "^1" @@ -2282,239 +2768,247 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@^8.5.1": - version "8.5.3" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== +"@types/ws@^8.5.5": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + version "16.0.11" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.11.tgz#de958fb62e77fc383fa6cd8066eabdd13da88f04" + integrity sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g== dependencies: "@types/yargs-parser" "*" -"@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.35.tgz#07013e46aa4d7d7d50a49e15604c1c5340d4eb24" + integrity sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5.5.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz#0159bb71410eec563968288a17bd4478cdb685bd" - integrity sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q== - dependencies: - "@typescript-eslint/scope-manager" "5.40.0" - "@typescript-eslint/type-utils" "5.40.0" - "@typescript-eslint/utils" "5.40.0" + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" debug "^4.3.4" + graphemer "^1.4.0" ignore "^5.2.0" - regexpp "^3.2.0" + natural-compare-lite "^1.4.0" semver "^7.3.7" tsutils "^3.21.0" "@typescript-eslint/experimental-utils@^5.0.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.40.0.tgz#e2c49c9052096f66481bdebc8d39cdf359c6c6c9" - integrity sha512-wDYn3NYqVOmJI4iSkyWxXUu8Xoa4+OCh97YOXZecMCuXFIgCuxOCOlkR4kZyeXWNrulFyXPcXSbs4USb5IwI8g== + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" + integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== dependencies: - "@typescript-eslint/utils" "5.40.0" + "@typescript-eslint/utils" "5.62.0" "@typescript-eslint/parser@^5.5.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.40.0.tgz#432bddc1fe9154945660f67c1ba6d44de5014840" - integrity sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw== + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== dependencies: - "@typescript-eslint/scope-manager" "5.40.0" - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/typescript-estree" "5.40.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz#d6ea782c8e3a2371ba3ea31458dcbdc934668fc4" - integrity sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw== +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== dependencies: - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/visitor-keys" "5.40.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/type-utils@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz#4964099d0158355e72d67a370249d7fc03331126" - integrity sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw== +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== dependencies: - "@typescript-eslint/typescript-estree" "5.40.0" - "@typescript-eslint/utils" "5.40.0" + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.40.0.tgz#8de07e118a10b8f63c99e174a3860f75608c822e" - integrity sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw== +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/typescript-estree@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz#e305e6a5d65226efa5471ee0f12e0ffaab6d3075" - integrity sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg== +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== dependencies: - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/visitor-keys" "5.40.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.40.0", "@typescript-eslint/utils@^5.13.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.40.0.tgz#647f56a875fd09d33c6abd70913c3dd50759b772" - integrity sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA== +"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== dependencies: + "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.40.0" - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/typescript-estree" "5.40.0" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" eslint-scope "^5.1.1" - eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz#dd2d38097f68e0d2e1e06cb9f73c0173aca54b68" - integrity sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ== +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== dependencies: - "@typescript-eslint/types" "5.40.0" + "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== +"@ungap/structured-clone@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -2532,7 +3026,7 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: +accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== @@ -2548,49 +3042,35 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-import-phases@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7" + integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-node@^1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: +acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^7.0.0, acorn@^7.1.1: +acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +acorn@^8.15.0, acorn@^8.16.0, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.9.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" + integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== address@^1.0.1, address@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.1.tgz#25bb61095b7522d65b357baa11bc05492d4c8acd" - integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -2607,14 +3087,6 @@ agent-base@6: dependencies: debug "4" -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -2627,54 +3099,66 @@ ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv-keywords@^5.0.0: +ajv-keywords@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== dependencies: fast-deep-equal "^3.1.3" -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: + version "6.14.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" + integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== +ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0, ajv@^8.9.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.18.0.tgz#8864186b6738d003eb3a933172bb3833e10cefbc" + integrity sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" +ansi-escapes@^7.0.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.3.0.tgz#5395bb74b2150a4a1d6e3c2565f4aeca78d28627" + integrity sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg== + dependencies: + environment "^1.0.0" + ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== +ansi-html@^0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.9.tgz#6512d02342ae2cc68131952644a129cb734cd3f0" + integrity sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg== + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== +ansi-regex@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" + integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== ansi-styles@^3.2.1: version "3.2.1" @@ -2690,29 +3174,29 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: +ansi-styles@^5.0.0, ansi-styles@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -ansi-styles@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== +ansi-styles@^6.2.1, ansi-styles@^6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - arg@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -2730,95 +3214,172 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" + deep-equal "^2.0.5" -aria-query@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.2.tgz#0b8a744295271861e1d933f8feca13f9b70cfdc1" - integrity sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q== +aria-query@^5.0.0, aria-query@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== + dependencies: + call-bound "^1.0.3" + is-array-buffer "^3.0.5" array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.4, array-includes@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== +array-includes@^3.1.6, array-includes@^3.1.8, array-includes@^3.1.9: + version "3.1.9" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" + integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" - is-string "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.24.0" + es-object-atoms "^1.1.1" + get-intrinsic "^1.3.0" + is-string "^1.1.1" + math-intrinsics "^1.1.0" array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564" + integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-shim-unscopables "^1.1.0" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -array.prototype.flatmap@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" - integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== +array.prototype.flatmap@^1.3.2, array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -array.prototype.reduce@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" - integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== +array.prototype.reduce@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57" + integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + is-string "^1.1.1" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" -async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + +async@^3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== asynckit@^0.4.0: version "0.4.0" @@ -2830,27 +3391,46 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.11: - version "10.4.12" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" - integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== +auto-config-loader@^1.5.0: + version "1.7.8" + resolved "https://registry.yarnpkg.com/auto-config-loader/-/auto-config-loader-1.7.8.tgz#03607f41eb8a4731693289ebb7a3f245ea16557e" + integrity sha512-mK8yQmJJy369cz0x2LJwhKD72tkTObBwhgR+3U8Ts8+wCSspED3ydXlWpsv1ZQ9g2iq4b+7EWli+ap2nTeUQog== dependencies: - browserslist "^4.21.4" - caniuse-lite "^1.0.30001407" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" + ini "^5.0.0" + jiti "^1.18.2" + jsonc-eslint-parser "^2.3.0" + lodash.merge "^4.6.2" + sucrase "^3.32.0" + toml-eslint-parser "^0.10.0" + yaml-eslint-parser "^1.2.2" + +autoprefixer@^10.4.13, autoprefixer@^10.4.19: + version "10.4.27" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.27.tgz#51ea301a5c3c5f8642f8e564759c4f573be486f2" + integrity sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA== + dependencies: + browserslist "^4.28.1" + caniuse-lite "^1.0.30001774" + fraction.js "^5.3.4" + picocolors "^1.1.1" postcss-value-parser "^4.2.0" -axe-core@^4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" - integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== +axe-core@^4.10.0: + version "4.11.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.11.1.tgz#052ff9b2cbf543f5595028b583e4763b40c78ea7" + integrity sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A== + +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== babel-jest@^27.4.2, babel-jest@^27.5.1: version "27.5.1" @@ -2867,22 +3447,15 @@ babel-jest@^27.4.2, babel-jest@^27.5.1: slash "^3.0.0" babel-loader@^8.2.3: - version "8.2.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" - integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== + version "8.4.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.4.1.tgz#6ccb75c66e62c3b144e1c5f2eaec5b8f6c08c675" + integrity sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA== dependencies: find-cache-dir "^3.3.1" - loader-utils "^2.0.0" + loader-utils "^2.0.4" make-dir "^3.1.0" schema-utils "^2.6.5" -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -2918,29 +3491,37 @@ babel-plugin-named-asset-import@^0.3.8: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== +babel-plugin-polyfill-corejs2@^0.4.14, babel-plugin-polyfill-corejs2@^0.4.15: + version "0.4.17" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz#198f970f1c99a856b466d1187e88ce30bd199d91" + integrity sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w== dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" + "@babel/compat-data" "^7.28.6" + "@babel/helper-define-polyfill-provider" "^0.6.8" + semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== +babel-plugin-polyfill-corejs3@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164" + integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" + "@babel/helper-define-polyfill-provider" "^0.6.5" + core-js-compat "^3.43.0" -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== +babel-plugin-polyfill-corejs3@^0.14.0: + version "0.14.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz#6ac08d2f312affb70c4c69c0fbba4cb417ee5587" + integrity sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.8" + core-js-compat "^3.48.0" + +babel-plugin-polyfill-regenerator@^0.6.5, babel-plugin-polyfill-regenerator@^0.6.6: + version "0.6.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz#8a6bfd5dd54239362b3d06ce47ac52b2d95d7721" + integrity sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" + "@babel/helper-define-polyfill-provider" "^0.6.8" babel-plugin-transform-react-remove-prop-types@^0.4.24: version "0.4.24" @@ -2948,22 +3529,25 @@ babel-plugin-transform-react-remove-prop-types@^0.4.24: integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz#20730d6cdc7dda5d89401cab10ac6a32067acde6" + integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^27.5.1: version "27.5.1" @@ -2974,9 +3558,9 @@ babel-preset-jest@^27.5.1: babel-preset-current-node-syntax "^1.0.0" babel-preset-react-app@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" - integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.1.0.tgz#e367f223f6c27878e6cc28471d0d506a9ab9f96c" + integrity sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg== dependencies: "@babel/core" "^7.16.0" "@babel/plugin-proposal-class-properties" "^7.16.0" @@ -2985,6 +3569,7 @@ babel-preset-react-app@^10.0.1: "@babel/plugin-proposal-numeric-separator" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.0" "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" "@babel/plugin-transform-flow-strip-types" "^7.16.0" "@babel/plugin-transform-react-display-name" "^7.16.0" "@babel/plugin-transform-runtime" "^7.16.4" @@ -3000,19 +3585,30 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +baseline-browser-mapping@^2.9.0: + version "2.10.8" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz#23d1cea1a85b181c2b8660b6cfe626dc2fb15630" + integrity sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ== + batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== bfj@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" - integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== + version "7.1.0" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" + integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== dependencies: - bluebird "^3.5.5" - check-types "^11.1.1" + bluebird "^3.7.2" + check-types "^11.2.3" hoopy "^0.1.4" + jsonpath "^1.1.1" tryer "^1.0.1" big.js@^5.2.2: @@ -3021,38 +3617,32 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bluebird@^3.5.5: +bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -body-parser@1.19.2, body-parser@~1.19.0: - version "1.19.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" - type-is "~1.6.18" +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.3.tgz#2cc2c679188eb35b006f2d0d4710bed8437a769e" + integrity sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== +bn.js@^5.2.1, bn.js@^5.2.2: + version "5.2.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.3.tgz#16a9e409616b23fef3ccbedb8d42f13bff80295e" + integrity sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w== + +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" @@ -3060,17 +3650,33 @@ body-parser@1.20.1: iconv-lite "0.4.24" on-finished "2.4.1" qs "6.11.0" - raw-body "2.5.1" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" +body-parser@~1.20.1, body-parser@~1.20.3: + version "1.20.4" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.4.tgz#f8e20f4d06ca8a50a71ed329c15dccad1cdc547f" + integrity sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA== + dependencies: + bytes "~3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "~1.2.0" + http-errors "~2.0.1" + iconv-lite "~0.4.24" + on-finished "~2.4.1" + qs "~6.14.0" + raw-body "~2.5.3" + type-is "~1.6.18" + unpipe "~1.0.0" + bonjour-service@^1.0.11: - version "1.0.14" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" - integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" @@ -3080,41 +3686,102 @@ boolbase@^1.0.0, boolbase@~1.0.0: integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + version "1.1.12" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" + integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.20.3, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz#06e530907fe2949dc21fc3c2e2302e10b1437238" + integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ== dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" + bn.js "^5.2.1" + randombytes "^2.1.0" + safe-buffer "^5.2.1" + +browserify-sign@^4.2.3: + version "4.2.5" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.5.tgz#3979269fa8af55ba18aac35deef11b45515cd27d" + integrity sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw== + dependencies: + bn.js "^5.2.2" + browserify-rsa "^4.1.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.6.1" + inherits "^2.0.4" + parse-asn1 "^5.1.9" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.4, browserslist@^4.23.1, browserslist@^4.24.0, browserslist@^4.28.1: + version "4.28.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" + integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== + dependencies: + baseline-browser-mapping "^2.9.0" + caniuse-lite "^1.0.30001759" + electron-to-chromium "^1.5.263" + node-releases "^2.0.27" + update-browserslist-db "^1.2.0" bser@2.1.1: version "2.1.1" @@ -3128,28 +3795,59 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + builtin-modules@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -bytes@3.0.0: +builtin-status-codes@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== -bytes@3.1.2: +bytes@3.1.2, bytes@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -call-bind@^1.0.0, call-bind@^1.0.2: +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0, callsites@^3.1.0: version "3.1.0" @@ -3189,17 +3887,17 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: - version "1.0.30001419" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz#3542722d57d567c8210d5e4d0f9f17336b776457" - integrity sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001759, caniuse-lite@^1.0.30001774: + version "1.0.30001780" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz#0e413de292808868a62ed9118822683fa120a110" + integrity sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== -chalk@^2.0.0, chalk@^2.4.1: +chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3208,15 +3906,7 @@ chalk@^2.0.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3230,19 +3920,19 @@ char-regex@^1.0.2: integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== + version "2.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.2.tgz#81385bb071af4df774bff8721d0ca15ef29ea0bb" + integrity sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg== -check-types@^11.1.1: - version "11.1.2" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" - integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== +check-types@^11.2.3: + version "11.2.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" + integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.3, chokidar@~3.5.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== +chokidar@^3.4.2, chokidar@^3.5.3, chokidar@^3.6.0, chokidar@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -3254,33 +3944,49 @@ check-types@^11.1.1: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== ci-info@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.5.0.tgz#bfac2a29263de4c829d806b1ab478e35091e171f" - integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +ci-info@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.4.0.tgz#7d54eff9f54b45b62401c26032696eb59c8bd18c" + integrity sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.7.tgz#bd094bfef42634ccfd9e13b9fc73274997111e39" + integrity sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + to-buffer "^1.2.2" cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + version "1.4.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" + integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== clean-css@^5.2.2: - version "5.3.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.1.tgz#d0610b0b90d125196a2894d35366f734e5d7aa32" - integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== + version "5.3.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== dependencies: source-map "~0.6.0" -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - clear-module@~4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/clear-module/-/clear-module-4.1.2.tgz#5a58a5c9f8dccf363545ad7284cad3c887352a80" @@ -3289,28 +3995,20 @@ clear-module@~4.1.2: parent-module "^2.0.0" resolve-from "^5.0.0" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" + restore-cursor "^5.0.0" -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== +cli-truncate@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-5.2.0.tgz#c8e72aaca8339c773d128c36e0a17c6315b694eb" + integrity sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw== dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" + slice-ansi "^8.0.0" + string-width "^8.2.0" cliui@^7.0.2: version "7.0.4" @@ -3321,15 +4019,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3345,9 +4034,9 @@ coa@^2.0.2: q "^1.1.2" collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz#cc1f01eb8d02298cbc9a437c74c70ab4e5210b80" + integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw== color-convert@^1.9.0: version "1.9.3" @@ -3368,7 +4057,7 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@^1.1.4, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -3378,15 +4067,15 @@ colord@^2.9.1: resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== -colorette@^2.0.10, colorette@^2.0.16, colorette@^2.0.17: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +colorette@^2.0.10, colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== colors-cli@~1.0.28: - version "1.0.28" - resolved "https://registry.yarnpkg.com/colors-cli/-/colors-cli-1.0.28.tgz#edce4c6f86acaeb58910887be87ab801b833d220" - integrity sha512-2XE8s1mB3Jr5rvirk/fFzhWY2m9S2dpZ0mWz3Yl/mzMM8hDVBawL0Rsal5hR1gJP4lgqhQfFfEmaGZpUZgEKrA== + version "1.0.33" + resolved "https://registry.yarnpkg.com/colors-cli/-/colors-cli-1.0.33.tgz#22810216e3aaf726b821f6dd3a431a9340ae99cf" + integrity sha512-PWGsmoJFdOB0t+BeHgmtuoRZUQucOLl5ii81NBzOOGVxlgE04muFNHlR5j8i8MKbOPELBl3243AI6lGBTj5ICQ== combined-stream@^1.0.8: version "1.0.8" @@ -3395,11 +4084,21 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@^14.0.3: + version "14.0.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.3.tgz#425d79b48f9af82fcd9e4fc1ea8af6c5ec07bbc2" + integrity sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" @@ -3410,16 +4109,6 @@ commander@^8.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -commander@^9.3.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" - integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - common-tags@^1.8.0: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" @@ -3430,7 +4119,7 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== -compressible@~2.0.16: +compressible@~2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== @@ -3438,16 +4127,16 @@ compressible@~2.0.16: mime-db ">= 1.43.0 < 2" compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + version "1.8.1" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.1.tgz#4a45d909ac16509195a9a28bd91094889c180d79" + integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w== dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" + bytes "3.1.2" + compressible "~2.0.18" debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" + negotiator "~0.6.4" + on-headers "~1.1.0" + safe-buffer "5.2.1" vary "~1.1.2" concat-map@0.0.1: @@ -3465,54 +4154,64 @@ connect-history-api-fallback@^2.0.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== -content-disposition@0.5.4: +content-disposition@0.5.4, content-disposition@~0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie-signature@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== + +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@~0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== -core-js-compat@^3.25.1: - version "3.25.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9" - integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== +core-js-compat@^3.43.0, core-js-compat@^3.48.0: + version "3.49.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.49.0.tgz#06145447d92f4aaf258a0c44f24b47afaeaffef6" + integrity sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA== dependencies: - browserslist "^4.21.4" + browserslist "^4.28.1" -core-js-pure@^3.23.3, core-js-pure@^3.25.1: - version "3.25.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.5.tgz#79716ba54240c6aa9ceba6eee08cf79471ba184d" - integrity sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg== +core-js-pure@^3.23.3: + version "3.49.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.49.0.tgz#ff8436b7251a3832f5fdbbe3e10f7f2e58e51fb1" + integrity sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw== core-js@^3.19.2: - version "3.25.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.5.tgz#e86f651a2ca8a0237a5f064c2fe56cef89646e27" - integrity sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw== + version "3.49.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.49.0.tgz#8b4d520ac034311fa21aa616f017ada0e0dbbddd" + integrity sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg== core-util-is@~1.0.0: version "1.0.3" @@ -3531,9 +4230,9 @@ cosmiconfig@^6.0.0: yaml "^1.7.2" cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -3541,20 +4240,74 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== +cosmiconfig@^8.3.5: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +create-ecdh@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" +crypto-browserify@^3.12.0: + version "3.12.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" + integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== + dependencies: + browserify-cipher "^1.0.1" + browserify-sign "^4.2.3" + create-ecdh "^4.0.4" + create-hash "^1.2.0" + create-hmac "^1.1.7" + diffie-hellman "^5.0.3" + hash-base "~3.0.4" + inherits "^2.0.4" + pbkdf2 "^3.1.2" + public-encrypt "^4.0.3" + randombytes "^2.1.0" + randomfill "^1.0.4" + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -3567,10 +4320,17 @@ css-blank-pseudo@^3.0.3: dependencies: postcss-selector-parser "^6.0.9" -css-declaration-sorter@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== +css-blank-pseudo@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-6.0.2.tgz#50db072d4fb5b40c2df9ffe5ca5fbb9b19c77fc8" + integrity sha512-J/6m+lsqpKPqWHOifAFtKFeGLOzw3jR92rxQcwRUfA/eTuZzKfKlxOmYDx2+tqOPQAueNvBiY8WhAeHu5qNmTg== + dependencies: + postcss-selector-parser "^6.0.13" + +css-declaration-sorter@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" + integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== css-has-pseudo@^3.0.4: version "3.0.4" @@ -3579,19 +4339,28 @@ css-has-pseudo@^3.0.4: dependencies: postcss-selector-parser "^6.0.9" +css-has-pseudo@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-6.0.5.tgz#372e7293ef9bb901ec0bdce85a6fc1365012fa2c" + integrity sha512-ZTv6RlvJJZKp32jPYnAJVhowDCrRrHUTAxsYSuUPBEDJjzws6neMnzkRblxtgmv1RgcV5dhH2gn7E3wA9Wt6lw== + dependencies: + "@csstools/selector-specificity" "^3.1.1" + postcss-selector-parser "^6.0.13" + postcss-value-parser "^4.2.0" + css-loader@^6.5.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" - integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== dependencies: icss-utils "^5.1.0" - postcss "^8.4.7" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.2.0" - semver "^7.3.5" + semver "^7.5.4" css-minimizer-webpack-plugin@^3.2.0, css-minimizer-webpack-plugin@~3.4.1: version "3.4.1" @@ -3610,6 +4379,11 @@ css-prefers-color-scheme@^6.0.3: resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== +css-prefers-color-scheme@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz#30fcb94cc38b639b66fb99e1882ffd97f741feaa" + integrity sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g== + css-select-base-adapter@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" @@ -3658,44 +4432,49 @@ css-what@^3.2.1: integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + version "6.2.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea" + integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== css.escape@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== -cssdb@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.2.tgz#e1cadfe2be318797bd02ca929d2b3c7bac332abc" - integrity sha512-Vm4b6P/PifADu0a76H0DKRNVWq3Rq9xa/Nx6oEMUBJlwTUuZoZ3dkZxo8Gob3UEL53Cq+Ma1GBgISed6XEBs3w== +cssdb@^7.1.0: + version "7.11.2" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.2.tgz#127a2f5b946ee653361a5af5333ea85a39df5ae5" + integrity sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A== + +cssdb@^8.1.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.8.0.tgz#b5a87e014d29d27924bd07d1f951206eb42b794f" + integrity sha512-QbLeyz2Bgso1iRlh7IpWk6OKa3lLNGXsujVjDMPl9rOZpxKeiG69icLpbLCFxeURwmcdIfZqQyhlooKJYM4f8Q== cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.2.12: - version "5.2.12" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz#ebe6596ec7030e62c3eb2b3c09f533c0644a9a97" - integrity sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew== +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== dependencies: - css-declaration-sorter "^6.3.0" + css-declaration-sorter "^6.3.1" cssnano-utils "^3.1.0" postcss-calc "^8.2.3" - postcss-colormin "^5.3.0" - postcss-convert-values "^5.1.2" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" postcss-discard-comments "^5.1.2" postcss-discard-duplicates "^5.1.0" postcss-discard-empty "^5.1.1" postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.6" - postcss-merge-rules "^5.1.2" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" postcss-minify-font-values "^5.1.0" postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.3" + postcss-minify-params "^5.1.4" postcss-minify-selectors "^5.2.1" postcss-normalize-charset "^5.1.0" postcss-normalize-display-values "^5.1.0" @@ -3703,11 +4482,11 @@ cssnano-preset-default@^5.2.12: postcss-normalize-repeat-style "^5.1.1" postcss-normalize-string "^5.1.0" postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.0" + postcss-normalize-unicode "^5.1.1" postcss-normalize-url "^5.1.0" postcss-normalize-whitespace "^5.1.1" postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.0" + postcss-reduce-initial "^5.1.2" postcss-reduce-transforms "^5.1.0" postcss-svgo "^5.1.0" postcss-unique-selectors "^5.1.1" @@ -3718,11 +4497,11 @@ cssnano-utils@^3.1.0: integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^5.0.6: - version "5.1.13" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.13.tgz#83d0926e72955332dc4802a7070296e6258efc0a" - integrity sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ== + version "5.1.15" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== dependencies: - cssnano-preset-default "^5.2.12" + cssnano-preset-default "^5.2.14" lilconfig "^2.0.3" yaml "^1.10.2" @@ -3750,11 +4529,6 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== - damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -3769,19 +4543,46 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@2.6.9, debug@^2.6.0, debug@^2.6.9: +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^3.2.7: version "3.2.7" @@ -3791,24 +4592,48 @@ debug@^3.2.7: ms "^2.1.1" decimal.js@^10.2.1: - version "10.4.2" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.2.tgz#0341651d1d997d86065a2ce3a441fbd0d8e8b98e" - integrity sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA== + version "10.6.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" + integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-gateway@^6.0.3: version "6.0.3" @@ -3817,30 +4642,35 @@ default-gateway@^6.0.3: dependencies: execa "^5.0.0" +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== +define-properties@^1.1.3, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: + define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" -defined@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -depd@2.0.0: +depd@2.0.0, depd@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== @@ -3850,15 +4680,23 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -destroy@1.2.0: +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0, destroy@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg== +detect-libc@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== detect-newline@^3.0.0: version "3.1.0" @@ -3878,22 +4716,13 @@ detect-port-alt@^1.1.6: address "^1.0.1" debug "^2.6.0" -detect-port@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== +detect-port@~1.6.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67" + integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q== dependencies: address "^1.0.1" - debug "^2.6.0" - -detective@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" - integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== - dependencies: - acorn-node "^1.8.2" - defined "^1.0.0" - minimist "^1.2.6" + debug "4" didyoumean@^1.2.2: version "1.2.2" @@ -3905,15 +4734,14 @@ diff-sequences@^27.5.1: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== -diff-sequences@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.2.0.tgz#4c55b5b40706c7b5d2c5c75999a50c56d214e8f6" - integrity sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diffie-hellman@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" dir-glob@^3.0.1: version "3.0.1" @@ -3927,15 +4755,10 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - dns-packet@^5.2.2: - version "5.4.0" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" @@ -3953,10 +4776,15 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.14" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== +dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-accessibility-api@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" + integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== dom-converter@^0.2.0: version "0.2.0" @@ -4041,32 +4869,49 @@ dotenv@^10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== ejs@^3.1.6: - version "3.1.8" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" - integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.251: - version "1.4.282" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.282.tgz#02af3fd6051e97ac3388a4b11d455bc1ca49838f" - integrity sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg== +electron-to-chromium@^1.5.263: + version "1.5.321" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz#57a80554e2e7fd65e3689d320f52a64723472d5d" + integrity sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ== + +elliptic@^6.5.3, elliptic@^6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emittery@^0.10.2: version "0.10.2" @@ -4078,6 +4923,11 @@ emittery@^0.8.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== +emoji-regex@^10.3.0: + version "10.6.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" + integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4098,23 +4948,33 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +enhanced-resolve@^5.20.0: + version "5.20.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz#eeeb3966bea62c348c40a0cc9e7912e2557d0be0" + integrity sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA== dependencies: graceful-fs "^4.2.4" - tapable "^2.2.0" + tapable "^2.3.0" entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== + error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + version "1.3.4" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" + integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== dependencies: is-arrayish "^0.2.1" @@ -4125,66 +4985,161 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1: - version "1.20.4" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" - integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" +es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0, es-abstract@^1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.1.tgz#f0c131ed5ea1bb2411134a8dd94def09c46c7899" + integrity sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.2" + is-data-view "^1.0.2" + is-negative-zero "^2.0.3" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" es-array-method-boxes-properly@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-iterator-helpers@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.3.1.tgz#3be0f4e63438d6c5a1fb5f33b891aaad3f7dae06" + integrity sha512-zWwRvqWiuBPr0muUG/78cW3aHROFCNIQ3zpmYDpwdbnt2m+xlNyRWpHBpa2lJjSBit7BQ+RXA1iwbSmu5yJ/EQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.24.1" + es-errors "^1.3.0" + es-set-tostringtag "^2.1.0" + function-bind "^1.1.2" + get-intrinsic "^1.3.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.5" + math-intrinsics "^1.1.0" + safe-array-concat "^1.1.3" + +es-module-lexer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz#f657cd7a9448dcdda9c070a3cb75e5dc1e85f5b1" + integrity sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: - has "^1.0.3" + es-errors "^1.3.0" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== + dependencies: + hasown "^2.0.2" + +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== + dependencies: + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-html@~1.0.3: version "1.0.3" @@ -4206,15 +5161,14 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== +escodegen@^2.0.0, escodegen@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== dependencies: esprima "^4.0.1" estraverse "^5.2.0" esutils "^2.0.2" - optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" @@ -4238,18 +5192,19 @@ eslint-config-react-app@^7.0.0, eslint-config-react-app@^7.0.1: eslint-plugin-react-hooks "^4.3.0" eslint-plugin-testing-library "^5.0.1" -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" - resolve "^1.20.0" + is-core-module "^2.13.0" + resolve "^1.22.4" -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== +eslint-module-utils@^2.12.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" + integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== dependencies: debug "^3.2.7" @@ -4262,23 +5217,29 @@ eslint-plugin-flowtype@^8.0.3: string-natural-compare "^3.0.1" eslint-plugin-import@^2.25.3: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" + version "2.32.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" + integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.9" + array.prototype.findlastindex "^1.2.6" + array.prototype.flat "^1.3.3" + array.prototype.flatmap "^1.3.3" + debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.1" + hasown "^2.0.2" + is-core-module "^2.16.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.1" + semver "^6.3.1" + string.prototype.trimend "^1.0.9" + tsconfig-paths "^3.15.0" eslint-plugin-jest@^25.3.0: version "25.7.0" @@ -4288,55 +5249,61 @@ eslint-plugin-jest@^25.3.0: "@typescript-eslint/experimental-utils" "^5.0.0" eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" + version "6.10.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz#d2812bb23bf1ab4665f1718ea442e8372e638483" + integrity sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q== + dependencies: + aria-query "^5.3.2" + array-includes "^3.1.8" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "^4.10.0" + axobject-query "^4.1.0" damerau-levenshtein "^1.0.8" emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" + hasown "^2.0.2" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" minimatch "^3.1.2" - semver "^6.3.0" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.1" eslint-plugin-react-hooks@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react@^7.27.1: - version "7.31.10" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz#6782c2c7fe91c09e715d536067644bbb9491419a" - integrity sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA== - dependencies: - array-includes "^3.1.5" - array.prototype.flatmap "^1.3.0" + version "7.37.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" + integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.3" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" + es-iterator-helpers "^1.2.1" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.5" - object.fromentries "^2.0.5" - object.hasown "^1.1.1" - object.values "^1.1.5" + object.entries "^1.1.9" + object.fromentries "^2.0.8" + object.values "^1.2.1" prop-types "^15.8.1" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.7" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.12" + string.prototype.repeat "^1.0.0" eslint-plugin-testing-library@^5.0.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz#c1b2112a40aab61f93e10859e8b2d81e54f0ce84" - integrity sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA== + version "5.11.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" + integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== dependencies: - "@typescript-eslint/utils" "^5.13.0" + "@typescript-eslint/utils" "^5.58.0" eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" @@ -4346,30 +5313,23 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: +eslint-visitor-keys@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint-webpack-plugin@^3.1.1: version "3.2.0" @@ -4383,67 +5343,72 @@ eslint-webpack-plugin@^3.1.1: schema-utils "^4.0.0" eslint@^8.3.0: - version "8.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.25.0.tgz#00eb962f50962165d0c4ee3327708315eaa8058b" - integrity sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A== - dependencies: - "@eslint/eslintrc" "^1.3.3" - "@humanwhocodes/config-array" "^0.10.5" + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" "@humanwhocodes/module-importer" "^1.0.1" - ajv "^6.10.0" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" - grapheme-splitter "^1.0.4" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-sdsl "^4.1.4" + is-path-inside "^3.0.3" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" + optionator "^0.9.3" strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== +espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.8.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.1" + +esprima@1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.5.tgz#0993502feaf668138325756f30f9a51feeec11e9" + integrity sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ== esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== +esquery@^1.4.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" + integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g== dependencies: estraverse "^5.1.0" @@ -4484,11 +5449,24 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +eventemitter3@^5.0.1: + version "5.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.4.tgz#a86d66170433712dde814707ac52b5271ceb1feb" + integrity sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw== + events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -4504,21 +5482,6 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -4534,86 +5497,88 @@ expect@^27.5.1: jest-matcher-utils "^27.5.1" jest-message-util "^27.5.1" -expect@^29.0.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.2.0.tgz#b90c6df52be7abfd9f206f273fbcf8b33d8f332d" - integrity sha512-03ClF3GWwUqd9Grgkr9ZSdaCJGMRA69PQ8jT7o+Bx100VlGiAFf9/8oIm9Qve7ZVJhuJxFftqFhviZJRxxNfvg== +expect@^30.0.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-30.3.0.tgz#1b82111517d1ab030f3db0cf1b4061c8aa644f61" + integrity sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q== dependencies: - "@jest/expect-utils" "^29.2.0" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.2.0" - jest-message-util "^29.2.0" - jest-util "^29.2.0" + "@jest/expect-utils" "30.3.0" + "@jest/get-type" "30.1.0" + jest-matcher-utils "30.3.0" + jest-message-util "30.3.0" + jest-mock "30.3.0" + jest-util "30.3.0" express@^4.17.3: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + version "4.22.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.22.1.tgz#1de23a09745a4fffdb39247b344bb5eaff382069" + integrity sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" + body-parser "~1.20.3" + content-disposition "~0.5.4" content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" + cookie "~0.7.1" + cookie-signature "~1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" + finalhandler "~1.3.1" + fresh "~0.5.2" + http-errors "~2.0.0" + merge-descriptors "1.0.3" methods "~1.1.2" - on-finished "2.4.1" + on-finished "~2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "~0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "~6.14.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "~0.19.0" + serve-static "~1.16.2" setprototypeof "1.2.0" - statuses "2.0.1" + statuses "~2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" -express@~4.17.2: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== +express@~4.19.0: + version "4.19.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" + integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.2" + body-parser "1.20.2" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.2" + cookie "0.6.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.7" + qs "6.11.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" + send "0.18.0" + serve-static "1.15.0" setprototypeof "1.2.0" - statuses "~1.5.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -4623,31 +5588,36 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== +fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fast-uri@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" + integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== + fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.20.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.20.1.tgz#ca750a10dc925bc8b18839fd203e3ef4b3ced675" + integrity sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw== dependencies: reusify "^1.0.4" @@ -4665,6 +5635,11 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -4680,22 +5655,22 @@ file-loader@^6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -filelist@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== +filelist@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.6.tgz#1e8870942a7c636c862f7c49b9394937b6a995a3" + integrity sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA== dependencies: minimatch "^5.0.1" -filesize@^8.0.6: +filesize@^8.0.6, filesize@^8.0.7: version "8.0.7" resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -4712,28 +5687,19 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +finalhandler@~1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.2.tgz#1ebc2228fc7673aac4a472c310cc05b77d852b88" + integrity sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "~2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "~2.0.2" unpipe "~1.0.0" -find-cache-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" @@ -4767,27 +5733,35 @@ find-up@^5.0.0: path-exists "^4.0.0" flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flatted@^3.2.9: + version "3.4.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" + integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== follow-redirects@^1.0.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + version "1.15.11" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" + integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== + +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz#4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340" - integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== + version "6.5.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== dependencies: "@babel/code-frame" "^7.8.3" "@types/json-schema" "^7.0.5" @@ -4804,30 +5778,32 @@ fork-ts-checker-webpack-plugin@^6.5.0: tapable "^1.0.0" form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + version "3.0.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.4.tgz#938273171d3f999286a4557528ce022dc2c98df1" + integrity sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" - mime-types "^2.1.12" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.35" forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== +fraction.js@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-5.3.4.tgz#8c0fcc6a9908262df4ed197427bdeef563e0699a" + integrity sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ== -fresh@0.5.2: +fresh@0.5.2, fresh@~0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-extra@^10.0.0, fs-extra@~10.1.0: +fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -4836,6 +5812,15 @@ fs-extra@^10.0.0, fs-extra@~10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.2.0: + version "11.3.4" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.4.tgz#ab6934eca8bcf6f7f6b82742e33591f86301d6fc" + integrity sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -4846,10 +5831,19 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== +fs-extra@~11.1.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.1.0.tgz#632aa15a20e71828ed56b24303363fb1414e5997" + integrity sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw== fs.realpath@^1.0.0: version "1.0.0" @@ -4857,30 +5851,37 @@ fs.realpath@^1.0.0: integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" -functions-have-names@^1.2.2: +functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== +generator-function@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" + integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -4891,14 +5892,26 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" +get-east-asian-width@^1.0.0, get-east-asian-width@^1.3.1, get-east-asian-width@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz#ce7008fe345edcf5497a6f557cfa54bc318a9ce7" + integrity sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" @@ -4910,18 +5923,27 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stream@^6.0.0, get-stream@^6.0.1: +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -4930,7 +5952,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1, glob-parent@^6.0.2: +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -4970,18 +5992,21 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -4994,17 +6019,22 @@ globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -gzip-size@^6.0.0: +gzip-size@6, gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== @@ -5021,10 +6051,10 @@ harmony-reflect@^1.4.6: resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^3.0.0: version "3.0.0" @@ -5036,37 +6066,79 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.1.1" + es-define-property "^1.0.0" -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-symbols@^1.0.1, has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash-base@^3.0.0, hash-base@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.2.tgz#79d72def7611c3f6e3c3b5730652638001b10a74" + integrity sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg== dependencies: - has-symbols "^1.0.2" + inherits "^2.0.4" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + to-buffer "^1.2.1" -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +hash-base@~3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a" + integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hoopy@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" @@ -5090,9 +6162,9 @@ html-encoding-sniffer@^2.0.1: whatwg-encoding "^1.0.5" html-entities@^2.1.0, html-entities@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + version "2.6.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8" + integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== html-escaper@^2.0.0: version "2.0.2" @@ -5113,9 +6185,9 @@ html-minifier-terser@^6.0.2: terser "^5.10.0" html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== + version "5.6.6" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.6.tgz#5321b9579f4a1949318550ced99c2a4a4e60cbaf" + integrity sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw== dependencies: "@types/html-minifier-terser" "^6.0.0" html-minifier-terser "^6.0.2" @@ -5138,17 +6210,6 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -5160,20 +6221,32 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== +http-errors@~1.8.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== dependencies: depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + +http-errors@~2.0.0, http-errors@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.1.tgz#36d2f65bc909c8790018dd36fb4d93da6caae06b" + integrity sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== + dependencies: + depd "~2.0.0" + inherits "~2.0.4" + setprototypeof "~1.2.0" + statuses "~2.0.2" + toidentifier "~1.0.1" http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + version "0.5.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== http-proxy-agent@^4.0.1: version "4.0.1" @@ -5196,9 +6269,9 @@ http-proxy-middleware@^1.0.0: micromatch "^4.0.2" http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + version "2.0.9" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef" + integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -5215,6 +6288,11 @@ http-proxy@^1.18.1, http-proxy@~1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -5228,17 +6306,12 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== - -husky@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" - integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== +husky@^9.1.7: + version "9.1.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" + integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@~0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5258,9 +6331,9 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== idb@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.0.tgz#2cc886be57738419e57f9aab58f647e5e2160270" - integrity sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg== + version "7.1.1" + resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" + integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== identity-obj-proxy@^3.0.0: version "3.0.0" @@ -5269,33 +6342,38 @@ identity-obj-proxy@^3.0.0: dependencies: harmony-reflect "^1.4.6" +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== immer@^9.0.7: - version "9.0.15" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.15.tgz#0b9169e5b1d22137aba7d43f8a81a495dd1b62dc" - integrity sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ== + version "9.0.21" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== -immutable@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" - integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== +immutable@^5.1.5: + version "5.1.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.5.tgz#93ee4db5c2a9ab42a4a783069f3c5d8847d40165" + integrity sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A== -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -5318,29 +6396,29 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +ini@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-5.0.0.tgz#a7a4615339843d9a8ccc2d85c9d81cf93ffbc638" + integrity sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw== + +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" ipaddr.js@1.9.1: version "1.9.1" @@ -5348,21 +6426,49 @@ ipaddr.js@1.9.1: integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + version "2.3.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.3.0.tgz#71dce70e1398122208996d1c22f2ba46a24b1abc" + integrity sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg== + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== dependencies: - has-bigints "^1.0.1" + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" @@ -5371,32 +6477,42 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== +is-core-module@^2.13.0, is-core-module@^2.16.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - has "^1.0.3" + hasown "^2.0.2" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -5408,21 +6524,41 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== +is-fullwidth-code-point@^5.0.0, is-fullwidth-code-point@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz#046b2a6d4f6b156b2233d3207d4b5a9783999b98" + integrity sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== + dependencies: + get-east-asian-width "^1.3.1" is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-generator-function@^1.0.10, is-generator-function@^1.0.7: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5" + integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== + dependencies: + call-bound "^1.0.4" + generator-function "^2.0.0" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -5430,22 +6566,36 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-map@^2.0.2, is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" @@ -5457,30 +6607,30 @@ is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.1.4, is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-regexp@^1.0.0: version "1.0.0" @@ -5492,48 +6642,71 @@ is-root@^2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-set@^2.0.2, is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - has-symbols "^1.0.2" + which-typed-array "^1.1.16" is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-wsl@^2.2.0: version "2.2.0" @@ -5542,6 +6715,11 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -5552,15 +6730,10 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.2.1" @@ -5574,12 +6747,12 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: semver "^6.3.0" istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== dependencies: istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" + make-dir "^4.0.0" supports-color "^7.1.0" istanbul-lib-source-maps@^4.0.0: @@ -5592,22 +6765,33 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" + integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +iterator.prototype@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== + dependencies: + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" + jake@^10.8.5: - version "10.8.5" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== + version "10.9.4" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.4.tgz#d626da108c63d5cfb00ab5c25fadc7e0084af8e6" + integrity sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA== dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" + async "^3.2.6" + filelist "^1.0.4" + picocolors "^1.1.1" jest-changed-files@^27.5.1: version "27.5.1" @@ -5691,6 +6875,16 @@ jest-config@^27.5.1: slash "^3.0.0" strip-json-comments "^3.1.1" +jest-diff@30.3.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.3.0.tgz#e0a4c84ef350ffd790ffd5b0016acabeecf5f759" + integrity sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ== + dependencies: + "@jest/diff-sequences" "30.3.0" + "@jest/get-type" "30.1.0" + chalk "^4.1.2" + pretty-format "30.3.0" + jest-diff@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" @@ -5701,16 +6895,6 @@ jest-diff@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-diff@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.2.0.tgz#b1e11ac1a1401fc4792ef8ba406b48f1ae7d2bc5" - integrity sha512-GsH07qQL+/D/GxlnU+sSg9GL3fBOcuTlmtr3qr2pnkiODCwubNN2/7slW4m3CvxDsEus/VEOfQKRFLyXsUlnZw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.2.0" - jest-get-type "^29.2.0" - pretty-format "^29.2.0" - jest-docblock@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" @@ -5759,11 +6943,6 @@ jest-get-type@^27.5.1: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== - jest-haste-map@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" @@ -5815,6 +6994,16 @@ jest-leak-detector@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" +jest-matcher-utils@30.3.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz#d6c739fec1ecd33809f2d2b1348f6ab01d2f2493" + integrity sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA== + dependencies: + "@jest/get-type" "30.1.0" + chalk "^4.1.2" + jest-diff "30.3.0" + pretty-format "30.3.0" + jest-matcher-utils@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" @@ -5825,15 +7014,20 @@ jest-matcher-utils@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.2.0.tgz#d1d73add0e0efb0e316a50f296977505dc053e02" - integrity sha512-FcEfKZ4vm28yCdBsvC69EkrEhcfex+IYlRctNJXsRG9+WC3WxgBNORnECIgqUtj7o/h1d8o7xB/dFUiLi4bqtw== +jest-message-util@30.3.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-30.3.0.tgz#4d723544d36890ba862ac3961db52db5b0d1ba39" + integrity sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw== dependencies: - chalk "^4.0.0" - jest-diff "^29.2.0" - jest-get-type "^29.2.0" - pretty-format "^29.2.0" + "@babel/code-frame" "^7.27.1" + "@jest/types" "30.3.0" + "@types/stack-utils" "^2.0.3" + chalk "^4.1.2" + graceful-fs "^4.2.11" + picomatch "^4.0.3" + pretty-format "30.3.0" + slash "^3.0.0" + stack-utils "^2.0.6" jest-message-util@^27.5.1: version "27.5.1" @@ -5865,20 +7059,14 @@ jest-message-util@^28.1.3: slash "^3.0.0" stack-utils "^2.0.3" -jest-message-util@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.2.0.tgz#cbd43fd9a20a8facd4267ac37556bc5c9a525ec0" - integrity sha512-arBfk5yMFMTnMB22GyG601xGSGthA02vWSewPaxoFo0F9wBqDOyxccPbCcYu8uibw3kduSHXdCOd1PsLSgdomg== +jest-mock@30.3.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-30.3.0.tgz#e0fa4184a596a6c4fdec53d4f412158418923747" + integrity sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog== dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.2.0" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.2.0" - slash "^3.0.0" - stack-utils "^2.0.3" + "@jest/types" "30.3.0" + "@types/node" "*" + jest-util "30.3.0" jest-mock@^27.5.1: version "27.5.1" @@ -5889,9 +7077,14 @@ jest-mock@^27.5.1: "@types/node" "*" jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@30.0.1: + version "30.0.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-30.0.1.tgz#f17c1de3958b67dfe485354f5a10093298f2a49b" + integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA== jest-regex-util@^27.5.1: version "27.5.1" @@ -6019,6 +7212,18 @@ jest-snapshot@^27.5.1: pretty-format "^27.5.1" semver "^7.3.2" +jest-util@30.3.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-30.3.0.tgz#95a4fbacf2dac20e768e2f1744b70519f2ba7980" + integrity sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg== + dependencies: + "@jest/types" "30.3.0" + "@types/node" "*" + chalk "^4.1.2" + ci-info "^4.2.0" + graceful-fs "^4.2.11" + picomatch "^4.0.3" + jest-util@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" @@ -6043,18 +7248,6 @@ jest-util@^28.1.3: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-util@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.2.0.tgz#797935697e83a5722aeba401ed6cd01264295566" - integrity sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw== - dependencies: - "@jest/types" "^29.2.0" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - jest-validate@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" @@ -6143,10 +7336,10 @@ jest@^27.4.3: import-local "^3.0.2" jest-cli "^27.5.1" -js-sdsl@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" - integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== +jiti@^1.18.2, jiti@^1.20.0, jiti@^1.21.7: + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -6154,17 +7347,17 @@ js-sdsl@^4.1.4: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + version "3.14.2" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.2.tgz#77485ce1dd7f33c061fd1b16ecea23b55fcb04b0" + integrity sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg== dependencies: argparse "^1.0.7" esprima "^4.0.0" js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== dependencies: argparse "^2.0.1" @@ -6201,15 +7394,15 @@ jsdom@^16.6.0: ws "^7.4.6" xml-name-validator "^3.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2, jsesc@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" @@ -6236,74 +7429,105 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^2.1.2, json5@^2.2.0, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-eslint-parser@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.2.tgz#f135454fd35784ecc1b848908f0d3e98a5be9433" + integrity sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA== + dependencies: + acorn "^8.5.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + semver "^7.3.5" jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + version "6.2.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.0.tgz#7c265bd1b65de6977478300087c99f1c84383f62" + integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg== dependencies: universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" +jsonpath@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.3.0.tgz#623197970fb433845c68024bf9e2b864f5376ab2" + integrity sha512-0kjkYHJBkAy50Z5QzArZ7udmvxrJzkpKYW27fiF//BrMY7TQibYLl+FYIXN2BiYmwMIVzSfD8aDRj6IzgBX2/w== + dependencies: + esprima "1.2.5" + static-eval "2.1.1" + underscore "1.13.6" + jsonpointer@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" + json-buffer "3.0.1" kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kkt@^7.2.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/kkt/-/kkt-7.2.1.tgz#4fe2e9383f585cb71e44c0e9d3f63769a6cf5b29" - integrity sha512-rmpn+N34oiLRF1t24nqNIdYqViQl40w8etcfgqCzAC8xEuaCudTihChEE5Uw4hCkz1V6tbL3zgt4Vv4FghDpDA== +kkt@^7.5.3: + version "7.5.5" + resolved "https://registry.yarnpkg.com/kkt/-/kkt-7.5.5.tgz#5ff65f649b0f0ac98147d9090115cfda3144d344" + integrity sha512-2EJQDVRE61eWSrFGqy0pmlEJEieNtZHAFmoYs7jAInnwyQEHBUkklS+C6+Tr1IgmJ//Rlisy6PmSvMxiUYrCUg== dependencies: - "@babel/register" "~7.17.7" - "@testing-library/jest-dom" "^5.16.1" - "@testing-library/react" "^13.0.0" + "@babel/plugin-proposal-private-property-in-object" "^7.21.11" + "@babel/runtime" "^7.18.3" + "@kkt/resolve-fallback" "^7.4.18" + "@testing-library/jest-dom" "^6.0.0" + "@testing-library/react" "^14.0.0" "@testing-library/user-event" "^14.0.0" - "@types/fs-extra" "~9.0.13" + "@types/fs-extra" "~11.0.0" "@types/minimist" "~1.2.2" "@types/react-dev-utils" "~9.0.10" - "@types/semver" "~7.3.9" + "@types/semver" "~7.5.0" "@types/testing-library__jest-dom" "^5.14.3" ajv "^8.8.0" + auto-config-loader "^1.5.0" eslint-config-react-app "^7.0.0" - fs-extra "~10.1.0" + fs-extra "~11.1.0" minimist "~1.2.6" mocker-api "~2.9.5" postcss "^8.4.4" postcss-flexbugs-fixes "^5.0.2" - postcss-loader "^6.2.1" + postcss-loader "^7.0.0" postcss-normalize "^10.0.1" - postcss-preset-env "^7.0.1" - react-scripts "~5.0.0" + postcss-preset-env "^9.0.0" + react-scripts ">=2.1.3" + resolve-package-path "~4.0.3" sass "^1.45.1" - semver "~7.3.5" - ts-node "~10.8.0" - typescript "~4.7.0" + semver "~7.5.0" + typescript "^5.1.3" webpack "^5.65.0" kleur@^3.0.3: @@ -6312,21 +7536,29 @@ kleur@^3.0.3: integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== klona@^2.0.4, klona@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== -language-subtag-registry@~0.3.2: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== +language-subtag-registry@^0.3.20: + version "0.3.23" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== -language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== dependencies: - language-subtag-registry "~0.3.2" + language-subtag-registry "^0.3.20" + +launch-editor@^2.6.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.13.1.tgz#d96ae376a282011661a112479a4bc2b8c1d914be" + integrity sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA== + dependencies: + picocolors "^1.1.1" + shell-quote "^1.8.3" leven@^3.1.0: version "3.1.0" @@ -6341,85 +7573,68 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lilconfig@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== +lilconfig@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== -lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== +lilconfig@^3.1.1, lilconfig@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.0.3: - version "13.0.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" - integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.17" - commander "^9.3.0" - debug "^4.3.4" - execa "^6.1.0" - lilconfig "2.0.5" - listr2 "^4.0.5" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.2" - pidtree "^0.6.0" - string-argv "^0.3.1" - yaml "^2.1.1" - -listr2@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" - integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.5" - through "^2.3.8" - wrap-ansi "^7.0.0" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== +lint-staged@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-16.4.0.tgz#a00b0e3abff59239cef6d7d9341e8f8473308e23" + integrity sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw== + dependencies: + commander "^14.0.3" + listr2 "^9.0.5" + picomatch "^4.0.3" + string-argv "^0.3.2" + tinyexec "^1.0.4" + yaml "^2.8.2" + +listr2@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-9.0.5.tgz#92df7c4416a6da630eb9ef46da469b70de97b316" + integrity sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g== + dependencies: + cli-truncate "^5.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.1.0" + rfdc "^1.4.1" + wrap-ansi "^9.0.0" + +loader-runner@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.1.tgz#6c76ed29b0ccce9af379208299f07f876de737e3" + integrity sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== -loader-utils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== +loader-utils@^2.0.0, loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" json5 "^2.1.2" loader-utils@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" - integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== + version "3.3.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== local-ip-url@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/local-ip-url/-/local-ip-url-1.0.3.tgz#4a4bf4eff91a847f870918dff3e1e3273605a81d" - integrity sha512-OyHVtNHgSmxr8B+6iA8sxlGrdNQJdr6M8db5/v83BdZA/cYe7+0i1XsyBQ0AoRj2nK32O3znEuPU9/b8TS6iww== + version "1.0.11" + resolved "https://registry.yarnpkg.com/local-ip-url/-/local-ip-url-1.0.11.tgz#c268b80843b67caaf7205da23eedc99a4cfbfe80" + integrity sha512-w3KOXzEGiT6SIatz3n+nFMoqvkEqAinq+/2jllfwN6hGeuAVlc6lTTj8YNTA7vOUZzo3uRlm2l7R/XVHYpExnA== locate-path@^3.0.0: version "3.0.0" @@ -6468,20 +7683,21 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.23" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" + integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" loose-envify@^1.4.0: version "1.4.0" @@ -6497,6 +7713,13 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -6504,10 +7727,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" @@ -6516,25 +7739,19 @@ magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: +make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" makeerror@1.0.12: version "1.0.12" @@ -6543,6 +7760,20 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" @@ -6559,17 +7790,22 @@ media-typer@0.3.0: integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.1.2, memfs@^3.4.3: - version "3.4.7" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" - integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: - fs-monkey "^1.0.3" + fs-monkey "^1.0.4" merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -6585,20 +7821,33 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +"mime-db@>= 1.43.0 < 2": + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.24, mime-types@~2.1.34, mime-types@~2.1.35: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -6615,10 +7864,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== min-indent@^1.0.0: version "1.0.1" @@ -6626,42 +7875,41 @@ min-indent@^1.0.0: integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-css-extract-plugin@^2.4.5: - version "2.6.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" - integrity sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg== + version "2.10.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.1.tgz#a7f0bb890f4e1ce6dfc124bd1e6d6fcd3b359844" + integrity sha512-k7G3Y5QOegl380tXmZ68foBRRjE9Ljavx835ObdvmZjQ639izvZD8CS7BkWw1qKPPzHsGL/JDhl0uyU1zc2rJw== dependencies: schema-utils "^4.0.0" + tapable "^2.2.1" -minimalistic-assert@^1.0.0: +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== dependencies: brace-expansion "^1.1.7" minimatch@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + version "5.1.9" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.9.tgz#1293ef15db0098b394540e8f9f744f9fda8dee4b" + integrity sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw== dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.6, minimist@~1.2.5, minimist@~1.2.6: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== +minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.6, minimist@~1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mkdirp@~0.5.1: version "0.5.6" @@ -6671,38 +7919,33 @@ mkdirp@~0.5.1: minimist "^1.2.6" mocker-api@~2.9.5: - version "2.9.5" - resolved "https://registry.yarnpkg.com/mocker-api/-/mocker-api-2.9.5.tgz#a8a7612812a00c11f474e380aab0c2a072ee60d5" - integrity sha512-Ra/JgyCNw4vTFiZSGfldkQ4Px6TfIuMebHBEmIoQF3nJMB/t2m3OQEHTK4U5JSw1jiGhNio2qk6vfmENsAbNkg== - dependencies: - "@types/body-parser" "~1.19.1" - "@types/detect-port" "~1.3.1" - "@types/express" "~4.17.13" - "@types/http-proxy" "~1.17.7" + version "2.9.11" + resolved "https://registry.yarnpkg.com/mocker-api/-/mocker-api-2.9.11.tgz#4232438377830eba34982ccd7dc6dedb195143b2" + integrity sha512-Zg+Zd8DgoXMITgSHzgMlGmAPK51Ggnqt9ON3eH7qaWLv43nuE/QK50uQ6XtflmWfOkI+PDas3xlF0VopIDLx5w== + dependencies: + "@types/body-parser" "~1.19.2" + "@types/detect-port" "~1.3.2" + "@types/express" "~4.17.14" + "@types/http-proxy" "~1.17.9" "@types/minimist" "~1.2.2" - "@types/node" "~17.0.21" - body-parser "~1.19.0" - chokidar "~3.5.2" + "@types/node" "~18.14.0" + body-parser "~1.20.1" + chokidar "~3.6.0" clear-module "~4.1.2" colors-cli "~1.0.28" - detect-port "~1.3.0" - express "~4.17.2" + detect-port "~1.6.0" + express "~4.19.0" http-proxy "~1.18.1" local-ip-url "~1.0.3" - minimist "~1.2.5" - path-to-regexp "~6.2.0" + minimist "~1.2.7" + path-to-regexp "~6.2.1" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -6715,10 +7958,24 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== natural-compare@^1.4.0: version "1.4.0" @@ -6730,6 +7987,11 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -6743,31 +8005,41 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-exports-info@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/node-exports-info/-/node-exports-info-1.6.0.tgz#1aedafb01a966059c9a5e791a94a94d93f5c2a13" + integrity sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw== + dependencies: + array.prototype.flatmap "^1.3.3" + es-errors "^1.3.0" + object.entries "^1.1.9" + semver "^6.3.1" + node-forge@^1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.3.tgz#0ad80f6333b3a0045e827ac20b7f735f93716751" + integrity sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg== node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== +node-releases@^2.0.27: + version "2.0.36" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.36.tgz#99fd6552aaeda9e17c4713b57a63964a2e325e9d" + integrity sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -6780,13 +8052,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -6802,11 +8067,11 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== + version "2.2.23" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.23.tgz#59712c3a88e6de2bb0b6ccc1070397267019cf6c" + integrity sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ== -object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -6816,94 +8081,104 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== +object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" -object.entries@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.fromentries@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" +object.entries@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-object-atoms "^1.1.1" -object.getownpropertydescriptors@^2.1.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" - integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - array.prototype.reduce "^1.0.4" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" -object.hasown@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" - integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== +object.getownpropertydescriptors@^2.1.0: + version "2.1.9" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.9.tgz#bf9e7520f14d50de88dee2b9c9eca841166322dc" + integrity sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g== + dependencies: + array.prototype.reduce "^1.0.8" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.24.0" + es-object-atoms "^1.1.1" + gopd "^1.2.0" + safe-array-concat "^1.1.3" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - define-properties "^1.1.4" - es-abstract "^1.19.5" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" -object.values@^1.1.0, object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +object.values@^1.1.0, object.values@^1.1.6, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@2.4.1: +on-finished@2.4.1, on-finished@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== +on-headers@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65" + integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== once@^1.3.0: version "1.4.0" @@ -6912,52 +8187,59 @@ once@^1.3.0: dependencies: wrappy "1" -onetime@^5.1.0, onetime@^5.1.2: +onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== dependencies: - mimic-fn "^4.0.0" + mimic-function "^5.0.0" open@^8.0.9, open@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" is-docker "^2.1.1" is-wsl "^2.2.0" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" + word-wrap "^1.2.5" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +os@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/os/-/os-0.1.2.tgz#f29a50c62908516ba42652de42f7038600cadbc2" + integrity sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ== + +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" @@ -6994,13 +8276,6 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-retry@^4.5.0: version "4.6.2" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" @@ -7036,6 +8311,17 @@ parent-module@^2.0.0: dependencies: callsites "^3.1.0" +parse-asn1@^5.0.0, parse-asn1@^5.1.9: + version "5.1.9" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.9.tgz#8dd24c3ea8da77dffbc708d94eaf232fd6156e95" + integrity sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + pbkdf2 "^3.1.5" + safe-buffer "^5.2.1" + parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -7051,7 +8337,7 @@ parse5@6.0.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parseurl@~1.3.2, parseurl@~1.3.3: +parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -7064,6 +8350,11 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -7084,31 +8375,55 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== + dependencies: + path-root-regex "^0.1.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== -path-to-regexp@~6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" - integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== +path-to-regexp@~0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== + +path-to-regexp@~6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" + integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pbkdf2@^3.1.2, pbkdf2@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.5.tgz#444a59d7a259a95536c56e80c89de31cc01ed366" + integrity sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ== + dependencies: + create-hash "^1.2.0" + create-hmac "^1.1.7" + ripemd160 "^2.0.3" + safe-buffer "^5.2.1" + sha.js "^2.4.12" + to-buffer "^1.2.1" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -7119,42 +8434,30 @@ picocolors@^0.2.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pidtree@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== +picomatch@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.4, pirates@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" +pirates@^4.0.1, pirates@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" @@ -7170,6 +8473,11 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + postcss-attribute-case-insensitive@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" @@ -7177,6 +8485,13 @@ postcss-attribute-case-insensitive@^5.0.2: dependencies: postcss-selector-parser "^6.0.10" +postcss-attribute-case-insensitive@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.3.tgz#d118023911a768dfccfc0b0147f5ff06d8485806" + integrity sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ== + dependencies: + postcss-selector-parser "^6.0.13" + postcss-browser-comments@^4: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" @@ -7204,6 +8519,17 @@ postcss-color-functional-notation@^4.2.4: dependencies: postcss-value-parser "^4.2.0" +postcss-color-functional-notation@^6.0.14: + version "6.0.14" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.14.tgz#958d8fc434fafbb15ebc7964053f19d366773078" + integrity sha512-dNUX+UH4dAozZ8uMHZ3CtCNYw8fyFAmqqdcyxMr7PEdM9jLXV19YscoYO0F25KqZYhmtWKQ+4tKrIZQrwzwg7A== + dependencies: + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + postcss-color-hex-alpha@^8.0.4: version "8.0.4" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" @@ -7211,6 +8537,14 @@ postcss-color-hex-alpha@^8.0.4: dependencies: postcss-value-parser "^4.2.0" +postcss-color-hex-alpha@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.4.tgz#f455902fb222453b2eb9699dfa9fc17a9c056f1e" + integrity sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ== + dependencies: + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + postcss-color-rebeccapurple@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" @@ -7218,24 +8552,42 @@ postcss-color-rebeccapurple@^7.1.1: dependencies: postcss-value-parser "^4.2.0" -postcss-colormin@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== +postcss-color-rebeccapurple@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.3.tgz#63e14d9b9ab196e62e3491606a2b77a9531a6825" + integrity sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ== + dependencies: + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" caniuse-api "^3.0.0" colord "^2.9.1" postcss-value-parser "^4.2.0" -postcss-convert-values@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz#31586df4e184c2e8890e8b34a0b9355313f503ab" - integrity sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g== +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== dependencies: - browserslist "^4.20.3" + browserslist "^4.21.4" postcss-value-parser "^4.2.0" +postcss-custom-media@^10.0.8: + version "10.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-10.0.8.tgz#0b84916522eb1e8a4b9e3ecd2bce292844cd7323" + integrity sha512-V1KgPcmvlGdxTel4/CyQtBJEFhMVpEmRGFrnVtgfGIHj5PJX9vO36eFBxKBeJn+aCDTed70cc+98Mz3J/uVdGQ== + dependencies: + "@csstools/cascade-layer-name-parser" "^1.0.13" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/media-query-list-parser" "^2.1.13" + postcss-custom-media@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" @@ -7243,13 +8595,24 @@ postcss-custom-media@^8.0.2: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-properties@^12.1.9: - version "12.1.9" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz#0883429a7ef99f1ba239d1fea29ce84906daa8bd" - integrity sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg== +postcss-custom-properties@^12.1.10: + version "12.1.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" + integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== dependencies: postcss-value-parser "^4.2.0" +postcss-custom-properties@^13.3.12: + version "13.3.12" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-13.3.12.tgz#e21960c7d13aed960b28236412d4da67f75317b0" + integrity sha512-oPn/OVqONB2ZLNqN185LDyaVByELAA/u3l2CS2TS16x2j2XsmV4kd8U49+TMxmUsEU9d8fB/I10E6U7kB0L1BA== + dependencies: + "@csstools/cascade-layer-name-parser" "^1.0.13" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + postcss-custom-selectors@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" @@ -7257,6 +8620,16 @@ postcss-custom-selectors@^6.0.3: dependencies: postcss-selector-parser "^6.0.4" +postcss-custom-selectors@^7.1.12: + version "7.1.12" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-7.1.12.tgz#4d1bac2469003aad3aa3d73481a1b7a45290852b" + integrity sha512-ctIoprBMJwByYMGjXG0F7IT2iMF2hnamQ+aWZETyBM0aAlyaYdVZTeUkk8RB+9h9wP+NdN3f01lfvKl2ZSqC0g== + dependencies: + "@csstools/cascade-layer-name-parser" "^1.0.13" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + postcss-selector-parser "^6.1.0" + postcss-dir-pseudo-class@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" @@ -7264,6 +8637,13 @@ postcss-dir-pseudo-class@^6.0.5: dependencies: postcss-selector-parser "^6.0.10" +postcss-dir-pseudo-class@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz#b93755f52fb90215301b1d3ecb7c5e6416930a1e" + integrity sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw== + dependencies: + postcss-selector-parser "^6.0.13" + postcss-discard-comments@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" @@ -7292,6 +8672,15 @@ postcss-double-position-gradients@^3.1.2: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +postcss-double-position-gradients@^5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.7.tgz#1a4841daf7ac04e94de4672282e8d02d1b3dd274" + integrity sha512-1xEhjV9u1s4l3iP5lRt1zvMjI/ya8492o9l/ivcxHhkO3nOz16moC4JpMxDUGrOs4R3hX+KWT7gKoV842cwRgg== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + postcss-env-function@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" @@ -7311,6 +8700,13 @@ postcss-focus-visible@^6.0.4: dependencies: postcss-selector-parser "^6.0.9" +postcss-focus-visible@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz#eede1032ce86b3bb2556d93ca5df63c68dfc2559" + integrity sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ== + dependencies: + postcss-selector-parser "^6.0.13" + postcss-focus-within@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" @@ -7318,6 +8714,13 @@ postcss-focus-within@^5.0.4: dependencies: postcss-selector-parser "^6.0.9" +postcss-focus-within@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz#524af4c7eabae35cb1efa220a7903016fcc897fa" + integrity sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA== + dependencies: + postcss-selector-parser "^6.0.13" + postcss-font-variant@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" @@ -7328,6 +8731,11 @@ postcss-gap-properties@^3.0.5: resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== +postcss-gap-properties@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz#887b64655f42370b43f0ab266cc6dbabf504d276" + integrity sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw== + postcss-image-set-function@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" @@ -7335,10 +8743,18 @@ postcss-image-set-function@^4.0.7: dependencies: postcss-value-parser "^4.2.0" -postcss-import@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== +postcss-image-set-function@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-6.0.3.tgz#84c5e32cc1085198f2cf4a786028dae8a2632bb2" + integrity sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw== + dependencies: + "@csstools/utilities" "^1.0.0" + postcss-value-parser "^4.2.0" + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" read-cache "^1.0.0" @@ -7349,10 +8765,10 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-js@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" - integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== +postcss-js@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.1.0.tgz#003b63c6edde948766e40f3daf7e997ae43a5ce6" + integrity sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw== dependencies: camelcase-css "^2.0.1" @@ -7364,13 +8780,23 @@ postcss-lab-function@^4.2.1: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-load-config@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" - integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== +postcss-lab-function@^6.0.19: + version "6.0.19" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-6.0.19.tgz#09b04c016bfbacd8576988a73dc19c0fdbeae2c4" + integrity sha512-vwln/mgvFrotJuGV8GFhpAOu9iGf3pvTBr6dLPDmUcqVD5OsQpEFyQMAFTxSxWXGEzBj6ld4pZ/9GDfEpXvo0g== dependencies: - lilconfig "^2.0.5" - yaml "^1.10.2" + "@csstools/css-color-parser" "^2.0.4" + "@csstools/css-parser-algorithms" "^2.7.1" + "@csstools/css-tokenizer" "^2.4.1" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/utilities" "^1.0.0" + +"postcss-load-config@^4.0.2 || ^5.0 || ^6.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-6.0.1.tgz#6fd7dcd8ae89badcf1b2d644489cbabf83aa8096" + integrity sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g== + dependencies: + lilconfig "^3.1.1" postcss-loader@^6.2.1: version "6.2.1" @@ -7381,30 +8807,46 @@ postcss-loader@^6.2.1: klona "^2.0.5" semver "^7.3.5" +postcss-loader@^7.0.0: + version "7.3.4" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" + integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== + dependencies: + cosmiconfig "^8.3.5" + jiti "^1.20.0" + semver "^7.5.4" + postcss-logical@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== +postcss-logical@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-7.0.1.tgz#a3121f6510591b195321b16e65fbe13b1cfd3115" + integrity sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg== + dependencies: + postcss-value-parser "^4.2.0" + postcss-media-minmax@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== -postcss-merge-longhand@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz#f378a8a7e55766b7b644f48e5d8c789ed7ed51ce" - integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw== +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== dependencies: postcss-value-parser "^4.2.0" - stylehacks "^5.1.0" + stylehacks "^5.1.1" -postcss-merge-rules@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz#7049a14d4211045412116d79b751def4484473a5" - integrity sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ== +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" caniuse-api "^3.0.0" cssnano-utils "^3.1.0" postcss-selector-parser "^6.0.5" @@ -7425,12 +8867,12 @@ postcss-minify-gradients@^5.1.1: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" -postcss-minify-params@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz#ac41a6465be2db735099bbd1798d85079a6dc1f9" - integrity sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg== +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" @@ -7441,26 +8883,26 @@ postcss-minify-selectors@^5.2.1: dependencies: postcss-selector-parser "^6.0.5" -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.1.0" -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^7.0.0" postcss-modules-values@^4.0.0: version "4.0.0" @@ -7469,12 +8911,12 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nested@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" - integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== +postcss-nested@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== dependencies: - postcss-selector-parser "^6.0.6" + postcss-selector-parser "^6.1.1" postcss-nesting@^10.2.0: version "10.2.0" @@ -7484,6 +8926,15 @@ postcss-nesting@^10.2.0: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" +postcss-nesting@^12.1.5: + version "12.1.5" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.1.5.tgz#e5e2dc1d63e6166c194da45aa28c04d4024db98f" + integrity sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ== + dependencies: + "@csstools/selector-resolve-nested" "^1.1.0" + "@csstools/selector-specificity" "^3.1.1" + postcss-selector-parser "^6.1.0" + postcss-normalize-charset@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" @@ -7524,12 +8975,12 @@ postcss-normalize-timing-functions@^5.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-unicode@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" - integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" postcss-value-parser "^4.2.0" postcss-normalize-url@^5.1.0: @@ -7557,9 +9008,14 @@ postcss-normalize@^10.0.1: sanitize.css "*" postcss-opacity-percentage@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" - integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== + version "1.1.3" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" + integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== + +postcss-opacity-percentage@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz#c0a56060cd4586e3f954dbde1efffc2deed53002" + integrity sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ== postcss-ordered-values@^5.1.3: version "5.1.3" @@ -7576,6 +9032,13 @@ postcss-overflow-shorthand@^3.0.4: dependencies: postcss-value-parser "^4.2.0" +postcss-overflow-shorthand@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz#c0a124edad4f7ad88109275a60510e1fb07ab833" + integrity sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ== + dependencies: + postcss-value-parser "^4.2.0" + postcss-page-break@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" @@ -7588,12 +9051,19 @@ postcss-place@^7.0.5: dependencies: postcss-value-parser "^4.2.0" +postcss-place@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-9.0.1.tgz#c08c46a94e639c1ee3457ac96d50c50a89bd6ac3" + integrity sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q== + dependencies: + postcss-value-parser "^4.2.0" + postcss-preset-env@^7.0.1: - version "7.8.2" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz#4c834d5cbd2e29df2abf59118947c456922b79ba" - integrity sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz#2a50f5e612c3149cc7af75634e202a5b2ad4f1e2" + integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== dependencies: - "@csstools/postcss-cascade-layers" "^1.1.0" + "@csstools/postcss-cascade-layers" "^1.1.1" "@csstools/postcss-color-function" "^1.1.1" "@csstools/postcss-font-format-keywords" "^1.0.1" "@csstools/postcss-hwb-function" "^1.0.2" @@ -7607,19 +9077,19 @@ postcss-preset-env@^7.0.1: "@csstools/postcss-text-decoration-shorthand" "^1.0.0" "@csstools/postcss-trigonometric-functions" "^1.0.2" "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.11" - browserslist "^4.21.3" + autoprefixer "^10.4.13" + browserslist "^4.21.4" css-blank-pseudo "^3.0.3" css-has-pseudo "^3.0.4" css-prefers-color-scheme "^6.0.3" - cssdb "^7.0.1" + cssdb "^7.1.0" postcss-attribute-case-insensitive "^5.0.2" postcss-clamp "^4.1.0" postcss-color-functional-notation "^4.2.4" postcss-color-hex-alpha "^8.0.4" postcss-color-rebeccapurple "^7.1.1" postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.9" + postcss-custom-properties "^12.1.10" postcss-custom-selectors "^6.0.3" postcss-dir-pseudo-class "^6.0.5" postcss-double-position-gradients "^3.1.2" @@ -7643,6 +9113,73 @@ postcss-preset-env@^7.0.1: postcss-selector-not "^6.0.1" postcss-value-parser "^4.2.0" +postcss-preset-env@^9.0.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-9.6.0.tgz#da5fc8606f95092b2788c3bdf6d4fc053e50075b" + integrity sha512-Lxfk4RYjUdwPCYkc321QMdgtdCP34AeI94z+/8kVmqnTIlD4bMRQeGcMZgwz8BxHrzQiFXYIR5d7k/9JMs2MEA== + dependencies: + "@csstools/postcss-cascade-layers" "^4.0.6" + "@csstools/postcss-color-function" "^3.0.19" + "@csstools/postcss-color-mix-function" "^2.0.19" + "@csstools/postcss-content-alt-text" "^1.0.0" + "@csstools/postcss-exponential-functions" "^1.0.9" + "@csstools/postcss-font-format-keywords" "^3.0.2" + "@csstools/postcss-gamut-mapping" "^1.0.11" + "@csstools/postcss-gradients-interpolation-method" "^4.0.20" + "@csstools/postcss-hwb-function" "^3.0.18" + "@csstools/postcss-ic-unit" "^3.0.7" + "@csstools/postcss-initial" "^1.0.1" + "@csstools/postcss-is-pseudo-class" "^4.0.8" + "@csstools/postcss-light-dark-function" "^1.0.8" + "@csstools/postcss-logical-float-and-clear" "^2.0.1" + "@csstools/postcss-logical-overflow" "^1.0.1" + "@csstools/postcss-logical-overscroll-behavior" "^1.0.1" + "@csstools/postcss-logical-resize" "^2.0.1" + "@csstools/postcss-logical-viewport-units" "^2.0.11" + "@csstools/postcss-media-minmax" "^1.1.8" + "@csstools/postcss-media-queries-aspect-ratio-number-values" "^2.0.11" + "@csstools/postcss-nested-calc" "^3.0.2" + "@csstools/postcss-normalize-display-values" "^3.0.2" + "@csstools/postcss-oklab-function" "^3.0.19" + "@csstools/postcss-progressive-custom-properties" "^3.3.0" + "@csstools/postcss-relative-color-syntax" "^2.0.19" + "@csstools/postcss-scope-pseudo-class" "^3.0.1" + "@csstools/postcss-stepped-value-functions" "^3.0.10" + "@csstools/postcss-text-decoration-shorthand" "^3.0.7" + "@csstools/postcss-trigonometric-functions" "^3.0.10" + "@csstools/postcss-unset-value" "^3.0.1" + autoprefixer "^10.4.19" + browserslist "^4.23.1" + css-blank-pseudo "^6.0.2" + css-has-pseudo "^6.0.5" + css-prefers-color-scheme "^9.0.1" + cssdb "^8.1.0" + postcss-attribute-case-insensitive "^6.0.3" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^6.0.14" + postcss-color-hex-alpha "^9.0.4" + postcss-color-rebeccapurple "^9.0.3" + postcss-custom-media "^10.0.8" + postcss-custom-properties "^13.3.12" + postcss-custom-selectors "^7.1.12" + postcss-dir-pseudo-class "^8.0.1" + postcss-double-position-gradients "^5.0.7" + postcss-focus-visible "^9.0.1" + postcss-focus-within "^8.0.1" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^5.0.1" + postcss-image-set-function "^6.0.3" + postcss-lab-function "^6.0.19" + postcss-logical "^7.0.1" + postcss-nesting "^12.1.5" + postcss-opacity-percentage "^2.0.0" + postcss-overflow-shorthand "^5.0.1" + postcss-page-break "^3.0.4" + postcss-place "^9.0.1" + postcss-pseudo-class-any-link "^9.0.2" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^7.0.2" + postcss-pseudo-class-any-link@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" @@ -7650,12 +9187,19 @@ postcss-pseudo-class-any-link@^7.1.6: dependencies: postcss-selector-parser "^6.0.10" -postcss-reduce-initial@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" - integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== +postcss-pseudo-class-any-link@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.2.tgz#e436a7db1421f8a347fff3f19951a27d4e791987" + integrity sha512-HFSsxIqQ9nA27ahyfH37cRWGk3SYyQLpk0LiWw/UGMV4VKT5YG2ONee4Pz/oFesnK0dn2AjcyequDbIjKJgB0g== + dependencies: + postcss-selector-parser "^6.0.13" + +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" caniuse-api "^3.0.0" postcss-reduce-transforms@^5.1.0: @@ -7677,10 +9221,25 @@ postcss-selector-not@^6.0.1: dependencies: postcss-selector-parser "^6.0.10" -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: - version "6.0.10" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" - integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== +postcss-selector-not@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-7.0.2.tgz#f9184c7770be5dcb4abd7efa3610a15fbd2f0b31" + integrity sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA== + dependencies: + postcss-selector-parser "^6.0.13" + +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.13, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.0, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz#e75d2e0d843f620e5df69076166f4e16f891cb9f" + integrity sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -7713,25 +9272,20 @@ postcss@^7.0.35: picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.4, postcss@^8.4.7: - version "8.4.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" - integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== +postcss@^8.3.5, postcss@^8.4.33, postcss@^8.4.4, postcss@^8.4.47: + version "8.5.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.8.tgz#6230ecc8fb02e7a0f6982e53990937857e13f399" + integrity sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg== dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -7745,6 +9299,15 @@ pretty-error@^4.0.0: lodash "^4.17.20" renderkid "^3.0.0" +pretty-format@30.3.0, pretty-format@^30.0.0: + version "30.3.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-30.3.0.tgz#e977eed4bcd1b6195faed418af8eac68b9ea1f29" + integrity sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ== + dependencies: + "@jest/schemas" "30.0.5" + ansi-styles "^5.2.0" + react-is "^18.3.1" + pretty-format@^27.0.2, pretty-format@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" @@ -7764,24 +9327,20 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-format@^29.0.0, pretty-format@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.2.0.tgz#1d4ea56fb46079b44efd9ed59c14f70f2950a61b" - integrity sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + promise@^8.1.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.2.0.tgz#a1f6280ab67457fbfc8aad2b198c9497e9e5c806" - integrity sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg== + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== dependencies: asap "~2.0.6" @@ -7811,14 +9370,28 @@ proxy-addr@~2.0.7: ipaddr.js "1.9.1" psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +public-encrypt@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== q@^1.1.2: version "1.5.1" @@ -7832,10 +9405,12 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== +qs@~6.14.0: + version "6.14.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c" + integrity sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== + dependencies: + side-channel "^1.1.0" querystringify@^2.1.1: version "2.2.0" @@ -7847,11 +9422,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" @@ -7859,42 +9429,50 @@ raf@^3.4.1: dependencies: performance-now "^2.1.0" -ramda@^0.28.0: - version "0.28.0" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.28.0.tgz#acd785690100337e8b063cab3470019be427cc97" - integrity sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA== +ramda@^0.32.0: + version "0.32.0" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.32.0.tgz#b2116807b59b6b177af7a2ad19b14a3653570e96" + integrity sha512-GQWAHhxhxWBWA8oIBr1XahFVjQ9Fic6MK9ikijfd4TZHfE2+urfk+irVlR5VOn48uwMgM+loRRBJd6Yjsbc0zQ== -randombytes@^2.1.0: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" +randomfill@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" - http-errors "1.8.1" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +raw-body@~2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.3.tgz#11c6650ee770a7de1b494f197927de0c923822e2" + integrity sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA== dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" + bytes "~3.1.2" + http-errors "~2.0.1" + iconv-lite "~0.4.24" + unpipe "~1.0.0" react-app-polyfill@^3.0.0: version "3.0.0" @@ -7939,9 +9517,9 @@ react-dev-utils@^12.0.1: text-table "^0.2.0" react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.1.0.tgz#22b86256beb1c5856f08a9a228adb8121dd985f2" + integrity sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ== react-is@^16.13.1: version "16.13.1" @@ -7953,17 +9531,17 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^18.0.0, react-is@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== react-refresh@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== -react-scripts@~5.0.0: +react-scripts@>=2.1.3: version "5.0.1" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== @@ -8025,10 +9603,10 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -readable-stream@^2.0.1: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== +readable-stream@^2.0.1, readable-stream@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -8038,15 +9616,20 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== +readable-stream@^3.0.6, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -8055,11 +9638,11 @@ readdirp@~3.6.0: picomatch "^2.2.1" recursive-readdir@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== dependencies: - minimatch "3.0.4" + minimatch "^3.0.5" redent@^3.0.0: version "3.0.0" @@ -8069,10 +9652,24 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + +regenerate-unicode-properties@^10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz#aa113812ba899b630658c7623466be71e1f86f66" + integrity sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g== dependencies: regenerate "^1.4.2" @@ -8081,60 +9678,51 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9: - version "0.13.10" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" - integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== - -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== - dependencies: - "@babel/runtime" "^7.8.4" +regenerator-runtime@^0.13.9: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regex-parser@^2.2.11: - version "2.2.11" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" - integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== - -regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" - integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== + version "2.3.1" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.1.tgz#ee3f70e50bdd81a221d505242cb9a9c275a2ad91" + integrity sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ== + +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + +regexpu-core@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.4.0.tgz#3580ce0c4faedef599eccb146612436b62a176e5" + integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.2" + regjsgen "^0.8.0" + regjsparser "^0.13.0" unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.2.1" -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsparser@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.0.tgz#01f8351335cf7898d43686bc74d2dd71c847ecc0" + integrity sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q== dependencies: - jsesc "~0.5.0" + jsesc "~3.1.0" relateurl@^0.2.7: version "0.2.7" @@ -8184,6 +9772,13 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-package-path@~4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/resolve-package-path/-/resolve-package-path-4.0.3.tgz#31dab6897236ea6613c72b83658d88898a9040aa" + integrity sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA== + dependencies: + path-root "^0.1.1" + resolve-url-loader@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" @@ -8196,35 +9791,38 @@ resolve-url-loader@^4.0.0: source-map "0.6.1" resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + version "1.1.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== -resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.1.7, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.11, resolve@^1.22.4, resolve@^1.22.8: + version "1.22.11" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" + integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.16.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.3: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== +resolve@^2.0.0-next.5: + version "2.0.0-next.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.6.tgz#b3961812be69ace7b3bc35d5bf259434681294af" + integrity sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA== dependencies: - is-core-module "^2.9.0" + es-errors "^1.3.0" + is-core-module "^2.16.1" + node-exports-info "^1.6.0" + object-keys "^1.1.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + onetime "^7.0.0" + signal-exit "^4.1.0" retry@^0.13.1: version "0.13.1" @@ -8232,14 +9830,14 @@ retry@^0.13.1: integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== +rfdc@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -8248,6 +9846,14 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.3.tgz#9be54e4ba5e3559c8eee06a25cd7648bbccdf5a8" + integrity sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA== + dependencies: + hash-base "^3.1.2" + inherits "^2.0.4" + rollup-plugin-terser@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" @@ -8259,9 +9865,9 @@ rollup-plugin-terser@^7.0.0: terser "^5.0.0" rollup@^2.43.1: - version "2.79.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + version "2.80.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.80.0.tgz#a82efc15b748e986a7c76f0f771221b1fa108a2c" + integrity sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ== optionalDependencies: fsevents "~2.3.2" @@ -8272,31 +9878,43 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.5.5: - version "7.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - tslib "^2.1.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + isarray "^2.0.5" -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-push-apply@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.0.3, safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" @@ -8317,13 +9935,20 @@ sass-loader@^12.3.0: neo-async "^2.6.2" sass@^1.45.1: - version "1.55.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" - integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== + version "1.98.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.98.0.tgz#924ce85a3745ccaccd976262fdc1bc0c13aa8e57" + integrity sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A== dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" + chokidar "^4.0.0" + immutable "^5.1.5" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" + +sax@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.6.0.tgz#da59637629307b97e7c4cb28e080a7bc38560d5b" + integrity sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA== sax@~1.2.4: version "1.2.4" @@ -8355,24 +9980,24 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +schema-utils@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== +schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.3.tgz#5b1850912fa31df90716963d45d9121fdfc09f46" + integrity sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA== dependencies: "@types/json-schema" "^7.0.9" - ajv "^8.8.0" + ajv "^8.9.0" ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" + ajv-keywords "^5.1.0" select-hose@^2.0.0: version "2.0.0" @@ -8380,66 +10005,67 @@ select-hose@^2.0.0: integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: + "@types/node-forge" "^1.3.0" node-forge "^1" -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: + version "7.7.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" + integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@~7.3.5: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@~7.5.0: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "1.8.1" + http-errors "2.0.0" mime "1.6.0" ms "2.1.3" - on-finished "~2.3.0" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@~0.19.0, send@~0.19.1: + version "0.19.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.2.tgz#59bc0da1b4ea7ad42736fd642b1c4294e114ff29" + integrity sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg== dependencies: debug "2.6.9" depd "2.0.0" destroy "1.2.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" + fresh "~0.5.2" + http-errors "~2.0.1" mime "1.6.0" ms "2.1.3" - on-finished "2.4.1" + on-finished "~2.4.1" range-parser "~1.2.1" - statuses "2.0.1" + statuses "~2.0.2" serialize-javascript@^4.0.0: version "4.0.0" @@ -8449,34 +10075,24 @@ serialize-javascript@^4.0.0: randombytes "^2.1.0" serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + version "1.9.2" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.2.tgz#2988e3612106d78a5e4849ddff552ce7bd3d9bcb" + integrity sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ== dependencies: - accepts "~1.3.4" + accepts "~1.3.8" batch "0.6.1" debug "2.6.9" escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" + http-errors "~1.8.0" + mime-types "~2.1.35" parseurl "~1.3.3" - send "0.17.2" serve-static@1.15.0: version "1.15.0" @@ -8488,22 +10104,60 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== +serve-static@~1.16.2: + version "1.16.3" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.3.tgz#a97b74d955778583f3862a4f0b841eb4d5d78cf9" + integrity sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "~0.19.1" + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" -setprototypeof@1.2.0: +setprototypeof@1.2.0, setprototypeof@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== +sha.js@^2.4.0, sha.js@^2.4.12, sha.js@^2.4.8: + version "2.4.12" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.12.tgz#eb8b568bf383dfd1867a32c3f2b74eb52bdbf23f" + integrity sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w== dependencies: - kind-of "^6.0.2" + inherits "^2.0.4" + safe-buffer "^5.2.1" + to-buffer "^1.2.0" shebang-command@^2.0.0: version "2.0.0" @@ -8517,25 +10171,61 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.3: - version "1.7.4" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.4.tgz#33fe15dee71ab2a81fcbd3a52106c5cfb9fb75d8" - integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw== +shell-quote@^1.7.3, shell-quote@^1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b" + integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.4, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -8551,31 +10241,21 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== +slice-ansi@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.2.tgz#adf7be70aa6d72162d907cd0e6d5c11f507b5403" + integrity sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w== dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== +slice-ansi@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-8.0.0.tgz#22d0b66d18bc5c57f488bfcf36cbde3bef731537" + integrity sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg== dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" + ansi-styles "^6.2.3" + is-fullwidth-code-point "^5.1.0" sockjs@^0.3.24: version "0.3.24" @@ -8591,21 +10271,21 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-loader@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" - integrity sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" + integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== dependencies: abab "^2.0.5" iconv-lite "^0.6.3" source-map-js "^1.0.1" -source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.20: +source-map-support@^0.5.6, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -8619,9 +10299,9 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + version "0.7.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02" + integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== source-map@^0.8.0-beta.0: version "0.8.0-beta.0" @@ -8668,10 +10348,10 @@ stable@^0.1.8: resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== +stack-utils@^2.0.3, stack-utils@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" @@ -8680,20 +10360,58 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== +static-eval@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.1.1.tgz#71ac6a13aa32b9e14c5b5f063c362176b0d584ba" + integrity sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA== + dependencies: + escodegen "^2.1.0" + statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.5.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +statuses@~2.0.1, statuses@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" + integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== + +stop-iteration-iterator@^1.0.0, stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== + dependencies: + es-errors "^1.3.0" + internal-slot "^1.1.0" + +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +string-argv@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-length@^4.0.1: version "4.0.2" @@ -8725,46 +10443,90 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== +string-width@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" -string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" - integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== +string-width@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.2.0.tgz#bdb6a9bd6d7800db635adae96cdb0443fec56c42" + integrity sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.1" - side-channel "^1.0.4" + get-east-asian-width "^1.5.0" + strip-ansi "^7.1.2" -string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== +string.prototype.includes@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + +string.prototype.matchall@^4.0.12, string.prototype.matchall@^4.0.6: + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-abstract "^1.23.6" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" + set-function-name "^2.0.2" + side-channel "^1.1.0" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" + +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" string_decoder@^1.1.1: version "1.3.0" @@ -8796,12 +10558,12 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== +strip-ansi@^7.0.1, strip-ansi@^7.1.0, strip-ansi@^7.1.2: + version "7.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== dependencies: - ansi-regex "^6.0.1" + ansi-regex "^6.2.2" strip-bom@^3.0.0: version "3.0.0" @@ -8823,11 +10585,6 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -8835,24 +10592,37 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-loader@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" - integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + version "3.3.4" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" + integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== -stylehacks@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" - integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" postcss-selector-parser "^6.0.4" +sucrase@^3.32.0, sucrase@^3.35.0: + version "3.35.1" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.1.tgz#4619ea50393fe8bd0ae5071c26abd9b2e346bfe1" + integrity sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + tinyglobby "^0.2.11" + ts-interface-checker "^0.1.9" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -8912,16 +10682,16 @@ svgo@^1.2.2: util.promisify "~1.0.0" svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + version "2.8.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.2.tgz#8e99b7ba5ac9ed7e3a446063865f61e03223fe6b" + integrity sha512-TyzE4NVGLUFy+H/Uy4N6c3G0HEeprsVfge6Lmq+0FdQQ/zqoVYB62IsBZORsiL+o96s6ff/V6/3UQo/C0cgCAA== dependencies: - "@trysound/sax" "0.2.0" commander "^7.2.0" css-select "^4.1.3" css-tree "^1.1.3" csso "^4.2.0" picocolors "^1.0.0" + sax "^1.5.0" stable "^0.1.8" symbol-tree@^3.2.4: @@ -8930,42 +10700,42 @@ symbol-tree@^3.2.4: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== tailwindcss@^3.0.2: - version "3.1.8" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741" - integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g== + version "3.4.19" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.19.tgz#af2a0a4ae302d52ebe078b6775e799e132500ee2" + integrity sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ== dependencies: + "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" - chokidar "^3.5.3" - color-name "^1.1.4" - detective "^5.2.1" + chokidar "^3.6.0" didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.2.11" + fast-glob "^3.3.2" glob-parent "^6.0.2" is-glob "^4.0.3" - lilconfig "^2.0.6" + jiti "^1.21.7" + lilconfig "^3.1.3" + micromatch "^4.0.8" normalize-path "^3.0.0" object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.14" - postcss-import "^14.1.0" - postcss-js "^4.0.0" - postcss-load-config "^3.1.4" - postcss-nested "5.0.6" - postcss-selector-parser "^6.0.10" - postcss-value-parser "^4.2.0" - quick-lru "^5.1.1" - resolve "^1.22.1" + picocolors "^1.1.1" + postcss "^8.4.47" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.2 || ^5.0 || ^6.0" + postcss-nested "^6.2.0" + postcss-selector-parser "^6.1.2" + resolve "^1.22.8" + sucrase "^3.35.0" tapable@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tapable@^2.0.0, tapable@^2.2.1, tapable@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" + integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== temp-dir@^2.0.0: version "2.0.0" @@ -8990,24 +10760,23 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5: - version "5.3.6" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== +terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.17, terser-webpack-plugin@^5.3.9: + version "5.4.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz#95fc4cf4437e587be11ecf37d08636089174d76b" + integrity sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g== dependencies: - "@jridgewell/trace-mapping" "^0.3.14" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" + schema-utils "^4.3.0" + terser "^5.31.1" -terser@^5.0.0, terser@^5.10.0, terser@^5.14.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" - integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== +terser@^5.0.0, terser@^5.10.0, terser@^5.31.1: + version "5.46.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.46.1.tgz#40e4b1e35d5f13130f82793a8b3eeb7ec3a92eee" + integrity sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.15.0" commander "^2.20.0" source-map-support "~0.5.20" @@ -9025,30 +10794,56 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -throat@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +throat@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" + integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== +tinyexec@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.4.tgz#6c60864fe1d01331b2f17c6890f535d7e5385408" + integrity sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw== + +tinyglobby@^0.2.11: + version "0.2.15" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.3" + tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== +to-buffer@^1.2.0, to-buffer@^1.2.1, to-buffer@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.2.2.tgz#ffe59ef7522ada0a2d1cb5dfe03bb8abc3cdc133" + integrity sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw== + dependencies: + isarray "^2.0.5" + safe-buffer "^5.2.1" + typed-array-buffer "^1.0.3" to-regex-range@^5.0.1: version "5.0.1" @@ -9057,15 +10852,22 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -toidentifier@1.0.1: +toidentifier@1.0.1, toidentifier@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +toml-eslint-parser@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/toml-eslint-parser/-/toml-eslint-parser-0.10.1.tgz#7146a6587818f11aef88eb58dfcce451d132be53" + integrity sha512-9mjy3frhioGIVGcwamlVlUyJ9x+WHw/TXiz9R4YOlmsIuBN43r9Dp8HZ35SF9EKjHrn3BUZj04CF+YqZ2oJ+7w== + dependencies: + eslint-visitor-keys "^3.0.0" + tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" punycode "^2.1.1" @@ -9091,37 +10893,23 @@ tryer@^1.0.1: resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== -ts-node@~10.8.0: - version "10.8.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.2.tgz#3185b75228cef116bf82ffe8762594f54b2a23f2" - integrity sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-toolbelt@^6.15.1: - version "6.15.5" - resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz#cb3b43ed725cb63644782c64fbcad7d8f28c0a83" - integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A== - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +ts-toolbelt@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz#50a25426cfed500d4a09bd1b3afb6f28879edfd5" + integrity sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w== + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" + json5 "^1.0.2" minimist "^1.2.6" strip-bom "^3.0.0" @@ -9130,10 +10918,10 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^2.0.3: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsutils@^3.21.0: version "3.21.0" @@ -9154,13 +10942,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -9189,6 +10970,51 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== + dependencies: + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" + +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" + +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -9196,25 +11022,47 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@~4.7.0: - version "4.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== +types-ramda@^0.31.0: + version "0.31.0" + resolved "https://registry.yarnpkg.com/types-ramda/-/types-ramda-0.31.0.tgz#7cb72d1133107679855aab1e57a0cbffff3ea8b1" + integrity sha512-vaoC35CRC3xvL8Z6HkshDbi6KWM1ezK0LHN0YyxXWUn9HKzBNg/T3xSGlJZjCYspnOD3jE7bcizsp0bUXZDxnQ== + dependencies: + ts-toolbelt "^9.6.0" + +typescript@^5.1.3: + version "5.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" + integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" + +underscore@1.13.6: + version "1.13.6" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== + +undici-types@~7.18.0: + version "7.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" + integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== + +undici@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.24.1.tgz#9df1425cede20b836d95634347946f79578b7e71" + integrity sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" @@ -9224,15 +11072,15 @@ unicode-match-property-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +unicode-match-property-value-ecmascript@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz#65a7adfad8574c219890e219285ce4c64ed67eaa" + integrity sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg== unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz#301d4f8a43d2b75c97adfad87c9dd5350c9475d1" + integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== unique-string@^2.0.0: version "2.0.0" @@ -9247,9 +11095,9 @@ universalify@^0.2.0: integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" @@ -9266,13 +11114,13 @@ upath@^1.2.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d" + integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.2.0" + picocolors "^1.1.1" uri-js@^4.2.2: version "4.4.1" @@ -9304,6 +11152,17 @@ util.promisify@~1.0.0: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.0" +util@^0.12.5: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -9319,11 +11178,6 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - v8-to-istanbul@^8.1.0: version "8.1.1" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" @@ -9359,10 +11213,10 @@ walker@^1.0.7: dependencies: makeerror "1.0.12" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.1.tgz#dd38b601f669e0cbf567cb802e75cead82cde102" + integrity sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -9389,10 +11243,10 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== +webpack-dev-middleware@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" + integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== dependencies: colorette "^2.0.10" memfs "^3.4.3" @@ -9401,9 +11255,9 @@ webpack-dev-middleware@^5.3.1: schema-utils "^4.0.0" webpack-dev-server@^4.6.0: - version "4.11.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" - integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== + version "4.15.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" + integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -9411,7 +11265,7 @@ webpack-dev-server@^4.6.0: "@types/serve-index" "^1.9.1" "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" + "@types/ws" "^8.5.5" ansi-html-community "^0.0.8" bonjour-service "^1.0.11" chokidar "^3.5.3" @@ -9424,6 +11278,7 @@ webpack-dev-server@^4.6.0: html-entities "^2.3.2" http-proxy-middleware "^2.0.3" ipaddr.js "^2.0.1" + launch-editor "^2.6.0" open "^8.0.9" p-retry "^4.5.0" rimraf "^3.0.2" @@ -9432,8 +11287,8 @@ webpack-dev-server@^4.6.0: serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" + webpack-dev-middleware "^5.3.4" + ws "^8.13.0" webpack-manifest-plugin@^4.0.2: version "4.1.1" @@ -9459,40 +11314,41 @@ webpack-sources@^2.2.0: source-list-map "^2.0.1" source-map "^0.6.1" -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== +webpack-sources@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.4.tgz#a338b95eb484ecc75fbb196cbe8a2890618b4891" + integrity sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q== webpack@^5.64.4, webpack@^5.65.0: - version "5.74.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" + version "5.105.4" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.105.4.tgz#1b77fcd55a985ac7ca9de80a746caffa38220169" + integrity sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.8" + "@types/json-schema" "^7.0.15" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.16.0" + acorn-import-phases "^1.0.3" + browserslist "^4.28.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.20.0" + es-module-lexer "^2.0.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" + loader-runner "^4.3.1" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" + schema-utils "^4.3.3" + tapable "^2.3.0" + terser-webpack-plugin "^5.3.17" + watchpack "^2.5.1" + webpack-sources "^3.3.4" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -9516,9 +11372,9 @@ whatwg-encoding@^1.0.5: iconv-lite "0.4.24" whatwg-fetch@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + version "3.6.20" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" + integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== whatwg-mimetype@^2.3.0: version "2.3.0" @@ -9543,16 +11399,58 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: tr46 "^2.1.0" webidl-conversions "^6.1.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +which-boxed-primitive@^1.0.2, which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.1, which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.13, which-typed-array@^1.1.16, which-typed-array@^1.1.19, which-typed-array@^1.1.2: + version "1.1.20" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.20.tgz#3fdb7adfafe0ea69157b1509f3a1cd892bd1d122" + integrity sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" which@^1.3.1: version "1.3.1" @@ -9568,30 +11466,30 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -workbox-background-sync@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz#3141afba3cc8aa2ae14c24d0f6811374ba8ff6a9" - integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g== +workbox-background-sync@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz#08d603a33717ce663e718c30cc336f74909aff2f" + integrity sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg== dependencies: idb "^7.0.1" - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-broadcast-update@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz#8441cff5417cd41f384ba7633ca960a7ffe40f66" - integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw== +workbox-broadcast-update@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz#0fad9454cf8e4ace0c293e5617c64c75d8a8c61e" + integrity sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ== dependencies: - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-build@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.5.4.tgz#7d06d31eb28a878817e1c991c05c5b93409f0389" - integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA== +workbox-build@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.6.1.tgz#6010e9ce550910156761448f2dbea8cfcf759cb0" + integrity sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw== dependencies: "@apideck/better-ajv-errors" "^0.3.1" "@babel/core" "^7.11.1" @@ -9615,141 +11513,132 @@ workbox-build@6.5.4: strip-comments "^2.0.1" tempy "^0.6.0" upath "^1.2.0" - workbox-background-sync "6.5.4" - workbox-broadcast-update "6.5.4" - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-google-analytics "6.5.4" - workbox-navigation-preload "6.5.4" - workbox-precaching "6.5.4" - workbox-range-requests "6.5.4" - workbox-recipes "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - workbox-streams "6.5.4" - workbox-sw "6.5.4" - workbox-window "6.5.4" - -workbox-cacheable-response@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz#a5c6ec0c6e2b6f037379198d4ef07d098f7cf137" - integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug== - dependencies: - workbox-core "6.5.4" - -workbox-core@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.5.4.tgz#df48bf44cd58bb1d1726c49b883fb1dffa24c9ba" - integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q== - -workbox-expiration@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz#501056f81e87e1d296c76570bb483ce5e29b4539" - integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ== + workbox-background-sync "6.6.1" + workbox-broadcast-update "6.6.1" + workbox-cacheable-response "6.6.1" + workbox-core "6.6.1" + workbox-expiration "6.6.1" + workbox-google-analytics "6.6.1" + workbox-navigation-preload "6.6.1" + workbox-precaching "6.6.1" + workbox-range-requests "6.6.1" + workbox-recipes "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + workbox-streams "6.6.1" + workbox-sw "6.6.1" + workbox-window "6.6.1" + +workbox-cacheable-response@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz#284c2b86be3f4fd191970ace8c8e99797bcf58e9" + integrity sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag== + dependencies: + workbox-core "6.6.1" + +workbox-core@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.6.1.tgz#7184776d4134c5ed2f086878c882728fc9084265" + integrity sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw== + +workbox-expiration@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.6.1.tgz#a841fa36676104426dbfb9da1ef6a630b4f93739" + integrity sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A== dependencies: idb "^7.0.1" - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-google-analytics@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz#c74327f80dfa4c1954cbba93cd7ea640fe7ece7d" - integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg== +workbox-google-analytics@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz#a07a6655ab33d89d1b0b0a935ffa5dea88618c5d" + integrity sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA== dependencies: - workbox-background-sync "6.5.4" - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" + workbox-background-sync "6.6.1" + workbox-core "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" -workbox-navigation-preload@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz#ede56dd5f6fc9e860a7e45b2c1a8f87c1c793212" - integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng== +workbox-navigation-preload@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz#61a34fe125558dd88cf09237f11bd966504ea059" + integrity sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA== dependencies: - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-precaching@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz#740e3561df92c6726ab5f7471e6aac89582cab72" - integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg== +workbox-precaching@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.6.1.tgz#dedeeba10a2d163d990bf99f1c2066ac0d1a19e2" + integrity sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A== dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" + workbox-core "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" -workbox-range-requests@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz#86b3d482e090433dab38d36ae031b2bb0bd74399" - integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg== +workbox-range-requests@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz#ddaf7e73af11d362fbb2f136a9063a4c7f507a39" + integrity sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g== dependencies: - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-recipes@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz#cca809ee63b98b158b2702dcfb741b5cc3e24acb" - integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA== +workbox-recipes@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.6.1.tgz#ea70d2b2b0b0bce8de0a9d94f274d4a688e69fae" + integrity sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g== dependencies: - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-precaching "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" + workbox-cacheable-response "6.6.1" + workbox-core "6.6.1" + workbox-expiration "6.6.1" + workbox-precaching "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" -workbox-routing@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.5.4.tgz#6a7fbbd23f4ac801038d9a0298bc907ee26fe3da" - integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg== +workbox-routing@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.6.1.tgz#cba9a1c7e0d1ea11e24b6f8c518840efdc94f581" + integrity sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg== dependencies: - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-strategies@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz#4edda035b3c010fc7f6152918370699334cd204d" - integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw== +workbox-strategies@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.6.1.tgz#38d0f0fbdddba97bd92e0c6418d0b1a2ccd5b8bf" + integrity sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw== dependencies: - workbox-core "6.5.4" + workbox-core "6.6.1" -workbox-streams@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.5.4.tgz#1cb3c168a6101df7b5269d0353c19e36668d7d69" - integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg== +workbox-streams@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.6.1.tgz#b2f7ba7b315c27a6e3a96a476593f99c5d227d26" + integrity sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q== dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" + workbox-core "6.6.1" + workbox-routing "6.6.1" -workbox-sw@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.5.4.tgz#d93e9c67924dd153a61367a4656ff4d2ae2ed736" - integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA== +workbox-sw@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.6.1.tgz#d4c4ca3125088e8b9fd7a748ed537fa0247bd72c" + integrity sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ== workbox-webpack-plugin@^6.4.1: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz#baf2d3f4b8f435f3469887cf4fba2b7fac3d0fd7" - integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg== + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.1.tgz#4f81cc1ad4e5d2cd7477a86ba83c84ee2d187531" + integrity sha512-zpZ+ExFj9NmiI66cFEApyjk7hGsfJ1YMOaLXGXBoZf0v7Iu6hL0ZBe+83mnDq3YYWAfA3fnyFejritjOHkFcrA== dependencies: fast-json-stable-stringify "^2.1.0" pretty-bytes "^5.4.1" upath "^1.2.0" webpack-sources "^1.4.3" - workbox-build "6.5.4" + workbox-build "6.6.1" -workbox-window@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.5.4.tgz#d991bc0a94dff3c2dbb6b84558cff155ca878e91" - integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug== +workbox-window@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.6.1.tgz#f22a394cbac36240d0dadcbdebc35f711bb7b89e" + integrity sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ== dependencies: "@types/trusted-types" "^2.0.2" - workbox-core "6.5.4" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + workbox-core "6.6.1" wrap-ansi@^7.0.0: version "7.0.0" @@ -9760,6 +11649,15 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz#956832dea9494306e6d209eb871643bb873d7c98" + integrity sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -9776,14 +11674,14 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -ws@^8.4.2: - version "8.9.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" - integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== +ws@^8.13.0: + version "8.19.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" + integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== xml-name-validator@^3.0.0: version "3.0.0" @@ -9805,20 +11703,33 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml-eslint-parser@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/yaml-eslint-parser/-/yaml-eslint-parser-1.3.2.tgz#f62010fe8293d39930422d70e46f23b075bd13b5" + integrity sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg== + dependencies: + eslint-visitor-keys "^3.0.0" + yaml "^2.0.0" + yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207" - integrity sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg== +yaml@^2.0.0, yaml@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.2.tgz#5694f25eca0ce9c3e7a9d9e00ce0ddabbd9e35c5" + integrity sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A== yargs-parser@^20.2.2: version "20.2.9" @@ -9838,11 +11749,6 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"